From acb39ae6d932066b27e94585cd83d85dbcef92bf Mon Sep 17 00:00:00 2001 From: Ruei-Ting Chien Date: Sun, 23 Feb 2020 02:22:43 -0500 Subject: [PATCH] Add up-to-date rv32ui unit test and dump files --- simX/instruction.cpp | 166 ++++---- simX/riscv_tests/rv32ui-p-add.dump | 504 ++++++++++++++++++++++ simX/riscv_tests/rv32ui-p-add.hex | 190 +++++---- simX/riscv_tests/rv32ui-p-addi.dump | 308 ++++++++++++++ simX/riscv_tests/rv32ui-p-addi.hex | 114 ++--- simX/riscv_tests/rv32ui-p-and.dump | 460 ++++++++++++++++++++ simX/riscv_tests/rv32ui-p-and.hex | 186 ++++---- simX/riscv_tests/rv32ui-p-andi.dump | 240 +++++++++++ simX/riscv_tests/rv32ui-p-andi.hex | 90 ++-- simX/riscv_tests/rv32ui-p-auipc.dump | 149 +++++++ simX/riscv_tests/rv32ui-p-auipc.hex | 44 +- simX/riscv_tests/rv32ui-p-beq.dump | 318 ++++++++++++++ simX/riscv_tests/rv32ui-p-beq.hex | 122 +++--- simX/riscv_tests/rv32ui-p-bge.dump | 364 ++++++++++++++++ simX/riscv_tests/rv32ui-p-bge.hex | 134 +++--- simX/riscv_tests/rv32ui-p-bgeu.dump | 383 +++++++++++++++++ simX/riscv_tests/rv32ui-p-bgeu.hex | 140 +++--- simX/riscv_tests/rv32ui-p-blt.dump | 318 ++++++++++++++ simX/riscv_tests/rv32ui-p-blt.hex | 122 +++--- simX/riscv_tests/rv32ui-p-bltu.dump | 337 +++++++++++++++ simX/riscv_tests/rv32ui-p-bltu.hex | 128 +++--- simX/riscv_tests/rv32ui-p-bne.dump | 317 ++++++++++++++ simX/riscv_tests/rv32ui-p-bne.hex | 122 +++--- simX/riscv_tests/rv32ui-p-fence_i.dump | 179 ++++++++ simX/riscv_tests/rv32ui-p-fence_i.hex | 63 +-- simX/riscv_tests/rv32ui-p-jal.dump | 153 +++++++ simX/riscv_tests/rv32ui-p-jal.hex | 46 +- simX/riscv_tests/rv32ui-p-jalr.dump | 191 +++++++++ simX/riscv_tests/rv32ui-p-jalr.hex | 62 +-- simX/riscv_tests/rv32ui-p-lb.dump | 331 +++++++++++++++ simX/riscv_tests/rv32ui-p-lb.hex | 110 ++--- simX/riscv_tests/rv32ui-p-lbu.dump | 331 +++++++++++++++ simX/riscv_tests/rv32ui-p-lbu.hex | 110 ++--- simX/riscv_tests/rv32ui-p-lh.dump | 320 ++++++++++++++ simX/riscv_tests/rv32ui-p-lh.hex | 114 ++--- simX/riscv_tests/rv32ui-p-lhu.dump | 315 ++++++++++++++ simX/riscv_tests/rv32ui-p-lhu.hex | 114 ++--- simX/riscv_tests/rv32ui-p-lui.dump | 152 +++++++ simX/riscv_tests/rv32ui-p-lui.hex | 46 +- simX/riscv_tests/rv32ui-p-lw.dump | 344 +++++++++++++++ simX/riscv_tests/rv32ui-p-lw.hex | 118 +++--- simX/riscv_tests/rv32ui-p-or.dump | 457 ++++++++++++++++++++ simX/riscv_tests/rv32ui-p-or.hex | 186 ++++---- simX/riscv_tests/rv32ui-p-ori.dump | 265 ++++++++++++ simX/riscv_tests/rv32ui-p-ori.hex | 94 +++-- simX/riscv_tests/rv32ui-p-sb.dump | 440 +++++++++++++++++++ simX/riscv_tests/rv32ui-p-sb.hex | 162 +++---- simX/riscv_tests/rv32ui-p-sh.dump | 473 +++++++++++++++++++++ simX/riscv_tests/rv32ui-p-sh.hex | 178 ++++---- simX/riscv_tests/rv32ui-p-simple.dump | 105 +++++ simX/riscv_tests/rv32ui-p-simple.hex | 34 +- simX/riscv_tests/rv32ui-p-sll.dump | 548 ++++++++++++++++++++++++ simX/riscv_tests/rv32ui-p-sll.hex | 206 ++++----- simX/riscv_tests/rv32ui-p-slli.dump | 309 ++++++++++++++ simX/riscv_tests/rv32ui-p-slli.hex | 114 ++--- simX/riscv_tests/rv32ui-p-slt.dump | 478 +++++++++++++++++++++ simX/riscv_tests/rv32ui-p-slt.hex | 186 ++++---- simX/riscv_tests/rv32ui-p-slti.dump | 313 ++++++++++++++ simX/riscv_tests/rv32ui-p-slti.hex | 114 ++--- simX/riscv_tests/rv32ui-p-sltiu.dump | 313 ++++++++++++++ simX/riscv_tests/rv32ui-p-sltiu.hex | 114 ++--- simX/riscv_tests/rv32ui-p-sltu.dump | 478 +++++++++++++++++++++ simX/riscv_tests/rv32ui-p-sltu.hex | 186 ++++---- simX/riscv_tests/rv32ui-p-sra.dump | 563 +++++++++++++++++++++++++ simX/riscv_tests/rv32ui-p-sra.hex | 214 +++++----- simX/riscv_tests/rv32ui-p-srai.dump | 328 ++++++++++++++ simX/riscv_tests/rv32ui-p-srai.hex | 122 +++--- simX/riscv_tests/rv32ui-p-srl.dump | 537 +++++++++++++++++++++++ simX/riscv_tests/rv32ui-p-srl.hex | 210 ++++----- simX/riscv_tests/rv32ui-p-srli.dump | 334 +++++++++++++++ simX/riscv_tests/rv32ui-p-srli.hex | 118 +++--- simX/riscv_tests/rv32ui-p-sub.dump | 478 +++++++++++++++++++++ simX/riscv_tests/rv32ui-p-sub.hex | 186 ++++---- simX/riscv_tests/rv32ui-p-sw.dump | 469 ++++++++++++++++++++ simX/riscv_tests/rv32ui-p-sw.hex | 178 ++++---- simX/riscv_tests/rv32ui-p-xor.dump | 458 ++++++++++++++++++++ simX/riscv_tests/rv32ui-p-xor.hex | 186 ++++---- simX/riscv_tests/rv32ui-p-xori.dump | 263 ++++++++++++ simX/riscv_tests/rv32ui-p-xori.hex | 94 +++-- simX/riscv_tests/rv32um-p-div.dump | 193 +++++++++ simX/riscv_tests/rv32um-p-div.hex | 62 +-- simX/riscv_tests/rv32um-p-divu.dump | 192 +++++++++ simX/riscv_tests/rv32um-p-divu.hex | 62 +-- simX/riscv_tests/rv32um-p-mul.dump | 476 +++++++++++++++++++++ simX/riscv_tests/rv32um-p-mul.hex | 186 ++++---- simX/riscv_tests/rv32um-p-mulh.dump | 472 +++++++++++++++++++++ simX/riscv_tests/rv32um-p-mulh.hex | 186 ++++---- simX/riscv_tests/rv32um-p-mulhsu.dump | 472 +++++++++++++++++++++ simX/riscv_tests/rv32um-p-mulhsu.hex | 186 ++++---- simX/riscv_tests/rv32um-p-mulhu.dump | 472 +++++++++++++++++++++ simX/riscv_tests/rv32um-p-mulhu.hex | 186 ++++---- simX/riscv_tests/rv32um-p-rem.dump | 193 +++++++++ simX/riscv_tests/rv32um-p-rem.hex | 62 +-- simX/riscv_tests/rv32um-p-remu.dump | 193 +++++++++ simX/riscv_tests/rv32um-p-remu.hex | 62 +-- simX/test.sh | 143 ------- simX/test_rv32ui.sh | 145 +++++++ 97 files changed, 19670 insertions(+), 3119 deletions(-) create mode 100644 simX/riscv_tests/rv32ui-p-add.dump create mode 100644 simX/riscv_tests/rv32ui-p-addi.dump create mode 100644 simX/riscv_tests/rv32ui-p-and.dump create mode 100644 simX/riscv_tests/rv32ui-p-andi.dump create mode 100644 simX/riscv_tests/rv32ui-p-auipc.dump create mode 100644 simX/riscv_tests/rv32ui-p-beq.dump create mode 100644 simX/riscv_tests/rv32ui-p-bge.dump create mode 100644 simX/riscv_tests/rv32ui-p-bgeu.dump create mode 100644 simX/riscv_tests/rv32ui-p-blt.dump create mode 100644 simX/riscv_tests/rv32ui-p-bltu.dump create mode 100644 simX/riscv_tests/rv32ui-p-bne.dump create mode 100644 simX/riscv_tests/rv32ui-p-fence_i.dump create mode 100644 simX/riscv_tests/rv32ui-p-jal.dump create mode 100644 simX/riscv_tests/rv32ui-p-jalr.dump create mode 100644 simX/riscv_tests/rv32ui-p-lb.dump create mode 100644 simX/riscv_tests/rv32ui-p-lbu.dump create mode 100644 simX/riscv_tests/rv32ui-p-lh.dump create mode 100644 simX/riscv_tests/rv32ui-p-lhu.dump create mode 100644 simX/riscv_tests/rv32ui-p-lui.dump create mode 100644 simX/riscv_tests/rv32ui-p-lw.dump create mode 100644 simX/riscv_tests/rv32ui-p-or.dump create mode 100644 simX/riscv_tests/rv32ui-p-ori.dump create mode 100644 simX/riscv_tests/rv32ui-p-sb.dump create mode 100644 simX/riscv_tests/rv32ui-p-sh.dump create mode 100644 simX/riscv_tests/rv32ui-p-simple.dump create mode 100644 simX/riscv_tests/rv32ui-p-sll.dump create mode 100644 simX/riscv_tests/rv32ui-p-slli.dump create mode 100644 simX/riscv_tests/rv32ui-p-slt.dump create mode 100644 simX/riscv_tests/rv32ui-p-slti.dump create mode 100644 simX/riscv_tests/rv32ui-p-sltiu.dump create mode 100644 simX/riscv_tests/rv32ui-p-sltu.dump create mode 100644 simX/riscv_tests/rv32ui-p-sra.dump create mode 100644 simX/riscv_tests/rv32ui-p-srai.dump create mode 100644 simX/riscv_tests/rv32ui-p-srl.dump create mode 100644 simX/riscv_tests/rv32ui-p-srli.dump create mode 100644 simX/riscv_tests/rv32ui-p-sub.dump create mode 100644 simX/riscv_tests/rv32ui-p-sw.dump create mode 100644 simX/riscv_tests/rv32ui-p-xor.dump create mode 100644 simX/riscv_tests/rv32ui-p-xori.dump create mode 100644 simX/riscv_tests/rv32um-p-div.dump create mode 100644 simX/riscv_tests/rv32um-p-divu.dump create mode 100644 simX/riscv_tests/rv32um-p-mul.dump create mode 100644 simX/riscv_tests/rv32um-p-mulh.dump create mode 100644 simX/riscv_tests/rv32um-p-mulhsu.dump create mode 100644 simX/riscv_tests/rv32um-p-mulhu.dump create mode 100644 simX/riscv_tests/rv32um-p-rem.dump create mode 100644 simX/riscv_tests/rv32um-p-remu.dump delete mode 100644 simX/test.sh create mode 100644 simX/test_rv32ui.sh diff --git a/simX/instruction.cpp b/simX/instruction.cpp index 60d23682..35ccc30a 100644 --- a/simX/instruction.cpp +++ b/simX/instruction.cpp @@ -841,91 +841,91 @@ void Instruction::executeOn(Warp &c, trace_inst_t * trace_inst) { case SYS_INST: //std::cout << "SYS_INST\n"; temp = reg[rsrc[0]]; - if (immsrc == 0x20) // ThreadID - { - reg[rdest] = t; - D(2, "CSR Reading tid " << hex << immsrc << dec << " and returning " << reg[rdest]); - } else if (immsrc == 0x21) // WarpID - { - reg[rdest] = c.id; - D(2, "CSR Reading wid " << hex << immsrc << dec << " and returning " << reg[rdest]); - } else if (immsrc == 0x25) - { - reg[rdest] = c.core->num_instructions; - } else if (immsrc == 0x26) - { - reg[rdest] = c.core->num_cycles; - } - // switch (func3) + // if (immsrc == 0x20) // ThreadID // { - // case 1: - // // printf("Case 1\n"); - // if (rdest != 0) - // { - // reg[rdest] = c.csr[immsrc & 0x00000FFF]; - // } - // c.csr[immsrc & 0x00000FFF] = temp; - - // break; - // case 2: - // // printf("Case 2\n"); - // if (rdest != 0) - // { - // // printf("Reading from CSR: %d = %d\n", (immsrc & 0x00000FFF), c.csr[immsrc & 0x00000FFF]); - // reg[rdest] = c.csr[immsrc & 0x00000FFF]; - // } - // // printf("Writing to CSR --> %d = %d\n", immsrc, (temp | c.csr[immsrc & 0x00000FFF])); - // c.csr[immsrc & 0x00000FFF] = temp | c.csr[immsrc & 0x00000FFF]; - - // break; - // case 3: - // // printf("Case 3\n"); - // if (rdest != 0) - // { - // reg[rdest] = c.csr[immsrc & 0x00000FFF]; - // } - // c.csr[immsrc & 0x00000FFF] = temp & (~c.csr[immsrc & 0x00000FFF]); - - // break; - // case 5: - // // printf("Case 5\n"); - // if (rdest != 0) - // { - // reg[rdest] = c.csr[immsrc & 0x00000FFF]; - // } - // c.csr[immsrc & 0x00000FFF] = rsrc[0]; - - // break; - // case 6: - // // printf("Case 6\n"); - // if (rdest != 0) - // { - // reg[rdest] = c.csr[immsrc & 0x00000FFF]; - // } - // c.csr[immsrc & 0x00000FFF] = rsrc[0] | c.csr[immsrc & 0x00000FFF]; - - // break; - // case 7: - // // printf("Case 7\n"); - // if (rdest != 0) - // { - // reg[rdest] = c.csr[immsrc & 0x00000FFF]; - // } - // c.csr[immsrc & 0x00000FFF] = rsrc[0] & (~c.csr[immsrc & 0x00000FFF]); - - // break; - // case 0: - // if (immsrc < 2) - // { - // //std::cout << "INTERRUPT ECALL/EBREAK\n"; - // nextActiveThreads = 0; - // c.spawned = false; - // // c.interrupt(0); - // } - // break; - // default: - // break; + // reg[rdest] = t; + // D(2, "CSR Reading tid " << hex << immsrc << dec << " and returning " << reg[rdest]); + // } else if (immsrc == 0x21) // WarpID + // { + // reg[rdest] = c.id; + // D(2, "CSR Reading wid " << hex << immsrc << dec << " and returning " << reg[rdest]); + // } else if (immsrc == 0x25) + // { + // reg[rdest] = c.core->num_instructions; + // } else if (immsrc == 0x26) + // { + // reg[rdest] = c.core->num_cycles; // } + switch (func3) + { + case 1: + // printf("Case 1\n"); + if (rdest != 0) + { + reg[rdest] = c.csr[immsrc & 0x00000FFF]; + } + c.csr[immsrc & 0x00000FFF] = temp; + + break; + case 2: + // printf("Case 2\n"); + if (rdest != 0) + { + // printf("Reading from CSR: %d = %d\n", (immsrc & 0x00000FFF), c.csr[immsrc & 0x00000FFF]); + reg[rdest] = c.csr[immsrc & 0x00000FFF]; + } + // printf("Writing to CSR --> %d = %d\n", immsrc, (temp | c.csr[immsrc & 0x00000FFF])); + c.csr[immsrc & 0x00000FFF] = temp | c.csr[immsrc & 0x00000FFF]; + + break; + case 3: + // printf("Case 3\n"); + if (rdest != 0) + { + reg[rdest] = c.csr[immsrc & 0x00000FFF]; + } + c.csr[immsrc & 0x00000FFF] = temp & (~c.csr[immsrc & 0x00000FFF]); + + break; + case 5: + // printf("Case 5\n"); + if (rdest != 0) + { + reg[rdest] = c.csr[immsrc & 0x00000FFF]; + } + c.csr[immsrc & 0x00000FFF] = rsrc[0]; + + break; + case 6: + // printf("Case 6\n"); + if (rdest != 0) + { + reg[rdest] = c.csr[immsrc & 0x00000FFF]; + } + c.csr[immsrc & 0x00000FFF] = rsrc[0] | c.csr[immsrc & 0x00000FFF]; + + break; + case 7: + // printf("Case 7\n"); + if (rdest != 0) + { + reg[rdest] = c.csr[immsrc & 0x00000FFF]; + } + c.csr[immsrc & 0x00000FFF] = rsrc[0] & (~c.csr[immsrc & 0x00000FFF]); + + break; + case 0: + if (immsrc < 2) + { + //std::cout << "INTERRUPT ECALL/EBREAK\n"; + nextActiveThreads = 0; + c.spawned = false; + // c.interrupt(0); + } + break; + default: + break; + } break; case TRAP: //std::cout << "INTERRUPT TRAP\n"; diff --git a/simX/riscv_tests/rv32ui-p-add.dump b/simX/riscv_tests/rv32ui-p-add.dump new file mode 100644 index 00000000..d1926a50 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-add.dump @@ -0,0 +1,504 @@ + +rv32ui-p-add: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00000093 li ra,0 +8000010c: 00000113 li sp,0 +80000110: 00208733 add a4,ra,sp +80000114: 00000e93 li t4,0 +80000118: 00200193 li gp,2 +8000011c: 4dd71663 bne a4,t4,800005e8 + +80000120 : +80000120: 00100093 li ra,1 +80000124: 00100113 li sp,1 +80000128: 00208733 add a4,ra,sp +8000012c: 00200e93 li t4,2 +80000130: 00300193 li gp,3 +80000134: 4bd71a63 bne a4,t4,800005e8 + +80000138 : +80000138: 00300093 li ra,3 +8000013c: 00700113 li sp,7 +80000140: 00208733 add a4,ra,sp +80000144: 00a00e93 li t4,10 +80000148: 00400193 li gp,4 +8000014c: 49d71e63 bne a4,t4,800005e8 + +80000150 : +80000150: 00000093 li ra,0 +80000154: ffff8137 lui sp,0xffff8 +80000158: 00208733 add a4,ra,sp +8000015c: ffff8eb7 lui t4,0xffff8 +80000160: 00500193 li gp,5 +80000164: 49d71263 bne a4,t4,800005e8 + +80000168 : +80000168: 800000b7 lui ra,0x80000 +8000016c: 00000113 li sp,0 +80000170: 00208733 add a4,ra,sp +80000174: 80000eb7 lui t4,0x80000 +80000178: 00600193 li gp,6 +8000017c: 47d71663 bne a4,t4,800005e8 + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: ffff8137 lui sp,0xffff8 +80000188: 00208733 add a4,ra,sp +8000018c: 7fff8eb7 lui t4,0x7fff8 +80000190: 00700193 li gp,7 +80000194: 45d71a63 bne a4,t4,800005e8 + +80000198 : +80000198: 00000093 li ra,0 +8000019c: 00008137 lui sp,0x8 +800001a0: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001a4: 00208733 add a4,ra,sp +800001a8: 00008eb7 lui t4,0x8 +800001ac: fffe8e93 addi t4,t4,-1 # 7fff <_start-0x7fff8001> +800001b0: 00800193 li gp,8 +800001b4: 43d71a63 bne a4,t4,800005e8 + +800001b8 : +800001b8: 800000b7 lui ra,0x80000 +800001bc: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001c0: 00000113 li sp,0 +800001c4: 00208733 add a4,ra,sp +800001c8: 80000eb7 lui t4,0x80000 +800001cc: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdfff> +800001d0: 00900193 li gp,9 +800001d4: 41d71a63 bne a4,t4,800005e8 + +800001d8 : +800001d8: 800000b7 lui ra,0x80000 +800001dc: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001e0: 00008137 lui sp,0x8 +800001e4: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001e8: 00208733 add a4,ra,sp +800001ec: 80008eb7 lui t4,0x80008 +800001f0: ffee8e93 addi t4,t4,-2 # 80007ffe <_end+0x5ffe> +800001f4: 00a00193 li gp,10 +800001f8: 3fd71863 bne a4,t4,800005e8 + +800001fc : +800001fc: 800000b7 lui ra,0x80000 +80000200: 00008137 lui sp,0x8 +80000204: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +80000208: 00208733 add a4,ra,sp +8000020c: 80008eb7 lui t4,0x80008 +80000210: fffe8e93 addi t4,t4,-1 # 80007fff <_end+0x5fff> +80000214: 00b00193 li gp,11 +80000218: 3dd71863 bne a4,t4,800005e8 + +8000021c : +8000021c: 800000b7 lui ra,0x80000 +80000220: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +80000224: ffff8137 lui sp,0xffff8 +80000228: 00208733 add a4,ra,sp +8000022c: 7fff8eb7 lui t4,0x7fff8 +80000230: fffe8e93 addi t4,t4,-1 # 7fff7fff <_start-0x8001> +80000234: 00c00193 li gp,12 +80000238: 3bd71863 bne a4,t4,800005e8 + +8000023c : +8000023c: 00000093 li ra,0 +80000240: fff00113 li sp,-1 +80000244: 00208733 add a4,ra,sp +80000248: fff00e93 li t4,-1 +8000024c: 00d00193 li gp,13 +80000250: 39d71c63 bne a4,t4,800005e8 + +80000254 : +80000254: fff00093 li ra,-1 +80000258: 00100113 li sp,1 +8000025c: 00208733 add a4,ra,sp +80000260: 00000e93 li t4,0 +80000264: 00e00193 li gp,14 +80000268: 39d71063 bne a4,t4,800005e8 + +8000026c : +8000026c: fff00093 li ra,-1 +80000270: fff00113 li sp,-1 +80000274: 00208733 add a4,ra,sp +80000278: ffe00e93 li t4,-2 +8000027c: 00f00193 li gp,15 +80000280: 37d71463 bne a4,t4,800005e8 + +80000284 : +80000284: 00100093 li ra,1 +80000288: 80000137 lui sp,0x80000 +8000028c: fff10113 addi sp,sp,-1 # 7fffffff <_end+0xffffdfff> +80000290: 00208733 add a4,ra,sp +80000294: 80000eb7 lui t4,0x80000 +80000298: 01000193 li gp,16 +8000029c: 35d71663 bne a4,t4,800005e8 + +800002a0 : +800002a0: 00d00093 li ra,13 +800002a4: 00b00113 li sp,11 +800002a8: 002080b3 add ra,ra,sp +800002ac: 01800e93 li t4,24 +800002b0: 01100193 li gp,17 +800002b4: 33d09a63 bne ra,t4,800005e8 + +800002b8 : +800002b8: 00e00093 li ra,14 +800002bc: 00b00113 li sp,11 +800002c0: 00208133 add sp,ra,sp +800002c4: 01900e93 li t4,25 +800002c8: 01200193 li gp,18 +800002cc: 31d11e63 bne sp,t4,800005e8 + +800002d0 : +800002d0: 00d00093 li ra,13 +800002d4: 001080b3 add ra,ra,ra +800002d8: 01a00e93 li t4,26 +800002dc: 01300193 li gp,19 +800002e0: 31d09463 bne ra,t4,800005e8 + +800002e4 : +800002e4: 00000213 li tp,0 +800002e8: 00d00093 li ra,13 +800002ec: 00b00113 li sp,11 +800002f0: 00208733 add a4,ra,sp +800002f4: 00070313 mv t1,a4 +800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002fc: 00200293 li t0,2 +80000300: fe5214e3 bne tp,t0,800002e8 +80000304: 01800e93 li t4,24 +80000308: 01400193 li gp,20 +8000030c: 2dd31e63 bne t1,t4,800005e8 + +80000310 : +80000310: 00000213 li tp,0 +80000314: 00e00093 li ra,14 +80000318: 00b00113 li sp,11 +8000031c: 00208733 add a4,ra,sp +80000320: 00000013 nop +80000324: 00070313 mv t1,a4 +80000328: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000032c: 00200293 li t0,2 +80000330: fe5212e3 bne tp,t0,80000314 +80000334: 01900e93 li t4,25 +80000338: 01500193 li gp,21 +8000033c: 2bd31663 bne t1,t4,800005e8 + +80000340 : +80000340: 00000213 li tp,0 +80000344: 00f00093 li ra,15 +80000348: 00b00113 li sp,11 +8000034c: 00208733 add a4,ra,sp +80000350: 00000013 nop +80000354: 00000013 nop +80000358: 00070313 mv t1,a4 +8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000360: 00200293 li t0,2 +80000364: fe5210e3 bne tp,t0,80000344 +80000368: 01a00e93 li t4,26 +8000036c: 01600193 li gp,22 +80000370: 27d31c63 bne t1,t4,800005e8 + +80000374 : +80000374: 00000213 li tp,0 +80000378: 00d00093 li ra,13 +8000037c: 00b00113 li sp,11 +80000380: 00208733 add a4,ra,sp +80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000388: 00200293 li t0,2 +8000038c: fe5216e3 bne tp,t0,80000378 +80000390: 01800e93 li t4,24 +80000394: 01700193 li gp,23 +80000398: 25d71863 bne a4,t4,800005e8 + +8000039c : +8000039c: 00000213 li tp,0 +800003a0: 00e00093 li ra,14 +800003a4: 00b00113 li sp,11 +800003a8: 00000013 nop +800003ac: 00208733 add a4,ra,sp +800003b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003b4: 00200293 li t0,2 +800003b8: fe5214e3 bne tp,t0,800003a0 +800003bc: 01900e93 li t4,25 +800003c0: 01800193 li gp,24 +800003c4: 23d71263 bne a4,t4,800005e8 + +800003c8 : +800003c8: 00000213 li tp,0 +800003cc: 00f00093 li ra,15 +800003d0: 00b00113 li sp,11 +800003d4: 00000013 nop +800003d8: 00000013 nop +800003dc: 00208733 add a4,ra,sp +800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003e4: 00200293 li t0,2 +800003e8: fe5212e3 bne tp,t0,800003cc +800003ec: 01a00e93 li t4,26 +800003f0: 01900193 li gp,25 +800003f4: 1fd71a63 bne a4,t4,800005e8 + +800003f8 : +800003f8: 00000213 li tp,0 +800003fc: 00d00093 li ra,13 +80000400: 00000013 nop +80000404: 00b00113 li sp,11 +80000408: 00208733 add a4,ra,sp +8000040c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000410: 00200293 li t0,2 +80000414: fe5214e3 bne tp,t0,800003fc +80000418: 01800e93 li t4,24 +8000041c: 01a00193 li gp,26 +80000420: 1dd71463 bne a4,t4,800005e8 + +80000424 : +80000424: 00000213 li tp,0 +80000428: 00e00093 li ra,14 +8000042c: 00000013 nop +80000430: 00b00113 li sp,11 +80000434: 00000013 nop +80000438: 00208733 add a4,ra,sp +8000043c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000440: 00200293 li t0,2 +80000444: fe5212e3 bne tp,t0,80000428 +80000448: 01900e93 li t4,25 +8000044c: 01b00193 li gp,27 +80000450: 19d71c63 bne a4,t4,800005e8 + +80000454 : +80000454: 00000213 li tp,0 +80000458: 00f00093 li ra,15 +8000045c: 00000013 nop +80000460: 00000013 nop +80000464: 00b00113 li sp,11 +80000468: 00208733 add a4,ra,sp +8000046c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000470: 00200293 li t0,2 +80000474: fe5212e3 bne tp,t0,80000458 +80000478: 01a00e93 li t4,26 +8000047c: 01c00193 li gp,28 +80000480: 17d71463 bne a4,t4,800005e8 + +80000484 : +80000484: 00000213 li tp,0 +80000488: 00b00113 li sp,11 +8000048c: 00d00093 li ra,13 +80000490: 00208733 add a4,ra,sp +80000494: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000498: 00200293 li t0,2 +8000049c: fe5216e3 bne tp,t0,80000488 +800004a0: 01800e93 li t4,24 +800004a4: 01d00193 li gp,29 +800004a8: 15d71063 bne a4,t4,800005e8 + +800004ac : +800004ac: 00000213 li tp,0 +800004b0: 00b00113 li sp,11 +800004b4: 00e00093 li ra,14 +800004b8: 00000013 nop +800004bc: 00208733 add a4,ra,sp +800004c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004c4: 00200293 li t0,2 +800004c8: fe5214e3 bne tp,t0,800004b0 +800004cc: 01900e93 li t4,25 +800004d0: 01e00193 li gp,30 +800004d4: 11d71a63 bne a4,t4,800005e8 + +800004d8 : +800004d8: 00000213 li tp,0 +800004dc: 00b00113 li sp,11 +800004e0: 00f00093 li ra,15 +800004e4: 00000013 nop +800004e8: 00000013 nop +800004ec: 00208733 add a4,ra,sp +800004f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004f4: 00200293 li t0,2 +800004f8: fe5212e3 bne tp,t0,800004dc +800004fc: 01a00e93 li t4,26 +80000500: 01f00193 li gp,31 +80000504: 0fd71263 bne a4,t4,800005e8 + +80000508 : +80000508: 00000213 li tp,0 +8000050c: 00b00113 li sp,11 +80000510: 00000013 nop +80000514: 00d00093 li ra,13 +80000518: 00208733 add a4,ra,sp +8000051c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000520: 00200293 li t0,2 +80000524: fe5214e3 bne tp,t0,8000050c +80000528: 01800e93 li t4,24 +8000052c: 02000193 li gp,32 +80000530: 0bd71c63 bne a4,t4,800005e8 + +80000534 : +80000534: 00000213 li tp,0 +80000538: 00b00113 li sp,11 +8000053c: 00000013 nop +80000540: 00e00093 li ra,14 +80000544: 00000013 nop +80000548: 00208733 add a4,ra,sp +8000054c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000550: 00200293 li t0,2 +80000554: fe5212e3 bne tp,t0,80000538 +80000558: 01900e93 li t4,25 +8000055c: 02100193 li gp,33 +80000560: 09d71463 bne a4,t4,800005e8 + +80000564 : +80000564: 00000213 li tp,0 +80000568: 00b00113 li sp,11 +8000056c: 00000013 nop +80000570: 00000013 nop +80000574: 00f00093 li ra,15 +80000578: 00208733 add a4,ra,sp +8000057c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000580: 00200293 li t0,2 +80000584: fe5212e3 bne tp,t0,80000568 +80000588: 01a00e93 li t4,26 +8000058c: 02200193 li gp,34 +80000590: 05d71c63 bne a4,t4,800005e8 + +80000594 : +80000594: 00f00093 li ra,15 +80000598: 00100133 add sp,zero,ra +8000059c: 00f00e93 li t4,15 +800005a0: 02300193 li gp,35 +800005a4: 05d11263 bne sp,t4,800005e8 + +800005a8 : +800005a8: 02000093 li ra,32 +800005ac: 00008133 add sp,ra,zero +800005b0: 02000e93 li t4,32 +800005b4: 02400193 li gp,36 +800005b8: 03d11863 bne sp,t4,800005e8 + +800005bc : +800005bc: 000000b3 add ra,zero,zero +800005c0: 00000e93 li t4,0 +800005c4: 02500193 li gp,37 +800005c8: 03d09063 bne ra,t4,800005e8 + +800005cc : +800005cc: 01000093 li ra,16 +800005d0: 01e00113 li sp,30 +800005d4: 00208033 add zero,ra,sp +800005d8: 00000e93 li t4,0 +800005dc: 02600193 li gp,38 +800005e0: 01d01463 bne zero,t4,800005e8 +800005e4: 02301063 bne zero,gp,80000604 + +800005e8 : +800005e8: 0ff0000f fence +800005ec: 00018063 beqz gp,800005ec +800005f0: 00119193 slli gp,gp,0x1 +800005f4: 0011e193 ori gp,gp,1 +800005f8: 05d00893 li a7,93 +800005fc: 00018513 mv a0,gp +80000600: 00000073 ecall + +80000604 : +80000604: 0ff0000f fence +80000608: 00100193 li gp,1 +8000060c: 05d00893 li a7,93 +80000610: 00000513 li a0,0 +80000614: 00000073 ecall +80000618: c0001073 unimp +8000061c: 0000 unimp +8000061e: 0000 unimp +80000620: 0000 unimp +80000622: 0000 unimp +80000624: 0000 unimp +80000626: 0000 unimp +80000628: 0000 unimp +8000062a: 0000 unimp +8000062c: 0000 unimp +8000062e: 0000 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/simX/riscv_tests/rv32ui-p-add.hex b/simX/riscv_tests/rv32ui-p-add.hex index 10331773..04bf8c08 100644 --- a/simX/riscv_tests/rv32ui-p-add.hex +++ b/simX/riscv_tests/rv32ui-p-add.hex @@ -2,100 +2,108 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093000000D8 -:1000C00013010000B3812000930E0000130E2000E6 -:1000D0006396D14D9300100013011000B3812000EE -:1000E000930E2000130E3000639AD14B9300300022 -:1000F00013017000B3812000930EA000130E400086 -:10010000639ED149930000003781FFFFB381200037 -:10011000B78EFFFF130E50006392D149B7000080E5 -:1001200013010000B3812000B70E0080130E6000A1 -:100130006396D147B70000803781FFFFB38120006D -:10014000B78EFF7F130E7000639AD14593000000B5 -:10015000378100001301F1FFB3812000B78E00004A -:10016000938EFEFF130E8000639AD143B700008088 -:100170009380F0FF13010000B3812000B70E0080D0 -:10018000938EFEFF130E9000639AD141B70000805A -:100190009380F0FF378100001301F1FFB38120004D -:1001A000B78E0080938EEEFF130EA0006398D13FB0 -:1001B000B7000080378100001301F1FFB3812000F8 -:1001C000B78E0080938EFEFF130EB0006398D13D72 -:1001D000B70000809380F0FF3781FFFFB3812000DC -:1001E000B78EFF7F938EFEFF130EC0006398D13B46 -:1001F000930000001301F0FFB3812000930EF0FF85 -:10020000130ED000639CD1399300F0FF130110004E -:10021000B3812000930E0000130EE0006390D139EB -:100220009300F0FF1301F0FFB3812000930EE0FF75 -:10023000130EF0006394D137930010003701008053 -:100240001301F1FFB3812000B70E0080130E0001EF -:100250006396D1359300D0001301B000B380200025 -:10026000930E8001130E1001639AD0339300E000C7 -:100270001301B00033812000930E9001130E200172 -:10028000631ED1319300D000B3801000930EA00103 -:10029000130E30016394D031130200009300D0009C -:1002A0001301B000B3812000138301001302120078 -:1002B00093022000E31452FE930E8001130E4001BE -:1002C000631ED32D130200009300E0001301B00061 -:1002D000B3812000130000001383010013021200F9 -:1002E00093022000E31252FE930E9001130E500170 -:1002F0006316D32B130200009300F0001301B0002B -:10030000B3812000130000001300000013830100DC -:100310001302120093022000E31052FE930EA0017C -:10032000130E6001631CD327130200009300D0005A -:100330001301B000B38120001302120093022000C9 -:10034000E31652FE930E8001130E70016398D125BF -:10035000130200009300E0001301B000130000003E -:10036000B38120001302120093022000E31452FE16 -:10037000930E9001130E80016392D12313020000AB -:100380009300F0001301B000130000001300000000 -:10039000B38120001302120093022000E31252FEE8 -:1003A000930EA001130E9001639AD11F1302000057 -:1003B0009300D000130000001301B000B3812000AF -:1003C0001302120093022000E31452FE930E8001E8 -:1003D000130EA0016394D11D130200009300E000EE -:1003E000130000001301B00013000000B3812000CF -:1003F0001302120093022000E31252FE930E9001AA -:10040000130EB001639CD119130200009300F00099 -:1004100013000000130000001301B000B38120009E -:100420001302120093022000E31252FE930EA00169 -:10043000130EC0016394D117130200001301B00022 -:100440009300D000B3812000130212009302200019 -:10045000E31652FE930E8001130ED0016390D11566 -:10046000130200001301B0009300E000130000002D -:10047000B38120001302120093022000E31452FE05 -:10048000930E9001130EE001639AD1111302000044 -:100490001301B0009300F0001300000013000000EF -:1004A000B38120001302120093022000E31252FED7 -:1004B000930EA001130EF0016392D10F13020000FE -:1004C0001301B000130000009300D000B38120009E -:1004D0001302120093022000E31452FE930E8001D7 -:1004E000130E0002639CD10B130200001301B00035 -:1004F000130000009300E00013000000B38120000F -:100500001302120093022000E31252FE930E900198 -:10051000130E10026394D109130200001301B000FE -:1005200013000000130000009300F000B3812000CE -:100530001302120093022000E31252FE930EA00158 -:10054000130E2002639CD1059300F00033011000CC -:10055000930EF000130E30026312D10593000002D7 -:1005600033810000930E0002130E40026318D10382 -:10057000B3000000930E0000130E50026390D003EE -:10058000930000011301E00133802000930E00006E -:10059000130E60026314D001631CC0010F00F00F42 -:1005A00063000E00131E1E00136E1E007300000079 -:1005B0000F00F00F130E100073000000731000C046 -:0405C0000000000037 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309300000013010000BC +:1001100033872000930E0000930120006316D74D13 +:10012000930010001301100033872000930E20006D +:1001300093013000631AD74B930030001301700015 +:1001400033872000930EA00093014000631ED7491F +:10015000930000003781FFFF33872000B78EFFFF39 +:10016000930150006312D749B700008013010000CB +:1001700033872000B70E0080930160006316D747D5 +:10018000B70000803781FFFF33872000B78EFF7FE5 +:1001900093017000631AD745930000003781000077 +:1001A0001301F1FF33872000B78E0000938EFEFF0E +:1001B00093018000631AD743B70000809380F0FF5B +:1001C0001301000033872000B70E0080938EFEFFDE +:1001D00093019000631AD741B70000809380F0FF2D +:1001E000378100001301F1FF33872000B78E0080B4 +:1001F000938EEEFF9301A0006318D73FB7000080F5 +:10020000378100001301F1FF33872000B78E008093 +:10021000938EFEFF9301B0006318D73DB7000080B6 +:100220009380F0FF3781FFFF33872000B78EFF7F79 +:10023000938EFEFF9301C0006318D73B930000002C +:100240001301F0FF33872000930EF0FF9301D000DD +:10025000631CD7399300F0FF13011000338720008F +:10026000930E00009301E0006310D7399300F0FF74 +:100270001301F0FF33872000930EE0FF9301F0009D +:100280006314D73793001000370100801301F1FF8A +:1002900033872000B70E0080930100016316D73525 +:1002A0009300D0001301B000B3802000930E8001B2 +:1002B00093011001639AD0339300E0001301B00062 +:1002C00033812000930E900193012001631ED131F0 +:1002D0009300D000B3801000930EA0019301300171 +:1002E0006394D031130200009300D0001301B000DA +:1002F000338720001303070013021200930220002B +:10030000E31452FE930E800193014001631ED32D2E +:10031000130200009300E0001301B00033872000B7 +:1003200013000000130307001302120093022000C1 +:10033000E31252FE930E9001930150016316D32BEA +:10034000130200009300F0001301B0003387200077 +:100350001300000013000000130307001302120033 +:1003600093022000E31052FE930EA001930160015E +:10037000631CD327130200009300D0001301B000C8 +:10038000338720001302120093022000E31652FE6E +:10039000930E8001930170016318D72513020000AA +:1003A0009300E0001301B000130000003387200029 +:1003B0001302120093022000E31452FE930E9001E8 +:1003C000930180016312D723130200009300F00011 +:1003D0001301B00013000000130000003387200059 +:1003E0001302120093022000E31252FE930EA001AA +:1003F00093019001631AD71F130200009300D000ED +:10040000130000001301B000338720001302120014 +:1004100093022000E31452FE930E80019301A00189 +:100420006314D71D130200009300E00013000000C6 +:100430001301B000130000003387200013021200E4 +:1004400093022000E31252FE930E90019301B0013B +:10045000631CD719130200009300F0001300000082 +:10046000130000001301B0003387200013021200B4 +:1004700093022000E31252FE930EA0019301C001EB +:100480006314D717130200001301B0009300D000CB +:10049000338720001302120093022000E31652FE5D +:1004A000930E80019301D0016310D7151302000051 +:1004B0001301B0009300E000130000003387200018 +:1004C0001302120093022000E31452FE930E9001D7 +:1004D0009301E001631AD711130200001301B00069 +:1004E0009300F00013000000130000003387200089 +:1004F0001302120093022000E31252FE930EA00199 +:100500009301F0016312D70F130200001301B00032 +:10051000130000009300D000338720001302120064 +:1005200093022000E31452FE930E80019301000217 +:10053000631CD70B130200001301B000130000006E +:100540009300E00013000000338720001302120024 +:1005500093022000E31252FE930E900193011002C9 +:100560006314D709130200001301B0001300000048 +:10057000130000009300F0003387200013021200E4 +:1005800093022000E31252FE930EA0019301200279 +:10059000631CD7059300F00033011000930EF000A8 +:1005A000930130026312D1059300000233810000F1 +:1005B000930E0002930140026318D103B3000000C0 +:1005C000930E0000930150026390D003930000014A +:1005D0001301E00133802000930E000093016002BC +:1005E0006314D001631030020F00F00F638001002C +:1005F0009391110093E111009308D0051385010038 +:10060000730000000F00F00F930110009308D00555 +:100610001305000073000000731000C0000000000C +:1006200000000000000000000000000000000000CA +:1006300000000000000000000000000000000000BA +:0406400000000000B6 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-addi.dump b/simX/riscv_tests/rv32ui-p-addi.dump new file mode 100644 index 00000000..64f6a99f --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-addi.dump @@ -0,0 +1,308 @@ + +rv32ui-p-addi: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00000093 li ra,0 +8000010c: 00008713 mv a4,ra +80000110: 00000e93 li t4,0 +80000114: 00200193 li gp,2 +80000118: 27d71c63 bne a4,t4,80000390 + +8000011c : +8000011c: 00100093 li ra,1 +80000120: 00108713 addi a4,ra,1 +80000124: 00200e93 li t4,2 +80000128: 00300193 li gp,3 +8000012c: 27d71263 bne a4,t4,80000390 + +80000130 : +80000130: 00300093 li ra,3 +80000134: 00708713 addi a4,ra,7 +80000138: 00a00e93 li t4,10 +8000013c: 00400193 li gp,4 +80000140: 25d71863 bne a4,t4,80000390 + +80000144 : +80000144: 00000093 li ra,0 +80000148: 80008713 addi a4,ra,-2048 +8000014c: 80000e93 li t4,-2048 +80000150: 00500193 li gp,5 +80000154: 23d71e63 bne a4,t4,80000390 + +80000158 : +80000158: 800000b7 lui ra,0x80000 +8000015c: 00008713 mv a4,ra +80000160: 80000eb7 lui t4,0x80000 +80000164: 00600193 li gp,6 +80000168: 23d71463 bne a4,t4,80000390 + +8000016c : +8000016c: 800000b7 lui ra,0x80000 +80000170: 80008713 addi a4,ra,-2048 # 7ffff800 <_end+0xffffd800> +80000174: 80000eb7 lui t4,0x80000 +80000178: 800e8e93 addi t4,t4,-2048 # 7ffff800 <_end+0xffffd800> +8000017c: 00700193 li gp,7 +80000180: 21d71863 bne a4,t4,80000390 + +80000184 : +80000184: 00000093 li ra,0 +80000188: 7ff08713 addi a4,ra,2047 +8000018c: 7ff00e93 li t4,2047 +80000190: 00800193 li gp,8 +80000194: 1fd71e63 bne a4,t4,80000390 + +80000198 : +80000198: 800000b7 lui ra,0x80000 +8000019c: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001a0: 00008713 mv a4,ra +800001a4: 80000eb7 lui t4,0x80000 +800001a8: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdfff> +800001ac: 00900193 li gp,9 +800001b0: 1fd71063 bne a4,t4,80000390 + +800001b4 : +800001b4: 800000b7 lui ra,0x80000 +800001b8: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001bc: 7ff08713 addi a4,ra,2047 +800001c0: 80000eb7 lui t4,0x80000 +800001c4: 7fee8e93 addi t4,t4,2046 # 800007fe <_end+0xffffe7fe> +800001c8: 00a00193 li gp,10 +800001cc: 1dd71263 bne a4,t4,80000390 + +800001d0 : +800001d0: 800000b7 lui ra,0x80000 +800001d4: 7ff08713 addi a4,ra,2047 # 800007ff <_end+0xffffe7ff> +800001d8: 80000eb7 lui t4,0x80000 +800001dc: 7ffe8e93 addi t4,t4,2047 # 800007ff <_end+0xffffe7ff> +800001e0: 00b00193 li gp,11 +800001e4: 1bd71663 bne a4,t4,80000390 + +800001e8 : +800001e8: 800000b7 lui ra,0x80000 +800001ec: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001f0: 80008713 addi a4,ra,-2048 +800001f4: 7ffffeb7 lui t4,0x7ffff +800001f8: 7ffe8e93 addi t4,t4,2047 # 7ffff7ff <_start-0x801> +800001fc: 00c00193 li gp,12 +80000200: 19d71863 bne a4,t4,80000390 + +80000204 : +80000204: 00000093 li ra,0 +80000208: fff08713 addi a4,ra,-1 +8000020c: fff00e93 li t4,-1 +80000210: 00d00193 li gp,13 +80000214: 17d71e63 bne a4,t4,80000390 + +80000218 : +80000218: fff00093 li ra,-1 +8000021c: 00108713 addi a4,ra,1 +80000220: 00000e93 li t4,0 +80000224: 00e00193 li gp,14 +80000228: 17d71463 bne a4,t4,80000390 + +8000022c : +8000022c: fff00093 li ra,-1 +80000230: fff08713 addi a4,ra,-1 +80000234: ffe00e93 li t4,-2 +80000238: 00f00193 li gp,15 +8000023c: 15d71a63 bne a4,t4,80000390 + +80000240 : +80000240: 800000b7 lui ra,0x80000 +80000244: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +80000248: 00108713 addi a4,ra,1 +8000024c: 80000eb7 lui t4,0x80000 +80000250: 01000193 li gp,16 +80000254: 13d71e63 bne a4,t4,80000390 + +80000258 : +80000258: 00d00093 li ra,13 +8000025c: 00b08093 addi ra,ra,11 +80000260: 01800e93 li t4,24 +80000264: 01100193 li gp,17 +80000268: 13d09463 bne ra,t4,80000390 + +8000026c : +8000026c: 00000213 li tp,0 +80000270: 00d00093 li ra,13 +80000274: 00b08713 addi a4,ra,11 +80000278: 00070313 mv t1,a4 +8000027c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000280: 00200293 li t0,2 +80000284: fe5216e3 bne tp,t0,80000270 +80000288: 01800e93 li t4,24 +8000028c: 01200193 li gp,18 +80000290: 11d31063 bne t1,t4,80000390 + +80000294 : +80000294: 00000213 li tp,0 +80000298: 00d00093 li ra,13 +8000029c: 00a08713 addi a4,ra,10 +800002a0: 00000013 nop +800002a4: 00070313 mv t1,a4 +800002a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002ac: 00200293 li t0,2 +800002b0: fe5214e3 bne tp,t0,80000298 +800002b4: 01700e93 li t4,23 +800002b8: 01300193 li gp,19 +800002bc: 0dd31a63 bne t1,t4,80000390 + +800002c0 : +800002c0: 00000213 li tp,0 +800002c4: 00d00093 li ra,13 +800002c8: 00908713 addi a4,ra,9 +800002cc: 00000013 nop +800002d0: 00000013 nop +800002d4: 00070313 mv t1,a4 +800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002dc: 00200293 li t0,2 +800002e0: fe5212e3 bne tp,t0,800002c4 +800002e4: 01600e93 li t4,22 +800002e8: 01400193 li gp,20 +800002ec: 0bd31263 bne t1,t4,80000390 + +800002f0 : +800002f0: 00000213 li tp,0 +800002f4: 00d00093 li ra,13 +800002f8: 00b08713 addi a4,ra,11 +800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000300: 00200293 li t0,2 +80000304: fe5218e3 bne tp,t0,800002f4 +80000308: 01800e93 li t4,24 +8000030c: 01500193 li gp,21 +80000310: 09d71063 bne a4,t4,80000390 + +80000314 : +80000314: 00000213 li tp,0 +80000318: 00d00093 li ra,13 +8000031c: 00000013 nop +80000320: 00a08713 addi a4,ra,10 +80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000328: 00200293 li t0,2 +8000032c: fe5216e3 bne tp,t0,80000318 +80000330: 01700e93 li t4,23 +80000334: 01600193 li gp,22 +80000338: 05d71c63 bne a4,t4,80000390 + +8000033c : +8000033c: 00000213 li tp,0 +80000340: 00d00093 li ra,13 +80000344: 00000013 nop +80000348: 00000013 nop +8000034c: 00908713 addi a4,ra,9 +80000350: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000354: 00200293 li t0,2 +80000358: fe5214e3 bne tp,t0,80000340 +8000035c: 01600e93 li t4,22 +80000360: 01700193 li gp,23 +80000364: 03d71663 bne a4,t4,80000390 + +80000368 : +80000368: 02000093 li ra,32 +8000036c: 02000e93 li t4,32 +80000370: 01800193 li gp,24 +80000374: 01d09e63 bne ra,t4,80000390 + +80000378 : +80000378: 02100093 li ra,33 +8000037c: 03208013 addi zero,ra,50 +80000380: 00000e93 li t4,0 +80000384: 01900193 li gp,25 +80000388: 01d01463 bne zero,t4,80000390 +8000038c: 02301063 bne zero,gp,800003ac + +80000390 : +80000390: 0ff0000f fence +80000394: 00018063 beqz gp,80000394 +80000398: 00119193 slli gp,gp,0x1 +8000039c: 0011e193 ori gp,gp,1 +800003a0: 05d00893 li a7,93 +800003a4: 00018513 mv a0,gp +800003a8: 00000073 ecall + +800003ac : +800003ac: 0ff0000f fence +800003b0: 00100193 li gp,1 +800003b4: 05d00893 li a7,93 +800003b8: 00000513 li a0,0 +800003bc: 00000073 ecall +800003c0: c0001073 unimp diff --git a/simX/riscv_tests/rv32ui-p-addi.hex b/simX/riscv_tests/rv32ui-p-addi.hex index 988b3214..0b5d6dab 100644 --- a/simX/riscv_tests/rv32ui-p-addi.hex +++ b/simX/riscv_tests/rv32ui-p-addi.hex @@ -2,64 +2,68 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093000000D8 -:1000C00093810000930E0000130E2000639CD12743 -:1000D0009300100093811000930E2000130E300047 -:1000E0006392D1279300300093817000930EA0009B -:1000F000130E40006398D125930000009381008087 -:10010000930E0080130E5000639ED123B700008031 -:1001100093810000B70E0080130E60006394D1231A -:10012000B700008093810080B70E0080938E0E8010 -:10013000130E70006398D121930000009381F07F2B -:10014000930EF07F130E8000639ED11FB7000080D6 -:100150009380F0FF93810000B70E0080938EFEFF26 -:10016000130E90006390D11FB70000809380F0FFC2 -:100170009381F07FB70E0080938EEE7F130EA00068 -:100180006392D11DB70000809381F07FB70E00808D -:10019000938EFE7F130EB0006396D11BB7000080D4 -:1001A0009380F0FF93810080B7FEFF7F938EFE7FE8 -:1001B000130EC0006398D119930000009381F0FFE3 -:1001C000930EF0FF130ED000639ED1179300F0FF43 -:1001D00093811000930E0000130EE0006394D1177A -:1001E0009300F0FF9381F0FF930EE0FF130EF000F9 -:1001F000639AD115B70000809380F0FF93811000BF -:10020000B70E0080130E0001639ED1139300D0003F -:100210009380B000930E8001130E10016394D013ED -:10022000130200009300D0009381B00013830100FB -:100230001302120093022000E31652FE930E800177 -:10024000130E20016310D311130200009300D0009D -:100250009381A00013000000138301001302120019 -:1002600093022000E31452FE930E7001130E30012E -:10027000631AD30D130200009300D0009381900005 -:10028000130000001300000013830100130212008A -:1002900093022000E31252FE930E6001130E400100 -:1002A0006312D30B130200009300D0009381B000BF -:1002B0001302120093022000E31852FE930E8001F5 -:1002C000130E50016390D109130200009300D00077 -:1002D000130000009381A00013021200930220007B -:1002E000E31652FE930E7001130E6001639CD1055C -:1002F000130200009300D000130000001300000060 -:10030000938190001302120093022000E31452FE26 -:10031000930E6001130E70016396D10393000002E7 -:10032000930E0002130E8001639ED0019300100211 -:1003300013802003930E0000130E90016314D0016C -:10034000631CC0010F00F00F63000E00131E1E009F -:10035000136E1E00730000000F00F00F130E10004C -:1003600073000000731000C00000000000000000D7 -:10037000000000000000000000000000000000007D -:040380000000000079 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030930000001387000036 +:10011000930E000093012000631CD727930010006A +:1001200013871000930E2000930130006312D7272D +:100130009300300013877000930EA00093014000DD +:100140006318D7259300000013870080930E00806A +:1001500093015000631ED723B7000080138700006F +:10016000B70E0080930160006314D723B7000080AE +:1001700013870080B70E0080938E0E80930170006D +:100180006318D721930000001387F07F930EF07F50 +:1001900093018000631ED71FB70000809380F0FF9B +:1001A00013870000B70E0080938EFEFF930190002E +:1001B0006310D71FB70000809380F0FF1387F07F94 +:1001C000B70E0080938EEE7F9301A0006312D71DBF +:1001D000B70000801387F07FB70E0080938EFE7FFC +:1001E0009301B0006316D71BB70000809380F0FF27 +:1001F00013870080B7FEFF7F938EFE7F9301C000C0 +:100200006318D719930000001387F0FF930EF0FFD7 +:100210009301D000631ED7179300F0FF13871000DF +:10022000930E00009301E0006314D7179300F0FFD2 +:100230001387F0FF930EE0FF9301F000631AD715C8 +:10024000B70000809380F0FF13871000B70E008086 +:1002500093010001631ED7139300D0009380B00078 +:10026000930E8001930110016394D01313020000D8 +:100270009300D0001387B00013030700130212008D +:1002800093022000E31652FE930E80019301200199 +:100290006310D311130200009300D0001387A00055 +:1002A0001300000013030700130212009302200042 +:1002B000E31452FE930E700193013001631AD30DC3 +:1002C000130200009300D000138790001300000079 +:1002D0001300000013030700130212009302200012 +:1002E000E31252FE930E6001930140016312D30B9F +:1002F000130200009300D0001387B0001302120015 +:1003000093022000E31852FE930E800193015001E6 +:100310006310D709130200009300D00013000000FF +:100320001387A0001302120093022000E31652FE6E +:10033000930E700193016001631CD7051302000046 +:100340009300D000130000001300000013879000FA +:100350001302120093022000E31452FE930E600178 +:10036000930170016316D70393000002930E0002FD +:1003700093018001639ED00193001002138020033B +:10038000930E0000930190016314D00163103002BA +:100390000F00F00F638001009391110093E11100B1 +:1003A0009308D00513850100730000000F00F00FC3 +:1003B000930110009308D00513050000730000009E +:0403C000731000C0F6 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-and.dump b/simX/riscv_tests/rv32ui-p-and.dump new file mode 100644 index 00000000..0a63089f --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-and.dump @@ -0,0 +1,460 @@ + +rv32ui-p-and: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: ff0100b7 lui ra,0xff010 +8000010c: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000110: 0f0f1137 lui sp,0xf0f1 +80000114: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000118: 0020f733 and a4,ra,sp +8000011c: 0f001eb7 lui t4,0xf001 +80000120: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +80000124: 00200193 li gp,2 +80000128: 49d71c63 bne a4,t4,800005c0 + +8000012c : +8000012c: 0ff010b7 lui ra,0xff01 +80000130: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000134: f0f0f137 lui sp,0xf0f0f +80000138: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +8000013c: 0020f733 and a4,ra,sp +80000140: 00f00eb7 lui t4,0xf00 +80000144: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +80000148: 00300193 li gp,3 +8000014c: 47d71a63 bne a4,t4,800005c0 + +80000150 : +80000150: 00ff00b7 lui ra,0xff0 +80000154: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000158: 0f0f1137 lui sp,0xf0f1 +8000015c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000160: 0020f733 and a4,ra,sp +80000164: 000f0eb7 lui t4,0xf0 +80000168: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +8000016c: 00400193 li gp,4 +80000170: 45d71863 bne a4,t4,800005c0 + +80000174 : +80000174: f00ff0b7 lui ra,0xf00ff +80000178: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +8000017c: f0f0f137 lui sp,0xf0f0f +80000180: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000184: 0020f733 and a4,ra,sp +80000188: f000feb7 lui t4,0xf000f +8000018c: 00500193 li gp,5 +80000190: 43d71863 bne a4,t4,800005c0 + +80000194 : +80000194: ff0100b7 lui ra,0xff010 +80000198: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +8000019c: 0f0f1137 lui sp,0xf0f1 +800001a0: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800001a4: 0020f0b3 and ra,ra,sp +800001a8: 0f001eb7 lui t4,0xf001 +800001ac: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +800001b0: 00600193 li gp,6 +800001b4: 41d09663 bne ra,t4,800005c0 + +800001b8 : +800001b8: 0ff010b7 lui ra,0xff01 +800001bc: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800001c0: f0f0f137 lui sp,0xf0f0f +800001c4: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800001c8: 0020f133 and sp,ra,sp +800001cc: 00f00eb7 lui t4,0xf00 +800001d0: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +800001d4: 00700193 li gp,7 +800001d8: 3fd11463 bne sp,t4,800005c0 + +800001dc : +800001dc: ff0100b7 lui ra,0xff010 +800001e0: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800001e4: 0010f0b3 and ra,ra,ra +800001e8: ff010eb7 lui t4,0xff010 +800001ec: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00df00> +800001f0: 00800193 li gp,8 +800001f4: 3dd09663 bne ra,t4,800005c0 + +800001f8 : +800001f8: 00000213 li tp,0 +800001fc: ff0100b7 lui ra,0xff010 +80000200: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000204: 0f0f1137 lui sp,0xf0f1 +80000208: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000020c: 0020f733 and a4,ra,sp +80000210: 00070313 mv t1,a4 +80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000218: 00200293 li t0,2 +8000021c: fe5210e3 bne tp,t0,800001fc +80000220: 0f001eb7 lui t4,0xf001 +80000224: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +80000228: 00900193 li gp,9 +8000022c: 39d31a63 bne t1,t4,800005c0 + +80000230 : +80000230: 00000213 li tp,0 +80000234: 0ff010b7 lui ra,0xff01 +80000238: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000023c: f0f0f137 lui sp,0xf0f0f +80000240: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000244: 0020f733 and a4,ra,sp +80000248: 00000013 nop +8000024c: 00070313 mv t1,a4 +80000250: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000254: 00200293 li t0,2 +80000258: fc521ee3 bne tp,t0,80000234 +8000025c: 00f00eb7 lui t4,0xf00 +80000260: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +80000264: 00a00193 li gp,10 +80000268: 35d31c63 bne t1,t4,800005c0 + +8000026c : +8000026c: 00000213 li tp,0 +80000270: 00ff00b7 lui ra,0xff0 +80000274: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000278: 0f0f1137 lui sp,0xf0f1 +8000027c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000280: 0020f733 and a4,ra,sp +80000284: 00000013 nop +80000288: 00000013 nop +8000028c: 00070313 mv t1,a4 +80000290: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000294: 00200293 li t0,2 +80000298: fc521ce3 bne tp,t0,80000270 +8000029c: 000f0eb7 lui t4,0xf0 +800002a0: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +800002a4: 00b00193 li gp,11 +800002a8: 31d31c63 bne t1,t4,800005c0 + +800002ac : +800002ac: 00000213 li tp,0 +800002b0: ff0100b7 lui ra,0xff010 +800002b4: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800002b8: 0f0f1137 lui sp,0xf0f1 +800002bc: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800002c0: 0020f733 and a4,ra,sp +800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c8: 00200293 li t0,2 +800002cc: fe5212e3 bne tp,t0,800002b0 +800002d0: 0f001eb7 lui t4,0xf001 +800002d4: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +800002d8: 00c00193 li gp,12 +800002dc: 2fd71263 bne a4,t4,800005c0 + +800002e0 : +800002e0: 00000213 li tp,0 +800002e4: 0ff010b7 lui ra,0xff01 +800002e8: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800002ec: f0f0f137 lui sp,0xf0f0f +800002f0: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800002f4: 00000013 nop +800002f8: 0020f733 and a4,ra,sp +800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000300: 00200293 li t0,2 +80000304: fe5210e3 bne tp,t0,800002e4 +80000308: 00f00eb7 lui t4,0xf00 +8000030c: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +80000310: 00d00193 li gp,13 +80000314: 2bd71663 bne a4,t4,800005c0 + +80000318 : +80000318: 00000213 li tp,0 +8000031c: 00ff00b7 lui ra,0xff0 +80000320: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000324: 0f0f1137 lui sp,0xf0f1 +80000328: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000032c: 00000013 nop +80000330: 00000013 nop +80000334: 0020f733 and a4,ra,sp +80000338: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000033c: 00200293 li t0,2 +80000340: fc521ee3 bne tp,t0,8000031c +80000344: 000f0eb7 lui t4,0xf0 +80000348: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +8000034c: 00e00193 li gp,14 +80000350: 27d71863 bne a4,t4,800005c0 + +80000354 : +80000354: 00000213 li tp,0 +80000358: ff0100b7 lui ra,0xff010 +8000035c: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000360: 00000013 nop +80000364: 0f0f1137 lui sp,0xf0f1 +80000368: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000036c: 0020f733 and a4,ra,sp +80000370: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000374: 00200293 li t0,2 +80000378: fe5210e3 bne tp,t0,80000358 +8000037c: 0f001eb7 lui t4,0xf001 +80000380: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +80000384: 00f00193 li gp,15 +80000388: 23d71c63 bne a4,t4,800005c0 + +8000038c : +8000038c: 00000213 li tp,0 +80000390: 0ff010b7 lui ra,0xff01 +80000394: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000398: 00000013 nop +8000039c: f0f0f137 lui sp,0xf0f0f +800003a0: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800003a4: 00000013 nop +800003a8: 0020f733 and a4,ra,sp +800003ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003b0: 00200293 li t0,2 +800003b4: fc521ee3 bne tp,t0,80000390 +800003b8: 00f00eb7 lui t4,0xf00 +800003bc: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +800003c0: 01000193 li gp,16 +800003c4: 1fd71e63 bne a4,t4,800005c0 + +800003c8 : +800003c8: 00000213 li tp,0 +800003cc: 00ff00b7 lui ra,0xff0 +800003d0: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800003d4: 00000013 nop +800003d8: 00000013 nop +800003dc: 0f0f1137 lui sp,0xf0f1 +800003e0: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003e4: 0020f733 and a4,ra,sp +800003e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003ec: 00200293 li t0,2 +800003f0: fc521ee3 bne tp,t0,800003cc +800003f4: 000f0eb7 lui t4,0xf0 +800003f8: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +800003fc: 01100193 li gp,17 +80000400: 1dd71063 bne a4,t4,800005c0 + +80000404 : +80000404: 00000213 li tp,0 +80000408: 0f0f1137 lui sp,0xf0f1 +8000040c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000410: ff0100b7 lui ra,0xff010 +80000414: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000418: 0020f733 and a4,ra,sp +8000041c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000420: 00200293 li t0,2 +80000424: fe5212e3 bne tp,t0,80000408 +80000428: 0f001eb7 lui t4,0xf001 +8000042c: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +80000430: 01200193 li gp,18 +80000434: 19d71663 bne a4,t4,800005c0 + +80000438 : +80000438: 00000213 li tp,0 +8000043c: f0f0f137 lui sp,0xf0f0f +80000440: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000444: 0ff010b7 lui ra,0xff01 +80000448: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000044c: 00000013 nop +80000450: 0020f733 and a4,ra,sp +80000454: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000458: 00200293 li t0,2 +8000045c: fe5210e3 bne tp,t0,8000043c +80000460: 00f00eb7 lui t4,0xf00 +80000464: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +80000468: 01300193 li gp,19 +8000046c: 15d71a63 bne a4,t4,800005c0 + +80000470 : +80000470: 00000213 li tp,0 +80000474: 0f0f1137 lui sp,0xf0f1 +80000478: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000047c: 00ff00b7 lui ra,0xff0 +80000480: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000484: 00000013 nop +80000488: 00000013 nop +8000048c: 0020f733 and a4,ra,sp +80000490: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000494: 00200293 li t0,2 +80000498: fc521ee3 bne tp,t0,80000474 +8000049c: 000f0eb7 lui t4,0xf0 +800004a0: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +800004a4: 01400193 li gp,20 +800004a8: 11d71c63 bne a4,t4,800005c0 + +800004ac : +800004ac: 00000213 li tp,0 +800004b0: 0f0f1137 lui sp,0xf0f1 +800004b4: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800004b8: 00000013 nop +800004bc: ff0100b7 lui ra,0xff010 +800004c0: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800004c4: 0020f733 and a4,ra,sp +800004c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004cc: 00200293 li t0,2 +800004d0: fe5210e3 bne tp,t0,800004b0 +800004d4: 0f001eb7 lui t4,0xf001 +800004d8: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +800004dc: 01500193 li gp,21 +800004e0: 0fd71063 bne a4,t4,800005c0 + +800004e4 : +800004e4: 00000213 li tp,0 +800004e8: f0f0f137 lui sp,0xf0f0f +800004ec: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800004f0: 00000013 nop +800004f4: 0ff010b7 lui ra,0xff01 +800004f8: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800004fc: 00000013 nop +80000500: 0020f733 and a4,ra,sp +80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000508: 00200293 li t0,2 +8000050c: fc521ee3 bne tp,t0,800004e8 +80000510: 00f00eb7 lui t4,0xf00 +80000514: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +80000518: 01600193 li gp,22 +8000051c: 0bd71263 bne a4,t4,800005c0 + +80000520 : +80000520: 00000213 li tp,0 +80000524: 0f0f1137 lui sp,0xf0f1 +80000528: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000052c: 00000013 nop +80000530: 00000013 nop +80000534: 00ff00b7 lui ra,0xff0 +80000538: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000053c: 0020f733 and a4,ra,sp +80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000544: 00200293 li t0,2 +80000548: fc521ee3 bne tp,t0,80000524 +8000054c: 000f0eb7 lui t4,0xf0 +80000550: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +80000554: 01700193 li gp,23 +80000558: 07d71463 bne a4,t4,800005c0 + +8000055c : +8000055c: ff0100b7 lui ra,0xff010 +80000560: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000564: 00107133 and sp,zero,ra +80000568: 00000e93 li t4,0 +8000056c: 01800193 li gp,24 +80000570: 05d11863 bne sp,t4,800005c0 + +80000574 : +80000574: 00ff00b7 lui ra,0xff0 +80000578: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000057c: 0000f133 and sp,ra,zero +80000580: 00000e93 li t4,0 +80000584: 01900193 li gp,25 +80000588: 03d11c63 bne sp,t4,800005c0 + +8000058c : +8000058c: 000070b3 and ra,zero,zero +80000590: 00000e93 li t4,0 +80000594: 01a00193 li gp,26 +80000598: 03d09463 bne ra,t4,800005c0 + +8000059c : +8000059c: 111110b7 lui ra,0x11111 +800005a0: 11108093 addi ra,ra,273 # 11111111 <_start-0x6eeeeeef> +800005a4: 22222137 lui sp,0x22222 +800005a8: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +800005ac: 0020f033 and zero,ra,sp +800005b0: 00000e93 li t4,0 +800005b4: 01b00193 li gp,27 +800005b8: 01d01463 bne zero,t4,800005c0 +800005bc: 02301063 bne zero,gp,800005dc + +800005c0 : +800005c0: 0ff0000f fence +800005c4: 00018063 beqz gp,800005c4 +800005c8: 00119193 slli gp,gp,0x1 +800005cc: 0011e193 ori gp,gp,1 +800005d0: 05d00893 li a7,93 +800005d4: 00018513 mv a0,gp +800005d8: 00000073 ecall + +800005dc : +800005dc: 0ff0000f fence +800005e0: 00100193 li gp,1 +800005e4: 05d00893 li a7,93 +800005e8: 00000513 li a0,0 +800005ec: 00000073 ecall +800005f0: c0001073 unimp +800005f4: 0000 unimp +800005f6: 0000 unimp +800005f8: 0000 unimp +800005fa: 0000 unimp +800005fc: 0000 unimp +800005fe: 0000 unimp +80000600: 0000 unimp +80000602: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-and.hex b/simX/riscv_tests/rv32ui-p-and.hex index 6ec06d92..16d17ca8 100644 --- a/simX/riscv_tests/rv32ui-p-and.hex +++ b/simX/riscv_tests/rv32ui-p-and.hex @@ -2,100 +2,104 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030B70001FFB4 -:1000C000938000F037110F0F1301F1F0B3F120000E -:1000D000B71E000F938E0EF0130E2000639CD149C3 -:1000E000B710F00F938000FF37F1F0F01301010F0C -:1000F000B3F12000B70EF000938E0E0F130E3000F8 -:10010000639AD147B700FF009380F00F37110F0FAC -:100110001301F1F0B3F12000B70E0F00938EFE0033 -:10012000130E40006398D145B7F00FF09380F000B4 -:1001300037F1F0F01301010FB3F12000B7FE00F02A -:10014000130E50006398D143B70001FF938000F075 -:1001500037110F0F1301F1F0B3F02000B71E000F9D -:10016000938E0EF0130E60006396D041B710F00F1F -:10017000938000FF37F1F0F01301010F33F12000FD -:10018000B70EF000938E0E0F130E70006314D13F64 -:10019000B70001FF938000F0B3F01000B70E01FF2D -:1001A000938E0EF0130E80006396D03D1302000074 -:1001B000B70001FF938000F037110F0F1301F1F02A -:1001C000B3F12000138301001302120093022000F8 -:1001D000E31052FEB71E000F938E0EF0130E900028 -:1001E000631AD33913020000B710F00F938000FF99 -:1001F00037F1F0F01301010FB3F1200013000000FC -:10020000138301001302120093022000E31E52FC2C -:10021000B70EF000938E0E0F130EA000631CD335A3 -:1002200013020000B700FF009380F00F37110F0F8B -:100230001301F1F0B3F120001300000013000000DF -:10024000138301001302120093022000E31C52FCEE -:10025000B70E0F00938EFE00130EB000631CD33157 -:1002600013020000B70001FF938000F037110F0F59 -:100270001301F1F0B3F120001302120093022000E9 -:10028000E31252FEB71E000F938E0EF0130EC00045 -:100290006392D12F13020000B710F00F938000FF7C -:1002A00037F1F0F01301010F13000000B3F120004B -:1002B0001302120093022000E31052FEB70EF0006A -:1002C000938E0E0F130ED0006396D12B13020000F5 -:1002D000B700FF009380F00F37110F0F1301F1F0FB -:1002E0001300000013000000B3F1200013021200FD -:1002F00093022000E31E52FCB70E0F00938EFE0007 -:10030000130EE0006398D12713020000B70001FF2D -:10031000938000F01300000037110F0F1301F1F06C -:10032000B3F120001302120093022000E31052FEEA -:10033000B71E000F938E0EF0130EF000639CD123B6 -:1003400013020000B710F00F938000FF13000000AD -:1003500037F1F0F01301010F13000000B3F120009A -:100360001302120093022000E31E52FCB70EF000AD -:10037000938E0E0F130E0001639ED11F1302000017 -:10038000B700FF009380F00F13000000130000007F -:1003900037110F0F1301F1F0B3F120001302120017 -:1003A00093022000E31E52FCB70E0F00938EFE0056 -:1003B000130E10016390D11D1302000037110F0FAF -:1003C0001301F1F0B70001FF938000F0B3F12000BA -:1003D0001302120093022000E31252FEB71E000F18 -:1003E000938E0EF0130E20016396D11913020000B4 -:1003F00037F1F0F01301010FB710F00F938000FFF9 -:1004000013000000B3F12000130212009302200039 -:10041000E31052FEB70EF000938E0E0F130E300154 -:10042000639AD1151302000037110F0F1301F1F079 -:10043000B700FF009380F00F1300000013000000CE -:10044000B3F120001302120093022000E31E52FCBD -:10045000B70E0F00938EFE00130E4001639CD11166 -:100460001302000037110F0F1301F1F01300000009 -:10047000B70001FF938000F0B3F1200013021200D7 -:1004800093022000E31052FEB71E000F938E0EF071 -:10049000130E50016390D10F1302000037F1F0F0FA -:1004A0001301010F13000000B710F00F938000FF3D -:1004B00013000000B3F12000130212009302200089 -:1004C000E31E52FCB70EF000938E0E0F130E600168 -:1004D0006392D10B1302000037110F0F1301F1F0DB -:1004E0001300000013000000B700FF009380F00F1E -:1004F000B3F120001302120093022000E31E52FC0D -:10050000B70E0F00938EFE00130E70016394D10797 -:10051000B70001FF938000F033711000930E0000CC -:10052000130E80016318D105B700FF009380F00F10 -:1005300033F10000930E0000130E9001631CD103F1 -:10054000B3700000930E0000130EA0016394D0035B -:10055000B71011119380101137212222130121228B -:1005600033F02000930E0000130EB0016314D0018D -:10057000631CC0010F00F00F63000E00131E1E006D -:10058000136E1E00730000000F00F00F130E10001A -:1005900073000000731000C00000000000000000A5 -:1005A000000000000000000000000000000000004B -:1005B000000000000000000000000000000000003B -:0405C0000000000037 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030B70001FF938000F0A9 +:1001100037110F0F1301F1F033F72000B71E000F56 +:10012000938E0EF093012000631CD749B710F00F97 +:10013000938000FF37F1F0F01301010F33F7200037 +:10014000B70EF000938E0E0F93013000631AD7475D +:10015000B700FF009380F00F37110F0F1301F1F07C +:1001600033F72000B70E0F00938EFE00930140007E +:100170006318D745B7F00FF09380F00037F1F0F037 +:100180001301010F33F72000B7FE00F09301500078 +:100190006318D743B70001FF938000F037110F0FAA +:1001A0001301F1F0B3F02000B71E000F938E0EF094 +:1001B000930160006396D041B710F00F938000FF69 +:1001C00037F1F0F01301010F33F12000B70EF0000A +:1001D000938E0E0F930170006314D13FB70001FF9F +:1001E000938000F0B3F01000B70E01FF938E0EF075 +:1001F000930180006396D03D13020000B70001FF19 +:10020000938000F037110F0F1301F1F033F7200046 +:10021000130307001302120093022000E31052FEA2 +:10022000B71E000F938E0EF093019000631AD3391E +:1002300013020000B710F00F938000FF37F1F0F0C9 +:100240001301010F33F72000130000001303070010 +:100250001302120093022000E31E52FCB70EF000BE +:10026000938E0E0F9301A000631CD3351302000080 +:10027000B700FF009380F00F37110F0F1301F1F05B +:1002800033F72000130000001300000013030700E1 +:100290001302120093022000E31C52FCB70E0F0061 +:1002A000938EFE009301B000631CD3311302000053 +:1002B000B70001FF938000F037110F0F1301F1F029 +:1002C00033F720001302120093022000E31252FEC3 +:1002D000B71E000F938E0EF09301C0006312D72F4C +:1002E00013020000B710F00F938000FF37F1F0F019 +:1002F0001301010F1300000033F720001302120056 +:1003000093022000E31052FEB70EF000938E0E0F02 +:100310009301D0006316D72B13020000B700FF0033 +:100320009380F00F37110F0F1301F1F0130000004D +:100330001300000033F72000130212009302200084 +:10034000E31E52FCB70E0F00938EFE009301E000F7 +:100350006318D72713020000B70001FF938000F055 +:100360001300000037110F0F1301F1F033F72000D5 +:100370001302120093022000E31052FEB71E000F7A +:10038000938E0EF09301F000631CD723130200003C +:10039000B710F00F938000FF1300000037F1F0F06A +:1003A0001301010F1300000033F7200013021200A5 +:1003B00093022000E31E52FCB70EF000938E0E0F46 +:1003C00093010001631ED71F13020000B700FF0056 +:1003D0009380F00F130000001300000037110F0F7F +:1003E0001301F1F033F720001302120093022000F2 +:1003F000E31E52FCB70E0F00938EFE009301100116 +:100400006310D71D1302000037110F0F1301F1F015 +:10041000B70001FF938000F033F7200013021200B1 +:1004200093022000E31252FEB71E000F938E0EF0CF +:10043000930120016316D7191302000037F1F0F081 +:100440001301010FB710F00F938000FF130000009D +:1004500033F720001302120093022000E31052FE33 +:10046000B70EF000938E0E0F93013001631AD7156B +:100470001302000037110F0F1301F1F0B700FF0056 +:100480009380F00F130000001300000033F72000EA +:100490001302120093022000E31E52FCB70E0F005D +:1004A000938EFE0093014001631CD71113020000DC +:1004B00037110F0F1301F1F013000000B70001FF17 +:1004C000938000F033F72000130212009302200003 +:1004D000E31052FEB71E000F938E0EF093015001F1 +:1004E0006310D70F1302000037F1F0F01301010F72 +:1004F00013000000B710F00F938000FF13000000FE +:1005000033F720001302120093022000E31E52FC76 +:10051000B70EF000938E0E0F930160016312D70B9C +:100520001302000037110F0F1301F1F01300000048 +:1005300013000000B700FF009380F00F33F7200096 +:100540001302120093022000E31E52FCB70E0F00AC +:10055000938EFE00930170016314D707B70001FF6B +:10056000938000F033711000930E0000930180011E +:100570006318D105B700FF009380F00F33F100003E +:10058000930E000093019001631CD103B37000002F +:10059000930E00009301A0016394D003B7101111D2 +:1005A00093801011372122221301212233F02000E1 +:1005B000930E00009301B0016314D0016310300268 +:1005C0000F00F00F638001009391110093E111007F +:1005D0009308D00513850100730000000F00F00F91 +:1005E000930110009308D00513050000730000006C +:1005F000731000C0000000000000000000000000B8 +:0406000000000000F6 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-andi.dump b/simX/riscv_tests/rv32ui-p-andi.dump new file mode 100644 index 00000000..87e3441f --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-andi.dump @@ -0,0 +1,240 @@ + +rv32ui-p-andi: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: ff0100b7 lui ra,0xff010 +8000010c: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000110: f0f0f713 andi a4,ra,-241 +80000114: ff010eb7 lui t4,0xff010 +80000118: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00df00> +8000011c: 00200193 li gp,2 +80000120: 1bd71463 bne a4,t4,800002c8 + +80000124 : +80000124: 0ff010b7 lui ra,0xff01 +80000128: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000012c: 0f00f713 andi a4,ra,240 +80000130: 0f000e93 li t4,240 +80000134: 00300193 li gp,3 +80000138: 19d71863 bne a4,t4,800002c8 + +8000013c : +8000013c: 00ff00b7 lui ra,0xff0 +80000140: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000144: 70f0f713 andi a4,ra,1807 +80000148: 00f00e93 li t4,15 +8000014c: 00400193 li gp,4 +80000150: 17d71c63 bne a4,t4,800002c8 + +80000154 : +80000154: f00ff0b7 lui ra,0xf00ff +80000158: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +8000015c: 0f00f713 andi a4,ra,240 +80000160: 00000e93 li t4,0 +80000164: 00500193 li gp,5 +80000168: 17d71063 bne a4,t4,800002c8 + +8000016c : +8000016c: ff0100b7 lui ra,0xff010 +80000170: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000174: 0f00f093 andi ra,ra,240 +80000178: 00000e93 li t4,0 +8000017c: 00600193 li gp,6 +80000180: 15d09463 bne ra,t4,800002c8 + +80000184 : +80000184: 00000213 li tp,0 +80000188: 0ff010b7 lui ra,0xff01 +8000018c: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000190: 70f0f713 andi a4,ra,1807 +80000194: 00070313 mv t1,a4 +80000198: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000019c: 00200293 li t0,2 +800001a0: fe5214e3 bne tp,t0,80000188 +800001a4: 70000e93 li t4,1792 +800001a8: 00700193 li gp,7 +800001ac: 11d31e63 bne t1,t4,800002c8 + +800001b0 : +800001b0: 00000213 li tp,0 +800001b4: 00ff00b7 lui ra,0xff0 +800001b8: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800001bc: 0f00f713 andi a4,ra,240 +800001c0: 00000013 nop +800001c4: 00070313 mv t1,a4 +800001c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001cc: 00200293 li t0,2 +800001d0: fe5212e3 bne tp,t0,800001b4 +800001d4: 0f000e93 li t4,240 +800001d8: 00800193 li gp,8 +800001dc: 0fd31663 bne t1,t4,800002c8 + +800001e0 : +800001e0: 00000213 li tp,0 +800001e4: f00ff0b7 lui ra,0xf00ff +800001e8: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +800001ec: f0f0f713 andi a4,ra,-241 +800001f0: 00000013 nop +800001f4: 00000013 nop +800001f8: 00070313 mv t1,a4 +800001fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000200: 00200293 li t0,2 +80000204: fe5210e3 bne tp,t0,800001e4 +80000208: f00ffeb7 lui t4,0xf00ff +8000020c: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fd00f> +80000210: 00900193 li gp,9 +80000214: 0bd31a63 bne t1,t4,800002c8 + +80000218 : +80000218: 00000213 li tp,0 +8000021c: 0ff010b7 lui ra,0xff01 +80000220: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000224: 70f0f713 andi a4,ra,1807 +80000228: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000022c: 00200293 li t0,2 +80000230: fe5216e3 bne tp,t0,8000021c +80000234: 70000e93 li t4,1792 +80000238: 00a00193 li gp,10 +8000023c: 09d71663 bne a4,t4,800002c8 + +80000240 : +80000240: 00000213 li tp,0 +80000244: 00ff00b7 lui ra,0xff0 +80000248: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000024c: 00000013 nop +80000250: 0f00f713 andi a4,ra,240 +80000254: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000258: 00200293 li t0,2 +8000025c: fe5214e3 bne tp,t0,80000244 +80000260: 0f000e93 li t4,240 +80000264: 00b00193 li gp,11 +80000268: 07d71063 bne a4,t4,800002c8 + +8000026c : +8000026c: 00000213 li tp,0 +80000270: f00ff0b7 lui ra,0xf00ff +80000274: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +80000278: 00000013 nop +8000027c: 00000013 nop +80000280: 70f0f713 andi a4,ra,1807 +80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000288: 00200293 li t0,2 +8000028c: fe5212e3 bne tp,t0,80000270 +80000290: 00f00e93 li t4,15 +80000294: 00c00193 li gp,12 +80000298: 03d71863 bne a4,t4,800002c8 + +8000029c : +8000029c: 0f007093 andi ra,zero,240 +800002a0: 00000e93 li t4,0 +800002a4: 00d00193 li gp,13 +800002a8: 03d09063 bne ra,t4,800002c8 + +800002ac : +800002ac: 00ff00b7 lui ra,0xff0 +800002b0: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800002b4: 70f0f013 andi zero,ra,1807 +800002b8: 00000e93 li t4,0 +800002bc: 00e00193 li gp,14 +800002c0: 01d01463 bne zero,t4,800002c8 +800002c4: 02301063 bne zero,gp,800002e4 + +800002c8 : +800002c8: 0ff0000f fence +800002cc: 00018063 beqz gp,800002cc +800002d0: 00119193 slli gp,gp,0x1 +800002d4: 0011e193 ori gp,gp,1 +800002d8: 05d00893 li a7,93 +800002dc: 00018513 mv a0,gp +800002e0: 00000073 ecall + +800002e4 : +800002e4: 0ff0000f fence +800002e8: 00100193 li gp,1 +800002ec: 05d00893 li a7,93 +800002f0: 00000513 li a0,0 +800002f4: 00000073 ecall +800002f8: c0001073 unimp +800002fc: 0000 unimp +800002fe: 0000 unimp +80000300: 0000 unimp +80000302: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-andi.hex b/simX/riscv_tests/rv32ui-p-andi.hex index 8a63aef3..8bba9576 100644 --- a/simX/riscv_tests/rv32ui-p-andi.hex +++ b/simX/riscv_tests/rv32ui-p-andi.hex @@ -2,52 +2,56 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030B70001FFB4 -:1000C000938000F093F1F0F0B70E01FF938E0EF0E5 -:1000D000130E20006394D11BB710F00F938000FF24 -:1000E00093F1000F930E000F130E30006398D11997 -:1000F000B700FF009380F00F93F1F070930EF000C3 -:10010000130E4000639CD117B7F00FF09380F000FE -:1001100093F1000F930E0000130E50006390D1175F -:10012000B70001FF938000F093F0000F930E0000E2 -:10013000130E60006394D01513020000B710F00F87 -:10014000938000FF93F1F0701383010013021200FB -:1001500093022000E31452FE930E0070130E700001 -:10016000631ED31113020000B700FF009380F00F4D -:1001700093F1000F1300000013830100130212001B -:1001800093022000E31252FE930E000F130E800024 -:100190006316D30F13020000B7F00FF09380F00046 -:1001A00093F1F0F01300000013000000138301002E -:1001B0001302120093022000E31052FEB7FE0FF06C -:1001C000938EFE00130E9000631AD30B13020000EF -:1001D000B710F00F938000FF93F1F070130212003C -:1001E00093022000E31652FE930E0070130EA0003F -:1001F0006396D10913020000B700FF009380F00F4F -:100200001300000093F1000F13021200930220006C -:10021000E31452FE930E000F130EB0006390D1074B -:1002200013020000B7F00FF09380F00013000000FD -:100230001300000093F1F0701302120093022000EB -:10024000E31252FE930EF000130EC0006398D10328 -:100250009370000F930E0000130ED0006390D00334 -:10026000B700FF009380F00F13F0F070930E0000C2 -:10027000130EE0006314D001631CC0010F00F00FE7 -:1002800063000E00131E1E00136E1E00730000009C -:100290000F00F00F130E100073000000731000C069 -:1002A000000000000000000000000000000000004E -:1002B000000000000000000000000000000000003E -:0402C000000000003A +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030B70001FF938000F0A9 +:1001100013F7F0F0B70E01FF938E0EF0930120005D +:100120006314D71BB710F00F938000FF13F7000F75 +:10013000930E000F930130006318D719B700FF002A +:100140009380F00F13F7F070930EF00093014000CE +:10015000631CD717B7F00FF09380F00013F7000F70 +:10016000930E0000930150006310D717B70001FFF2 +:10017000938000F093F0000F930E00009301600055 +:100180006394D01513020000B710F00F938000FFA6 +:1001900013F7F070130307001302120093022000FC +:1001A000E31452FE930E007093017000631ED3118E +:1001B00013020000B700FF009380F00F13F7000F49 +:1001C0001300000013030700130212009302200023 +:1001D000E31252FE930E000F930180006316D30FBB +:1001E00013020000B7F00FF09380F00013F7F0F067 +:1001F0001300000013000000130307001302120095 +:1002000093022000E31052FEB7FE0FF0938EFE0023 +:1002100093019000631AD30B13020000B710F00F84 +:10022000938000FF13F7F070130212009302200076 +:10023000E31652FE930E00709301A0006316D709D7 +:1002400013020000B700FF009380F00F13000000BE +:1002500013F7000F1302120093022000E31452FE62 +:10026000930E000F9301B0006310D7071302000034 +:10027000B7F00FF09380F0001300000013000000AF +:1002800013F7F0701302120093022000E31252FEE3 +:10029000930EF0009301C0006318D7039370000F12 +:1002A000930E00009301D0006390D003B700FF00CD +:1002B0009380F00F13F0F070930E00009301E000B4 +:1002C0006314D001631030020F00F00F638001004F +:1002D0009391110093E111009308D005138501005B +:1002E000730000000F00F00F930110009308D00579 +:1002F0001305000073000000731000C00000000030 +:0403000000000000F9 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-auipc.dump b/simX/riscv_tests/rv32ui-p-auipc.dump new file mode 100644 index 00000000..9c86bd9f --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-auipc.dump @@ -0,0 +1,149 @@ + +rv32ui-p-auipc: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00002517 auipc a0,0x2 +8000010c: 71c50513 addi a0,a0,1820 # 80002824 <_end+0x824> +80000110: 004005ef jal a1,80000114 +80000114: 40b50533 sub a0,a0,a1 +80000118: 00002eb7 lui t4,0x2 +8000011c: 710e8e93 addi t4,t4,1808 # 2710 <_start-0x7fffd8f0> +80000120: 00200193 li gp,2 +80000124: 03d51463 bne a0,t4,8000014c + +80000128 : +80000128: ffffe517 auipc a0,0xffffe +8000012c: 8fc50513 addi a0,a0,-1796 # 7fffda24 <_start-0x25dc> +80000130: 004005ef jal a1,80000134 +80000134: 40b50533 sub a0,a0,a1 +80000138: ffffeeb7 lui t4,0xffffe +8000013c: 8f0e8e93 addi t4,t4,-1808 # ffffd8f0 <_end+0x7fffb8f0> +80000140: 00300193 li gp,3 +80000144: 01d51463 bne a0,t4,8000014c +80000148: 02301063 bne zero,gp,80000168 + +8000014c : +8000014c: 0ff0000f fence +80000150: 00018063 beqz gp,80000150 +80000154: 00119193 slli gp,gp,0x1 +80000158: 0011e193 ori gp,gp,1 +8000015c: 05d00893 li a7,93 +80000160: 00018513 mv a0,gp +80000164: 00000073 ecall + +80000168 : +80000168: 0ff0000f fence +8000016c: 00100193 li gp,1 +80000170: 05d00893 li a7,93 +80000174: 00000513 li a0,0 +80000178: 00000073 ecall +8000017c: c0001073 unimp +80000180: 0000 unimp +80000182: 0000 unimp +80000184: 0000 unimp +80000186: 0000 unimp +80000188: 0000 unimp +8000018a: 0000 unimp +8000018c: 0000 unimp +8000018e: 0000 unimp +80000190: 0000 unimp +80000192: 0000 unimp +80000194: 0000 unimp +80000196: 0000 unimp +80000198: 0000 unimp +8000019a: 0000 unimp +8000019c: 0000 unimp +8000019e: 0000 unimp +800001a0: 0000 unimp +800001a2: 0000 unimp +800001a4: 0000 unimp +800001a6: 0000 unimp +800001a8: 0000 unimp +800001aa: 0000 unimp +800001ac: 0000 unimp +800001ae: 0000 unimp +800001b0: 0000 unimp +800001b2: 0000 unimp +800001b4: 0000 unimp +800001b6: 0000 unimp +800001b8: 0000 unimp +800001ba: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-auipc.hex b/simX/riscv_tests/rv32ui-p-auipc.hex index 6d15d3d8..f3ce44c7 100644 --- a/simX/riscv_tests/rv32ui-p-auipc.hex +++ b/simX/riscv_tests/rv32ui-p-auipc.hex @@ -2,27 +2,35 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F1730020301300000058 -:1000C000172500001305C571EF0540003305B54045 -:1000D000B72E0000938E0E71130E20006314D5030B -:1000E00017E5FFFF1305C58FEF0540003305B54049 -:1000F000B7EEFFFF938E0E8F130E30006314D50101 -:10010000631CC0010F00F00F63000E00131E1E00E1 -:10011000136E1E00730000000F00F00F130E10008E -:1001200073000000731000C0000000000000000019 -:1001300000000000000000000000000000000000BF +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030172500001305C571D9 +:10011000EF0540003305B540B72E0000938E0E71F9 +:10012000930120006314D50317E5FFFF1305C58F66 +:10013000EF0540003305B540B7EEFFFF938E0E8FFD +:10014000930130006314D501631030020F00F00FEB +:10015000638001009391110093E111009308D00591 +:1001600013850100730000000F00F00F93011000D1 +:100170009308D0051305000073000000731000C041 +:10018000000000000000000000000000000000006F +:10019000000000000000000000000000000000005F +:1001A000000000000000000000000000000000004F +:0C01B00000000000000000000000000043 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-beq.dump b/simX/riscv_tests/rv32ui-p-beq.dump new file mode 100644 index 00000000..fcf03f41 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-beq.dump @@ -0,0 +1,318 @@ + +rv32ui-p-beq: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00200193 li gp,2 +8000010c: 00000093 li ra,0 +80000110: 00000113 li sp,0 +80000114: 00208663 beq ra,sp,80000120 +80000118: 2a301863 bne zero,gp,800003c8 +8000011c: 00301663 bne zero,gp,80000128 +80000120: fe208ee3 beq ra,sp,8000011c +80000124: 2a301263 bne zero,gp,800003c8 + +80000128 : +80000128: 00300193 li gp,3 +8000012c: 00100093 li ra,1 +80000130: 00100113 li sp,1 +80000134: 00208663 beq ra,sp,80000140 +80000138: 28301863 bne zero,gp,800003c8 +8000013c: 00301663 bne zero,gp,80000148 +80000140: fe208ee3 beq ra,sp,8000013c +80000144: 28301263 bne zero,gp,800003c8 + +80000148 : +80000148: 00400193 li gp,4 +8000014c: fff00093 li ra,-1 +80000150: fff00113 li sp,-1 +80000154: 00208663 beq ra,sp,80000160 +80000158: 26301863 bne zero,gp,800003c8 +8000015c: 00301663 bne zero,gp,80000168 +80000160: fe208ee3 beq ra,sp,8000015c +80000164: 26301263 bne zero,gp,800003c8 + +80000168 : +80000168: 00500193 li gp,5 +8000016c: 00000093 li ra,0 +80000170: 00100113 li sp,1 +80000174: 00208463 beq ra,sp,8000017c +80000178: 00301463 bne zero,gp,80000180 +8000017c: 24301663 bne zero,gp,800003c8 +80000180: fe208ee3 beq ra,sp,8000017c + +80000184 : +80000184: 00600193 li gp,6 +80000188: 00100093 li ra,1 +8000018c: 00000113 li sp,0 +80000190: 00208463 beq ra,sp,80000198 +80000194: 00301463 bne zero,gp,8000019c +80000198: 22301863 bne zero,gp,800003c8 +8000019c: fe208ee3 beq ra,sp,80000198 + +800001a0 : +800001a0: 00700193 li gp,7 +800001a4: fff00093 li ra,-1 +800001a8: 00100113 li sp,1 +800001ac: 00208463 beq ra,sp,800001b4 +800001b0: 00301463 bne zero,gp,800001b8 +800001b4: 20301a63 bne zero,gp,800003c8 +800001b8: fe208ee3 beq ra,sp,800001b4 + +800001bc : +800001bc: 00800193 li gp,8 +800001c0: 00100093 li ra,1 +800001c4: fff00113 li sp,-1 +800001c8: 00208463 beq ra,sp,800001d0 +800001cc: 00301463 bne zero,gp,800001d4 +800001d0: 1e301c63 bne zero,gp,800003c8 +800001d4: fe208ee3 beq ra,sp,800001d0 + +800001d8 : +800001d8: 00900193 li gp,9 +800001dc: 00000213 li tp,0 +800001e0: 00000093 li ra,0 +800001e4: fff00113 li sp,-1 +800001e8: 1e208063 beq ra,sp,800003c8 +800001ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001f0: 00200293 li t0,2 +800001f4: fe5216e3 bne tp,t0,800001e0 + +800001f8 : +800001f8: 00a00193 li gp,10 +800001fc: 00000213 li tp,0 +80000200: 00000093 li ra,0 +80000204: fff00113 li sp,-1 +80000208: 00000013 nop +8000020c: 1a208e63 beq ra,sp,800003c8 +80000210: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000214: 00200293 li t0,2 +80000218: fe5214e3 bne tp,t0,80000200 + +8000021c : +8000021c: 00b00193 li gp,11 +80000220: 00000213 li tp,0 +80000224: 00000093 li ra,0 +80000228: fff00113 li sp,-1 +8000022c: 00000013 nop +80000230: 00000013 nop +80000234: 18208a63 beq ra,sp,800003c8 +80000238: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000023c: 00200293 li t0,2 +80000240: fe5212e3 bne tp,t0,80000224 + +80000244 : +80000244: 00c00193 li gp,12 +80000248: 00000213 li tp,0 +8000024c: 00000093 li ra,0 +80000250: 00000013 nop +80000254: fff00113 li sp,-1 +80000258: 16208863 beq ra,sp,800003c8 +8000025c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000260: 00200293 li t0,2 +80000264: fe5214e3 bne tp,t0,8000024c + +80000268 : +80000268: 00d00193 li gp,13 +8000026c: 00000213 li tp,0 +80000270: 00000093 li ra,0 +80000274: 00000013 nop +80000278: fff00113 li sp,-1 +8000027c: 00000013 nop +80000280: 14208463 beq ra,sp,800003c8 +80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000288: 00200293 li t0,2 +8000028c: fe5212e3 bne tp,t0,80000270 + +80000290 : +80000290: 00e00193 li gp,14 +80000294: 00000213 li tp,0 +80000298: 00000093 li ra,0 +8000029c: 00000013 nop +800002a0: 00000013 nop +800002a4: fff00113 li sp,-1 +800002a8: 12208063 beq ra,sp,800003c8 +800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b0: 00200293 li t0,2 +800002b4: fe5212e3 bne tp,t0,80000298 + +800002b8 : +800002b8: 00f00193 li gp,15 +800002bc: 00000213 li tp,0 +800002c0: 00000093 li ra,0 +800002c4: fff00113 li sp,-1 +800002c8: 10208063 beq ra,sp,800003c8 +800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d0: 00200293 li t0,2 +800002d4: fe5216e3 bne tp,t0,800002c0 + +800002d8 : +800002d8: 01000193 li gp,16 +800002dc: 00000213 li tp,0 +800002e0: 00000093 li ra,0 +800002e4: fff00113 li sp,-1 +800002e8: 00000013 nop +800002ec: 0c208e63 beq ra,sp,800003c8 +800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f4: 00200293 li t0,2 +800002f8: fe5214e3 bne tp,t0,800002e0 + +800002fc : +800002fc: 01100193 li gp,17 +80000300: 00000213 li tp,0 +80000304: 00000093 li ra,0 +80000308: fff00113 li sp,-1 +8000030c: 00000013 nop +80000310: 00000013 nop +80000314: 0a208a63 beq ra,sp,800003c8 +80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000031c: 00200293 li t0,2 +80000320: fe5212e3 bne tp,t0,80000304 + +80000324 : +80000324: 01200193 li gp,18 +80000328: 00000213 li tp,0 +8000032c: 00000093 li ra,0 +80000330: 00000013 nop +80000334: fff00113 li sp,-1 +80000338: 08208863 beq ra,sp,800003c8 +8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000340: 00200293 li t0,2 +80000344: fe5214e3 bne tp,t0,8000032c + +80000348 : +80000348: 01300193 li gp,19 +8000034c: 00000213 li tp,0 +80000350: 00000093 li ra,0 +80000354: 00000013 nop +80000358: fff00113 li sp,-1 +8000035c: 00000013 nop +80000360: 06208463 beq ra,sp,800003c8 +80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000368: 00200293 li t0,2 +8000036c: fe5212e3 bne tp,t0,80000350 + +80000370 : +80000370: 01400193 li gp,20 +80000374: 00000213 li tp,0 +80000378: 00000093 li ra,0 +8000037c: 00000013 nop +80000380: 00000013 nop +80000384: fff00113 li sp,-1 +80000388: 04208063 beq ra,sp,800003c8 +8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000390: 00200293 li t0,2 +80000394: fe5212e3 bne tp,t0,80000378 + +80000398 : +80000398: 00100093 li ra,1 +8000039c: 00000a63 beqz zero,800003b0 +800003a0: 00108093 addi ra,ra,1 +800003a4: 00108093 addi ra,ra,1 +800003a8: 00108093 addi ra,ra,1 +800003ac: 00108093 addi ra,ra,1 +800003b0: 00108093 addi ra,ra,1 +800003b4: 00108093 addi ra,ra,1 +800003b8: 00300e93 li t4,3 +800003bc: 01500193 li gp,21 +800003c0: 01d09463 bne ra,t4,800003c8 +800003c4: 02301063 bne zero,gp,800003e4 + +800003c8 : +800003c8: 0ff0000f fence +800003cc: 00018063 beqz gp,800003cc +800003d0: 00119193 slli gp,gp,0x1 +800003d4: 0011e193 ori gp,gp,1 +800003d8: 05d00893 li a7,93 +800003dc: 00018513 mv a0,gp +800003e0: 00000073 ecall + +800003e4 : +800003e4: 0ff0000f fence +800003e8: 00100193 li gp,1 +800003ec: 05d00893 li a7,93 +800003f0: 00000513 li a0,0 +800003f4: 00000073 ecall +800003f8: c0001073 unimp +800003fc: 0000 unimp +800003fe: 0000 unimp +80000400: 0000 unimp +80000402: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-beq.hex b/simX/riscv_tests/rv32ui-p-beq.hex index 5983d718..4e79f354 100644 --- a/simX/riscv_tests/rv32ui-p-beq.hex +++ b/simX/riscv_tests/rv32ui-p-beq.hex @@ -2,68 +2,72 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030130E20002A -:1000C0009300000013010000638620006318C02B1A -:1000D0006316C001E38E20FE6312C02B130E3000A6 -:1000E0009300100013011000638620006318C029DC -:1000F0006316C001E38E20FE6312C029130E400078 -:100100009300F0FF1301F0FF638620006318C027FF -:100110006316C001E38E20FE6312C027130E500049 -:100120009300000013011000638420006314C001D9 -:100130006316C025E38E20FE130E600093001000AE -:1001400013010000638420006314C0016318C023FE -:10015000E38E20FE130E70009300F0FF13011000D9 -:10016000638420006314C001631AC021E38E20FE63 -:10017000130E8000930010001301F0FF6384200031 -:100180006314C001631CC01FE38E20FE130E900099 -:1001900013020000930000001301F0FF6380201E93 -:1001A0001302120093022000E31652FE130EA00069 -:1001B00013020000930000001301F0FF1300000081 -:1001C000638E201A1302120093022000E31452FEE1 -:1001D000130EB00013020000930000001301F0FFA3 -:1001E0001300000013000000638A2018130212009D -:1001F00093022000E31252FE130EC000130200000F -:1002000093000000130000001301F0FF6388201624 -:100210001302120093022000E31452FE130ED000CA -:100220001302000093000000130000001301F0FF10 -:1002300013000000638420141302120093022000B4 -:10024000E31252FE130EE0001302000093000000C0 -:1002500013000000130000001301F0FF6380201260 -:100260001302120093022000E31252FE130EF0005C -:1002700013020000930000001301F0FF63802010C0 -:100280001302120093022000E31652FE130E000127 -:1002900013020000930000001301F0FF13000000A0 -:1002A000638E200C1302120093022000E31452FE0E -:1002B000130E100113020000930000001301F0FF61 -:1002C0001300000013000000638A200A13021200CA -:1002D00093022000E31252FE130E200113020000CD -:1002E00093000000130000001301F0FF6388200852 -:1002F0001302120093022000E31452FE130E300189 -:100300001302000093000000130000001301F0FF2F -:1003100013000000638420061302120093022000E1 -:10032000E31252FE130E400113020000930000007E -:1003300013000000130000001301F0FF638020048D -:100340001302120093022000E31252FE93001000E9 -:10035000630A0000938010009380100093801000C7 -:10036000938010009380100093801000930E300053 -:10037000130E50016394D001631CC0010F00F00FF5 -:1003800063000E00131E1E00136E1E00730000009B -:100390000F00F00F130E100073000000731000C068 -:1003A000000000000000000000000000000000004D -:1003B000000000000000000000000000000000003D -:0403C0000000000039 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093012000930000001C +:1001100013010000638620006318302A6316300044 +:10012000E38E20FE6312302A93013000930010000A +:100130001301100063862000631830286316300016 +:10014000E38E20FE63123028930140009300F0FFFD +:100150001301F0FF63862000631830266316300019 +:10016000E38E20FE631230269301500093000000BE +:1001700013011000638420006314300063163024E0 +:10018000E38E20FE93016000930010001301000035 +:10019000638420006314300063183022E38E20FE55 +:1001A000930170009300F0FF13011000638420009E +:1001B00063143000631A3020E38E20FE9301800028 +:1001C000930010001301F0FF6384200063143000DB +:1001D000631C301EE38E20FE93019000130200008A +:1001E000930000001301F0FF6380201E1302120031 +:1001F00093022000E31652FE9301A00013020000B8 +:10020000930000001301F0FF13000000638E201A1A +:100210001302120093022000E31452FE9301B00077 +:1002200013020000930000001301F0FF1300000010 +:1002300013000000638A20181302120093022000AA +:10024000E31252FE9301C00013020000930000006D +:10025000130000001301F0FF638820161302120040 +:1002600093022000E31452FE9301D0001302000019 +:1002700093000000130000001301F0FF13000000C2 +:10028000638420141302120093022000E31252FE32 +:100290009301E0001302000093000000130000002F +:1002A000130000001301F0FF6380201213021200FC +:1002B00093022000E31252FE9301F00013020000AB +:1002C000930000001301F0FF63802010130212005E +:1002D00093022000E31652FE930100011302000076 +:1002E000930000001301F0FF13000000638E200C48 +:1002F0001302120093022000E31452FE9301100136 +:1003000013020000930000001301F0FF130000002F +:1003100013000000638A200A1302120093022000D7 +:10032000E31252FE9301200113020000930000002B +:10033000130000001301F0FF63882008130212006D +:1003400093022000E31452FE9301300113020000D7 +:1003500093000000130000001301F0FF13000000E1 +:10036000638420061302120093022000E31252FE5F +:1003700093014001130200009300000013000000ED +:10038000130000001301F0FF638020041302120029 +:1003900093022000E31252FE93001000630A000053 +:1003A00093801000938010009380100093801000C1 +:1003B0009380100093801000930E30009301500141 +:1003C0006394D001631030020F00F00F63800100CE +:1003D0009391110093E111009308D005138501005A +:1003E000730000000F00F00F930110009308D00578 +:1003F0001305000073000000731000C0000000002F +:0404000000000000F8 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-bge.dump b/simX/riscv_tests/rv32ui-p-bge.dump new file mode 100644 index 00000000..52dbf591 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-bge.dump @@ -0,0 +1,364 @@ + +rv32ui-p-bge: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00200193 li gp,2 +8000010c: 00000093 li ra,0 +80000110: 00000113 li sp,0 +80000114: 0020d663 bge ra,sp,80000120 +80000118: 30301863 bne zero,gp,80000428 +8000011c: 00301663 bne zero,gp,80000128 +80000120: fe20dee3 bge ra,sp,8000011c +80000124: 30301263 bne zero,gp,80000428 + +80000128 : +80000128: 00300193 li gp,3 +8000012c: 00100093 li ra,1 +80000130: 00100113 li sp,1 +80000134: 0020d663 bge ra,sp,80000140 +80000138: 2e301863 bne zero,gp,80000428 +8000013c: 00301663 bne zero,gp,80000148 +80000140: fe20dee3 bge ra,sp,8000013c +80000144: 2e301263 bne zero,gp,80000428 + +80000148 : +80000148: 00400193 li gp,4 +8000014c: fff00093 li ra,-1 +80000150: fff00113 li sp,-1 +80000154: 0020d663 bge ra,sp,80000160 +80000158: 2c301863 bne zero,gp,80000428 +8000015c: 00301663 bne zero,gp,80000168 +80000160: fe20dee3 bge ra,sp,8000015c +80000164: 2c301263 bne zero,gp,80000428 + +80000168 : +80000168: 00500193 li gp,5 +8000016c: 00100093 li ra,1 +80000170: 00000113 li sp,0 +80000174: 0020d663 bge ra,sp,80000180 +80000178: 2a301863 bne zero,gp,80000428 +8000017c: 00301663 bne zero,gp,80000188 +80000180: fe20dee3 bge ra,sp,8000017c +80000184: 2a301263 bne zero,gp,80000428 + +80000188 : +80000188: 00600193 li gp,6 +8000018c: 00100093 li ra,1 +80000190: fff00113 li sp,-1 +80000194: 0020d663 bge ra,sp,800001a0 +80000198: 28301863 bne zero,gp,80000428 +8000019c: 00301663 bne zero,gp,800001a8 +800001a0: fe20dee3 bge ra,sp,8000019c +800001a4: 28301263 bne zero,gp,80000428 + +800001a8 : +800001a8: 00700193 li gp,7 +800001ac: fff00093 li ra,-1 +800001b0: ffe00113 li sp,-2 +800001b4: 0020d663 bge ra,sp,800001c0 +800001b8: 26301863 bne zero,gp,80000428 +800001bc: 00301663 bne zero,gp,800001c8 +800001c0: fe20dee3 bge ra,sp,800001bc +800001c4: 26301263 bne zero,gp,80000428 + +800001c8 : +800001c8: 00800193 li gp,8 +800001cc: 00000093 li ra,0 +800001d0: 00100113 li sp,1 +800001d4: 0020d463 bge ra,sp,800001dc +800001d8: 00301463 bne zero,gp,800001e0 +800001dc: 24301663 bne zero,gp,80000428 +800001e0: fe20dee3 bge ra,sp,800001dc + +800001e4 : +800001e4: 00900193 li gp,9 +800001e8: fff00093 li ra,-1 +800001ec: 00100113 li sp,1 +800001f0: 0020d463 bge ra,sp,800001f8 +800001f4: 00301463 bne zero,gp,800001fc +800001f8: 22301863 bne zero,gp,80000428 +800001fc: fe20dee3 bge ra,sp,800001f8 + +80000200 : +80000200: 00a00193 li gp,10 +80000204: ffe00093 li ra,-2 +80000208: fff00113 li sp,-1 +8000020c: 0020d463 bge ra,sp,80000214 +80000210: 00301463 bne zero,gp,80000218 +80000214: 20301a63 bne zero,gp,80000428 +80000218: fe20dee3 bge ra,sp,80000214 + +8000021c : +8000021c: 00b00193 li gp,11 +80000220: ffe00093 li ra,-2 +80000224: 00100113 li sp,1 +80000228: 0020d463 bge ra,sp,80000230 +8000022c: 00301463 bne zero,gp,80000234 +80000230: 1e301c63 bne zero,gp,80000428 +80000234: fe20dee3 bge ra,sp,80000230 + +80000238 : +80000238: 00c00193 li gp,12 +8000023c: 00000213 li tp,0 +80000240: fff00093 li ra,-1 +80000244: 00000113 li sp,0 +80000248: 1e20d063 bge ra,sp,80000428 +8000024c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000250: 00200293 li t0,2 +80000254: fe5216e3 bne tp,t0,80000240 + +80000258 : +80000258: 00d00193 li gp,13 +8000025c: 00000213 li tp,0 +80000260: fff00093 li ra,-1 +80000264: 00000113 li sp,0 +80000268: 00000013 nop +8000026c: 1a20de63 bge ra,sp,80000428 +80000270: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000274: 00200293 li t0,2 +80000278: fe5214e3 bne tp,t0,80000260 + +8000027c : +8000027c: 00e00193 li gp,14 +80000280: 00000213 li tp,0 +80000284: fff00093 li ra,-1 +80000288: 00000113 li sp,0 +8000028c: 00000013 nop +80000290: 00000013 nop +80000294: 1820da63 bge ra,sp,80000428 +80000298: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000029c: 00200293 li t0,2 +800002a0: fe5212e3 bne tp,t0,80000284 + +800002a4 : +800002a4: 00f00193 li gp,15 +800002a8: 00000213 li tp,0 +800002ac: fff00093 li ra,-1 +800002b0: 00000013 nop +800002b4: 00000113 li sp,0 +800002b8: 1620d863 bge ra,sp,80000428 +800002bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c0: 00200293 li t0,2 +800002c4: fe5214e3 bne tp,t0,800002ac + +800002c8 : +800002c8: 01000193 li gp,16 +800002cc: 00000213 li tp,0 +800002d0: fff00093 li ra,-1 +800002d4: 00000013 nop +800002d8: 00000113 li sp,0 +800002dc: 00000013 nop +800002e0: 1420d463 bge ra,sp,80000428 +800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e8: 00200293 li t0,2 +800002ec: fe5212e3 bne tp,t0,800002d0 + +800002f0 : +800002f0: 01100193 li gp,17 +800002f4: 00000213 li tp,0 +800002f8: fff00093 li ra,-1 +800002fc: 00000013 nop +80000300: 00000013 nop +80000304: 00000113 li sp,0 +80000308: 1220d063 bge ra,sp,80000428 +8000030c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000310: 00200293 li t0,2 +80000314: fe5212e3 bne tp,t0,800002f8 + +80000318 : +80000318: 01200193 li gp,18 +8000031c: 00000213 li tp,0 +80000320: fff00093 li ra,-1 +80000324: 00000113 li sp,0 +80000328: 1020d063 bge ra,sp,80000428 +8000032c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000330: 00200293 li t0,2 +80000334: fe5216e3 bne tp,t0,80000320 + +80000338 : +80000338: 01300193 li gp,19 +8000033c: 00000213 li tp,0 +80000340: fff00093 li ra,-1 +80000344: 00000113 li sp,0 +80000348: 00000013 nop +8000034c: 0c20de63 bge ra,sp,80000428 +80000350: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000354: 00200293 li t0,2 +80000358: fe5214e3 bne tp,t0,80000340 + +8000035c : +8000035c: 01400193 li gp,20 +80000360: 00000213 li tp,0 +80000364: fff00093 li ra,-1 +80000368: 00000113 li sp,0 +8000036c: 00000013 nop +80000370: 00000013 nop +80000374: 0a20da63 bge ra,sp,80000428 +80000378: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000037c: 00200293 li t0,2 +80000380: fe5212e3 bne tp,t0,80000364 + +80000384 : +80000384: 01500193 li gp,21 +80000388: 00000213 li tp,0 +8000038c: fff00093 li ra,-1 +80000390: 00000013 nop +80000394: 00000113 li sp,0 +80000398: 0820d863 bge ra,sp,80000428 +8000039c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a0: 00200293 li t0,2 +800003a4: fe5214e3 bne tp,t0,8000038c + +800003a8 : +800003a8: 01600193 li gp,22 +800003ac: 00000213 li tp,0 +800003b0: fff00093 li ra,-1 +800003b4: 00000013 nop +800003b8: 00000113 li sp,0 +800003bc: 00000013 nop +800003c0: 0620d463 bge ra,sp,80000428 +800003c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003c8: 00200293 li t0,2 +800003cc: fe5212e3 bne tp,t0,800003b0 + +800003d0 : +800003d0: 01700193 li gp,23 +800003d4: 00000213 li tp,0 +800003d8: fff00093 li ra,-1 +800003dc: 00000013 nop +800003e0: 00000013 nop +800003e4: 00000113 li sp,0 +800003e8: 0420d063 bge ra,sp,80000428 +800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f0: 00200293 li t0,2 +800003f4: fe5212e3 bne tp,t0,800003d8 + +800003f8 : +800003f8: 00100093 li ra,1 +800003fc: 0000da63 bgez ra,80000410 +80000400: 00108093 addi ra,ra,1 +80000404: 00108093 addi ra,ra,1 +80000408: 00108093 addi ra,ra,1 +8000040c: 00108093 addi ra,ra,1 +80000410: 00108093 addi ra,ra,1 +80000414: 00108093 addi ra,ra,1 +80000418: 00300e93 li t4,3 +8000041c: 01800193 li gp,24 +80000420: 01d09463 bne ra,t4,80000428 +80000424: 02301063 bne zero,gp,80000444 + +80000428 : +80000428: 0ff0000f fence +8000042c: 00018063 beqz gp,8000042c +80000430: 00119193 slli gp,gp,0x1 +80000434: 0011e193 ori gp,gp,1 +80000438: 05d00893 li a7,93 +8000043c: 00018513 mv a0,gp +80000440: 00000073 ecall + +80000444 : +80000444: 0ff0000f fence +80000448: 00100193 li gp,1 +8000044c: 05d00893 li a7,93 +80000450: 00000513 li a0,0 +80000454: 00000073 ecall +80000458: c0001073 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/simX/riscv_tests/rv32ui-p-bge.hex b/simX/riscv_tests/rv32ui-p-bge.hex index ea098af9..c127700b 100644 --- a/simX/riscv_tests/rv32ui-p-bge.hex +++ b/simX/riscv_tests/rv32ui-p-bge.hex @@ -2,72 +2,80 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030130E20002A -:1000C000930000001301000063D620006318C031C4 -:1000D0006316C001E3DE20FE6312C031130E300050 -:1000E000930010001301100063D620006318C02F86 -:1000F0006316C001E3DE20FE6312C02F130E400022 -:100100009300F0FF1301F0FF63D620006318C02DA9 -:100110006316C001E3DE20FE6312C02D130E5000F3 -:10012000930010001301000063D620006318C02B59 -:100130006316C001E3DE20FE6312C02B130E6000C5 -:10014000930010001301F0FF63D620006318C0294C -:100150006316C001E3DE20FE6312C029130E700097 -:100160009300F0FF1301E0FF63D620006318C0275F -:100170006316C001E3DE20FE6312C027130E800069 -:10018000930000001301100063D420006314C00129 -:100190006316C025E3DE20FE130E90009300F0FFEF -:1001A0001301100063D420006314C0016318C0233E -:1001B000E3DE20FE130EA0009300E0FF1301F0FF2A -:1001C00063D420006314C001631AC021E3DE20FE63 -:1001D000130EB0009300E0FF1301100063D4200061 -:1001E0006314C001631CC01FE3DE20FE130EC000B9 -:1001F000130200009300F0FF1301000063D0201EE3 -:100200001302120093022000E31652FE130ED000D8 -:10021000130200009300F0FF130100001300000020 -:1002200063DE201A1302120093022000E31452FE30 -:10023000130EE000130200009300F0FF1301000012 -:10024000130000001300000063DA201813021200EC -:1002500093022000E31252FE130EF000130200007E -:100260009300F0FF130000001301000063D8201674 -:100270001302120093022000E31452FE130E000139 -:10028000130200009300F0FF1300000013010000B0 -:100290001300000063D42014130212009302200004 -:1002A000E31252FE130E1001130200009300F0FF40 -:1002B00013000000130000001301000063D020129F -:1002C0001302120093022000E31252FE130E2001CB -:1002D000130200009300F0FF1301000063D0201010 -:1002E0001302120093022000E31652FE130E300197 -:1002F000130200009300F0FF130100001300000040 -:1003000063DE200C1302120093022000E31452FE5D -:10031000130E4001130200009300F0FF13010000D0 -:10032000130000001300000063DA200A1302120019 -:1003300093022000E31252FE130E5001130200003C -:100340009300F0FF130000001301000063D82008A1 -:100350001302120093022000E31452FE130E6001F8 -:10036000130200009300F0FF1300000013010000CF -:100370001300000063D42006130212009302200031 -:10038000E31252FE130E7001130200009300F0FFFF -:1003900013000000130000001301000063D02004CC -:1003A0001302120093022000E31252FE9300100089 -:1003B00063DA000093801000938010009380100097 -:1003C000938010009380100093801000930E3000F3 -:1003D000130E80016394D001631CC0010F00F00F65 -:1003E00063000E00131E1E00136E1E00730000003B -:1003F0000F00F00F130E100073000000731000C008 -:0404000000000000F8 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093012000930000001C +:100110001301000063D620006318303063163000EE +:10012000E3DE20FE631230309301300093001000B4 +:100130001301100063D620006318302E63163000C0 +:10014000E3DE20FE6312302E930140009300F0FFA7 +:100150001301F0FF63D620006318302C63163000C3 +:10016000E3DE20FE6312302C930150009300100058 +:100170001301000063D620006318302A6316300094 +:10018000E3DE20FE6312302A93016000930010002A +:100190001301F0FF63D62000631830286316300087 +:1001A000E3DE20FE63123028930170009300F0FF1D +:1001B0001301E0FF63D62000631830266316300079 +:1001C000E3DE20FE631230269301800093000000DE +:1001D0001301100063D42000631430006316302430 +:1001E000E3DE20FE930190009300F0FF1301100066 +:1001F00063D420006314300063183022E3DE20FE55 +:100200009301A0009300E0FF1301F0FF63D42000EE +:1002100063143000631A3020E3DE20FE9301B00047 +:100220009300E0FF1301100063D42000631430003A +:10023000631C301EE3DE20FE9301C00013020000A9 +:100240009300F0FF1301000063D0201E1302120080 +:1002500093022000E31652FE9301D0001302000027 +:100260009300F0FF130100001300000063DE201A6A +:100270001302120093022000E31452FE9301E000E7 +:10028000130200009300F0FF1301000013000000B0 +:100290001300000063DA20181302120093022000FA +:1002A000E31252FE9301F000130200009300F0FFEE +:1002B000130000001301000063D82016130212007F +:1002C00093022000E31452FE930100011302000088 +:1002D0009300F0FF13000000130100001300000062 +:1002E00063D420141302120093022000E31252FE82 +:1002F00093011001130200009300F0FF13000000AF +:10030000130000001301000063D02012130212003A +:1003100093022000E31252FE930120011302000019 +:100320009300F0FF1301000063D0201013021200AD +:1003300093022000E31652FE9301300113020000E5 +:100340009300F0FF130100001300000063DE200C97 +:100350001302120093022000E31452FE93014001A5 +:10036000130200009300F0FF1301000013000000CF +:100370001300000063DA200A130212009302200027 +:10038000E31252FE93015001130200009300F0FFAC +:10039000130000001301000063D8200813021200AC +:1003A00093022000E31452FE930160011302000047 +:1003B0009300F0FF13000000130100001300000081 +:1003C00063D420061302120093022000E31252FEAF +:1003D00093017001130200009300F0FF130000006E +:1003E000130000001301000063D020041302120068 +:1003F00093022000E31252FE9300100063DA000023 +:100400009380100093801000938010009380100060 +:100410009380100093801000930E300093018001B0 +:100420006394D001631030020F00F00F638001006D +:100430009391110093E111009308D00513850100F9 +:10044000730000000F00F00F930110009308D00517 +:100450001305000073000000731000C000000000CE +:10046000000000000000000000000000000000008C +:10047000000000000000000000000000000000007C +:040480000000000078 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-bgeu.dump b/simX/riscv_tests/rv32ui-p-bgeu.dump new file mode 100644 index 00000000..ed45ab9e --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-bgeu.dump @@ -0,0 +1,383 @@ + +rv32ui-p-bgeu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00200193 li gp,2 +8000010c: 00000093 li ra,0 +80000110: 00000113 li sp,0 +80000114: 0020f663 bgeu ra,sp,80000120 +80000118: 34301263 bne zero,gp,8000045c +8000011c: 00301663 bne zero,gp,80000128 +80000120: fe20fee3 bgeu ra,sp,8000011c +80000124: 32301c63 bne zero,gp,8000045c + +80000128 : +80000128: 00300193 li gp,3 +8000012c: 00100093 li ra,1 +80000130: 00100113 li sp,1 +80000134: 0020f663 bgeu ra,sp,80000140 +80000138: 32301263 bne zero,gp,8000045c +8000013c: 00301663 bne zero,gp,80000148 +80000140: fe20fee3 bgeu ra,sp,8000013c +80000144: 30301c63 bne zero,gp,8000045c + +80000148 : +80000148: 00400193 li gp,4 +8000014c: fff00093 li ra,-1 +80000150: fff00113 li sp,-1 +80000154: 0020f663 bgeu ra,sp,80000160 +80000158: 30301263 bne zero,gp,8000045c +8000015c: 00301663 bne zero,gp,80000168 +80000160: fe20fee3 bgeu ra,sp,8000015c +80000164: 2e301c63 bne zero,gp,8000045c + +80000168 : +80000168: 00500193 li gp,5 +8000016c: 00100093 li ra,1 +80000170: 00000113 li sp,0 +80000174: 0020f663 bgeu ra,sp,80000180 +80000178: 2e301263 bne zero,gp,8000045c +8000017c: 00301663 bne zero,gp,80000188 +80000180: fe20fee3 bgeu ra,sp,8000017c +80000184: 2c301c63 bne zero,gp,8000045c + +80000188 : +80000188: 00600193 li gp,6 +8000018c: fff00093 li ra,-1 +80000190: ffe00113 li sp,-2 +80000194: 0020f663 bgeu ra,sp,800001a0 +80000198: 2c301263 bne zero,gp,8000045c +8000019c: 00301663 bne zero,gp,800001a8 +800001a0: fe20fee3 bgeu ra,sp,8000019c +800001a4: 2a301c63 bne zero,gp,8000045c + +800001a8 : +800001a8: 00700193 li gp,7 +800001ac: fff00093 li ra,-1 +800001b0: 00000113 li sp,0 +800001b4: 0020f663 bgeu ra,sp,800001c0 +800001b8: 2a301263 bne zero,gp,8000045c +800001bc: 00301663 bne zero,gp,800001c8 +800001c0: fe20fee3 bgeu ra,sp,800001bc +800001c4: 28301c63 bne zero,gp,8000045c + +800001c8 : +800001c8: 00800193 li gp,8 +800001cc: 00000093 li ra,0 +800001d0: 00100113 li sp,1 +800001d4: 0020f463 bgeu ra,sp,800001dc +800001d8: 00301463 bne zero,gp,800001e0 +800001dc: 28301063 bne zero,gp,8000045c +800001e0: fe20fee3 bgeu ra,sp,800001dc + +800001e4 : +800001e4: 00900193 li gp,9 +800001e8: ffe00093 li ra,-2 +800001ec: fff00113 li sp,-1 +800001f0: 0020f463 bgeu ra,sp,800001f8 +800001f4: 00301463 bne zero,gp,800001fc +800001f8: 26301263 bne zero,gp,8000045c +800001fc: fe20fee3 bgeu ra,sp,800001f8 + +80000200 : +80000200: 00a00193 li gp,10 +80000204: 00000093 li ra,0 +80000208: fff00113 li sp,-1 +8000020c: 0020f463 bgeu ra,sp,80000214 +80000210: 00301463 bne zero,gp,80000218 +80000214: 24301463 bne zero,gp,8000045c +80000218: fe20fee3 bgeu ra,sp,80000214 + +8000021c : +8000021c: 00b00193 li gp,11 +80000220: 800000b7 lui ra,0x80000 +80000224: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +80000228: 80000137 lui sp,0x80000 +8000022c: 0020f463 bgeu ra,sp,80000234 +80000230: 00301463 bne zero,gp,80000238 +80000234: 22301463 bne zero,gp,8000045c +80000238: fe20fee3 bgeu ra,sp,80000234 + +8000023c : +8000023c: 00c00193 li gp,12 +80000240: 00000213 li tp,0 +80000244: f00000b7 lui ra,0xf0000 +80000248: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +8000024c: f0000137 lui sp,0xf0000 +80000250: 2020f663 bgeu ra,sp,8000045c +80000254: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000258: 00200293 li t0,2 +8000025c: fe5214e3 bne tp,t0,80000244 + +80000260 : +80000260: 00d00193 li gp,13 +80000264: 00000213 li tp,0 +80000268: f00000b7 lui ra,0xf0000 +8000026c: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +80000270: f0000137 lui sp,0xf0000 +80000274: 00000013 nop +80000278: 1e20f263 bgeu ra,sp,8000045c +8000027c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000280: 00200293 li t0,2 +80000284: fe5212e3 bne tp,t0,80000268 + +80000288 : +80000288: 00e00193 li gp,14 +8000028c: 00000213 li tp,0 +80000290: f00000b7 lui ra,0xf0000 +80000294: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +80000298: f0000137 lui sp,0xf0000 +8000029c: 00000013 nop +800002a0: 00000013 nop +800002a4: 1a20fc63 bgeu ra,sp,8000045c +800002a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002ac: 00200293 li t0,2 +800002b0: fe5210e3 bne tp,t0,80000290 + +800002b4 : +800002b4: 00f00193 li gp,15 +800002b8: 00000213 li tp,0 +800002bc: f00000b7 lui ra,0xf0000 +800002c0: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +800002c4: 00000013 nop +800002c8: f0000137 lui sp,0xf0000 +800002cc: 1820f863 bgeu ra,sp,8000045c +800002d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d4: 00200293 li t0,2 +800002d8: fe5212e3 bne tp,t0,800002bc + +800002dc : +800002dc: 01000193 li gp,16 +800002e0: 00000213 li tp,0 +800002e4: f00000b7 lui ra,0xf0000 +800002e8: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +800002ec: 00000013 nop +800002f0: f0000137 lui sp,0xf0000 +800002f4: 00000013 nop +800002f8: 1620f263 bgeu ra,sp,8000045c +800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000300: 00200293 li t0,2 +80000304: fe5210e3 bne tp,t0,800002e4 + +80000308 : +80000308: 01100193 li gp,17 +8000030c: 00000213 li tp,0 +80000310: f00000b7 lui ra,0xf0000 +80000314: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +80000318: 00000013 nop +8000031c: 00000013 nop +80000320: f0000137 lui sp,0xf0000 +80000324: 1220fc63 bgeu ra,sp,8000045c +80000328: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000032c: 00200293 li t0,2 +80000330: fe5210e3 bne tp,t0,80000310 + +80000334 : +80000334: 01200193 li gp,18 +80000338: 00000213 li tp,0 +8000033c: f00000b7 lui ra,0xf0000 +80000340: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +80000344: f0000137 lui sp,0xf0000 +80000348: 1020fa63 bgeu ra,sp,8000045c +8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000350: 00200293 li t0,2 +80000354: fe5214e3 bne tp,t0,8000033c + +80000358 : +80000358: 01300193 li gp,19 +8000035c: 00000213 li tp,0 +80000360: f00000b7 lui ra,0xf0000 +80000364: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +80000368: f0000137 lui sp,0xf0000 +8000036c: 00000013 nop +80000370: 0e20f663 bgeu ra,sp,8000045c +80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000378: 00200293 li t0,2 +8000037c: fe5212e3 bne tp,t0,80000360 + +80000380 : +80000380: 01400193 li gp,20 +80000384: 00000213 li tp,0 +80000388: f00000b7 lui ra,0xf0000 +8000038c: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +80000390: f0000137 lui sp,0xf0000 +80000394: 00000013 nop +80000398: 00000013 nop +8000039c: 0c20f063 bgeu ra,sp,8000045c +800003a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a4: 00200293 li t0,2 +800003a8: fe5210e3 bne tp,t0,80000388 + +800003ac : +800003ac: 01500193 li gp,21 +800003b0: 00000213 li tp,0 +800003b4: f00000b7 lui ra,0xf0000 +800003b8: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +800003bc: 00000013 nop +800003c0: f0000137 lui sp,0xf0000 +800003c4: 0820fc63 bgeu ra,sp,8000045c +800003c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003cc: 00200293 li t0,2 +800003d0: fe5212e3 bne tp,t0,800003b4 + +800003d4 : +800003d4: 01600193 li gp,22 +800003d8: 00000213 li tp,0 +800003dc: f00000b7 lui ra,0xf0000 +800003e0: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +800003e4: 00000013 nop +800003e8: f0000137 lui sp,0xf0000 +800003ec: 00000013 nop +800003f0: 0620f663 bgeu ra,sp,8000045c +800003f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f8: 00200293 li t0,2 +800003fc: fe5210e3 bne tp,t0,800003dc + +80000400 : +80000400: 01700193 li gp,23 +80000404: 00000213 li tp,0 +80000408: f00000b7 lui ra,0xf0000 +8000040c: fff08093 addi ra,ra,-1 # efffffff <_end+0x6fffdfff> +80000410: 00000013 nop +80000414: 00000013 nop +80000418: f0000137 lui sp,0xf0000 +8000041c: 0420f063 bgeu ra,sp,8000045c +80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000424: 00200293 li t0,2 +80000428: fe5210e3 bne tp,t0,80000408 + +8000042c : +8000042c: 00100093 li ra,1 +80000430: 0000fa63 bgeu ra,zero,80000444 +80000434: 00108093 addi ra,ra,1 +80000438: 00108093 addi ra,ra,1 +8000043c: 00108093 addi ra,ra,1 +80000440: 00108093 addi ra,ra,1 +80000444: 00108093 addi ra,ra,1 +80000448: 00108093 addi ra,ra,1 +8000044c: 00300e93 li t4,3 +80000450: 01800193 li gp,24 +80000454: 01d09463 bne ra,t4,8000045c +80000458: 02301063 bne zero,gp,80000478 + +8000045c : +8000045c: 0ff0000f fence +80000460: 00018063 beqz gp,80000460 +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 : +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 diff --git a/simX/riscv_tests/rv32ui-p-bgeu.hex b/simX/riscv_tests/rv32ui-p-bgeu.hex index b7970cdb..43d85fc9 100644 --- a/simX/riscv_tests/rv32ui-p-bgeu.hex +++ b/simX/riscv_tests/rv32ui-p-bgeu.hex @@ -2,76 +2,84 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030130E20002A -:1000C000930000001301000063F620006312C035A6 -:1000D0006316C001E3FE20FE631CC033130E300024 -:1000E000930010001301100063F620006312C03368 -:1000F0006316C001E3FE20FE631CC031130E4000F6 -:100100009300F0FF1301F0FF63F620006312C0318B -:100110006316C001E3FE20FE631CC02F130E5000C7 -:10012000930010001301000063F620006312C02F3B -:100130006316C001E3FE20FE631CC02D130E600099 -:100140009300F0FF1301E0FF63F620006312C02D5F -:100150006316C001E3FE20FE631CC02B130E70006B -:100160009300F0FF1301000063F620006312C02B20 -:100170006316C001E3FE20FE631CC029130E80003D -:10018000930000001301100063F420006314C00109 -:100190006310C029E3FE20FE130E90009300E0FFE1 -:1001A0001301F0FF63F420006314C0016312C02741 -:1001B000E3FE20FE130EA000930000001301F0FFE9 -:1001C00063F420006314C0016314C025E3FE20FE25 -:1001D000130EB000B70000809380F0FF370100805D -:1001E00063F420006314C0016314C023E3FE20FE07 -:1001F000130EC00013020000B70000F09380F0FF60 -:10020000370100F063F62020130212009302200051 -:10021000E31452FE130ED00013020000B70000F0EA -:100220009380F0FF370100F01300000063F2201EFE -:100230001302120093022000E31252FE130EE0009C +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093012000930000001C +:100110001301000063F620006312303463163000D0 +:10012000E3FE20FE631C3032930130009300100088 +:100130001301100063F620006312303263163000A2 +:10014000E3FE20FE631C3030930140009300F0FF7B +:100150001301F0FF63F620006312303063163000A5 +:10016000E3FE20FE631C302E93015000930010002C +:100170001301000063F620006312302E6316300076 +:10018000E3FE20FE631C302C930160009300F0FF1F +:100190001301E0FF63F620006312302C6316300079 +:1001A000E3FE20FE631C302A930170009300F0FFF1 +:1001B0001301000063F620006312302A631630003A +:1001C000E3FE20FE631C30289301800093000000B2 +:1001D0001301100063F42000631430006310302812 +:1001E000E3FE20FE930190009300E0FF1301F0FF77 +:1001F00063F420006314300063123026E3FE20FE17 +:100200009301A000930000001301F0FF63F42000AD +:100210006314300063143024E3FE20FE9301B00029 +:10022000B70000809380F0FF3701008063F4200066 +:100230006314300063143022E3FE20FE9301C000FB :1002400013020000B70000F09380F0FF370100F0C8 -:10025000130000001300000063FC201A13021200B8 -:1002600093022000E31052FE130EF0001302000070 -:10027000B70000F09380F0FF13000000370100F09A -:1002800063F820181302120093022000E31252FEBA -:10029000130E000113020000B70000F09380F0FF7E -:1002A00013000000370100F01300000063F2201675 -:1002B0001302120093022000E31052FE130E1001ED -:1002C00013020000B70000F09380F0FF130000005D -:1002D00013000000370100F063FC2012130212002B -:1002E00093022000E31052FE130E200113020000BF -:1002F000B70000F09380F0FF370100F063FA2010A0 -:100300001302120093022000E31452FE130E300178 -:1003100013020000B70000F09380F0FF370100F0F7 -:100320001300000063F6200E130212009302200057 -:10033000E31252FE130E400113020000B70000F05A -:100340009380F0FF370100F013000000130000005D -:1003500063F0200C1302120093022000E31052FEFF -:10036000130E500113020000B70000F09380F0FF5D -:1003700013000000370100F063FC20081302120094 -:1003800093022000E31252FE130E600113020000DC -:10039000B70000F09380F0FF13000000370100F079 -:1003A0001300000063F620061302120093022000DF -:1003B000E31052FE130E700113020000B70000F0AC -:1003C0009380F0FF1300000013000000370100F0DD -:1003D00063F020041302120093022000E31052FE87 -:1003E0009300100063FA00009380100093801000C7 -:1003F0009380100093801000938010009380100071 -:10040000930E3000130E80016394D001631CC00171 -:100410000F00F00F63000E00131E1E00136E1E006F -:10042000730000000F00F00F130E100073000000A7 -:10043000731000C000000000000000000000000079 -:0404400000000000B8 +:1002500063F620201302120093022000E31452FEE2 +:100260009301D00013020000B70000F09380F0FF6C +:10027000370100F01300000063F2201E1302120089 +:1002800093022000E31252FE9301E00013020000EB +:10029000B70000F09380F0FF370100F0130000007A +:1002A0001300000063FC201A1302120093022000C6 +:1002B000E31052FE9301F00013020000B70000F0BB +:1002C0009380F0FF13000000370100F063F820185E +:1002D0001302120093022000E31252FE9301000168 +:1002E00013020000B70000F09380F0FF130000003D +:1002F000370100F01300000063F220161302120011 +:1003000093022000E31052FE93011001130200003B +:10031000B70000F09380F0FF13000000130000000E +:10032000370100F063FC2012130212009302200038 +:10033000E31052FE9301200113020000B70000F009 +:100340009380F0FF370100F063FA201013021200CF +:1003500093022000E31452FE9301300113020000C7 +:10036000B70000F09380F0FF370100F013000000A9 +:1003700063F6200E1302120093022000E31252FED5 +:100380009301400113020000B70000F09380F0FFDA +:10039000370100F0130000001300000063F0200C90 +:1003A0001302120093022000E31052FE9301500149 +:1003B00013020000B70000F09380F0FF130000006C +:1003C000370100F063FC20081302120093022000A2 +:1003D000E31252FE9301600113020000B70000F027 +:1003E0009380F0FF13000000370100F013000000BD +:1003F00063F620061302120093022000E31052FE5F +:100400009301700113020000B70000F09380F0FF29 +:100410001300000013000000370100F063F0200417 +:100420001302120093022000E31052FE930010000A +:1004300063FA0000938010009380100093801000F6 +:10044000938010009380100093801000930E300072 +:10045000930180016394D001631030020F00F00F0C +:10046000638001009391110093E111009308D0057E +:1004700013850100730000000F00F00F93011000BE +:100480009308D0051305000073000000731000C02E +:10049000000000000000000000000000000000005C +:1004A000000000000000000000000000000000004C +:1004B000000000000000000000000000000000003C +:0404C0000000000038 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-blt.dump b/simX/riscv_tests/rv32ui-p-blt.dump new file mode 100644 index 00000000..95ce45de --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-blt.dump @@ -0,0 +1,318 @@ + +rv32ui-p-blt: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00200193 li gp,2 +8000010c: 00000093 li ra,0 +80000110: 00100113 li sp,1 +80000114: 0020c663 blt ra,sp,80000120 +80000118: 2a301863 bne zero,gp,800003c8 +8000011c: 00301663 bne zero,gp,80000128 +80000120: fe20cee3 blt ra,sp,8000011c +80000124: 2a301263 bne zero,gp,800003c8 + +80000128 : +80000128: 00300193 li gp,3 +8000012c: fff00093 li ra,-1 +80000130: 00100113 li sp,1 +80000134: 0020c663 blt ra,sp,80000140 +80000138: 28301863 bne zero,gp,800003c8 +8000013c: 00301663 bne zero,gp,80000148 +80000140: fe20cee3 blt ra,sp,8000013c +80000144: 28301263 bne zero,gp,800003c8 + +80000148 : +80000148: 00400193 li gp,4 +8000014c: ffe00093 li ra,-2 +80000150: fff00113 li sp,-1 +80000154: 0020c663 blt ra,sp,80000160 +80000158: 26301863 bne zero,gp,800003c8 +8000015c: 00301663 bne zero,gp,80000168 +80000160: fe20cee3 blt ra,sp,8000015c +80000164: 26301263 bne zero,gp,800003c8 + +80000168 : +80000168: 00500193 li gp,5 +8000016c: 00100093 li ra,1 +80000170: 00000113 li sp,0 +80000174: 0020c463 blt ra,sp,8000017c +80000178: 00301463 bne zero,gp,80000180 +8000017c: 24301663 bne zero,gp,800003c8 +80000180: fe20cee3 blt ra,sp,8000017c + +80000184 : +80000184: 00600193 li gp,6 +80000188: 00100093 li ra,1 +8000018c: fff00113 li sp,-1 +80000190: 0020c463 blt ra,sp,80000198 +80000194: 00301463 bne zero,gp,8000019c +80000198: 22301863 bne zero,gp,800003c8 +8000019c: fe20cee3 blt ra,sp,80000198 + +800001a0 : +800001a0: 00700193 li gp,7 +800001a4: fff00093 li ra,-1 +800001a8: ffe00113 li sp,-2 +800001ac: 0020c463 blt ra,sp,800001b4 +800001b0: 00301463 bne zero,gp,800001b8 +800001b4: 20301a63 bne zero,gp,800003c8 +800001b8: fe20cee3 blt ra,sp,800001b4 + +800001bc : +800001bc: 00800193 li gp,8 +800001c0: 00100093 li ra,1 +800001c4: ffe00113 li sp,-2 +800001c8: 0020c463 blt ra,sp,800001d0 +800001cc: 00301463 bne zero,gp,800001d4 +800001d0: 1e301c63 bne zero,gp,800003c8 +800001d4: fe20cee3 blt ra,sp,800001d0 + +800001d8 : +800001d8: 00900193 li gp,9 +800001dc: 00000213 li tp,0 +800001e0: 00000093 li ra,0 +800001e4: fff00113 li sp,-1 +800001e8: 1e20c063 blt ra,sp,800003c8 +800001ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001f0: 00200293 li t0,2 +800001f4: fe5216e3 bne tp,t0,800001e0 + +800001f8 : +800001f8: 00a00193 li gp,10 +800001fc: 00000213 li tp,0 +80000200: 00000093 li ra,0 +80000204: fff00113 li sp,-1 +80000208: 00000013 nop +8000020c: 1a20ce63 blt ra,sp,800003c8 +80000210: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000214: 00200293 li t0,2 +80000218: fe5214e3 bne tp,t0,80000200 + +8000021c : +8000021c: 00b00193 li gp,11 +80000220: 00000213 li tp,0 +80000224: 00000093 li ra,0 +80000228: fff00113 li sp,-1 +8000022c: 00000013 nop +80000230: 00000013 nop +80000234: 1820ca63 blt ra,sp,800003c8 +80000238: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000023c: 00200293 li t0,2 +80000240: fe5212e3 bne tp,t0,80000224 + +80000244 : +80000244: 00c00193 li gp,12 +80000248: 00000213 li tp,0 +8000024c: 00000093 li ra,0 +80000250: 00000013 nop +80000254: fff00113 li sp,-1 +80000258: 1620c863 blt ra,sp,800003c8 +8000025c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000260: 00200293 li t0,2 +80000264: fe5214e3 bne tp,t0,8000024c + +80000268 : +80000268: 00d00193 li gp,13 +8000026c: 00000213 li tp,0 +80000270: 00000093 li ra,0 +80000274: 00000013 nop +80000278: fff00113 li sp,-1 +8000027c: 00000013 nop +80000280: 1420c463 blt ra,sp,800003c8 +80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000288: 00200293 li t0,2 +8000028c: fe5212e3 bne tp,t0,80000270 + +80000290 : +80000290: 00e00193 li gp,14 +80000294: 00000213 li tp,0 +80000298: 00000093 li ra,0 +8000029c: 00000013 nop +800002a0: 00000013 nop +800002a4: fff00113 li sp,-1 +800002a8: 1220c063 blt ra,sp,800003c8 +800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b0: 00200293 li t0,2 +800002b4: fe5212e3 bne tp,t0,80000298 + +800002b8 : +800002b8: 00f00193 li gp,15 +800002bc: 00000213 li tp,0 +800002c0: 00000093 li ra,0 +800002c4: fff00113 li sp,-1 +800002c8: 1020c063 blt ra,sp,800003c8 +800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d0: 00200293 li t0,2 +800002d4: fe5216e3 bne tp,t0,800002c0 + +800002d8 : +800002d8: 01000193 li gp,16 +800002dc: 00000213 li tp,0 +800002e0: 00000093 li ra,0 +800002e4: fff00113 li sp,-1 +800002e8: 00000013 nop +800002ec: 0c20ce63 blt ra,sp,800003c8 +800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f4: 00200293 li t0,2 +800002f8: fe5214e3 bne tp,t0,800002e0 + +800002fc : +800002fc: 01100193 li gp,17 +80000300: 00000213 li tp,0 +80000304: 00000093 li ra,0 +80000308: fff00113 li sp,-1 +8000030c: 00000013 nop +80000310: 00000013 nop +80000314: 0a20ca63 blt ra,sp,800003c8 +80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000031c: 00200293 li t0,2 +80000320: fe5212e3 bne tp,t0,80000304 + +80000324 : +80000324: 01200193 li gp,18 +80000328: 00000213 li tp,0 +8000032c: 00000093 li ra,0 +80000330: 00000013 nop +80000334: fff00113 li sp,-1 +80000338: 0820c863 blt ra,sp,800003c8 +8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000340: 00200293 li t0,2 +80000344: fe5214e3 bne tp,t0,8000032c + +80000348 : +80000348: 01300193 li gp,19 +8000034c: 00000213 li tp,0 +80000350: 00000093 li ra,0 +80000354: 00000013 nop +80000358: fff00113 li sp,-1 +8000035c: 00000013 nop +80000360: 0620c463 blt ra,sp,800003c8 +80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000368: 00200293 li t0,2 +8000036c: fe5212e3 bne tp,t0,80000350 + +80000370 : +80000370: 01400193 li gp,20 +80000374: 00000213 li tp,0 +80000378: 00000093 li ra,0 +8000037c: 00000013 nop +80000380: 00000013 nop +80000384: fff00113 li sp,-1 +80000388: 0420c063 blt ra,sp,800003c8 +8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000390: 00200293 li t0,2 +80000394: fe5212e3 bne tp,t0,80000378 + +80000398 : +80000398: 00100093 li ra,1 +8000039c: 00104a63 bgtz ra,800003b0 +800003a0: 00108093 addi ra,ra,1 +800003a4: 00108093 addi ra,ra,1 +800003a8: 00108093 addi ra,ra,1 +800003ac: 00108093 addi ra,ra,1 +800003b0: 00108093 addi ra,ra,1 +800003b4: 00108093 addi ra,ra,1 +800003b8: 00300e93 li t4,3 +800003bc: 01500193 li gp,21 +800003c0: 01d09463 bne ra,t4,800003c8 +800003c4: 02301063 bne zero,gp,800003e4 + +800003c8 : +800003c8: 0ff0000f fence +800003cc: 00018063 beqz gp,800003cc +800003d0: 00119193 slli gp,gp,0x1 +800003d4: 0011e193 ori gp,gp,1 +800003d8: 05d00893 li a7,93 +800003dc: 00018513 mv a0,gp +800003e0: 00000073 ecall + +800003e4 : +800003e4: 0ff0000f fence +800003e8: 00100193 li gp,1 +800003ec: 05d00893 li a7,93 +800003f0: 00000513 li a0,0 +800003f4: 00000073 ecall +800003f8: c0001073 unimp +800003fc: 0000 unimp +800003fe: 0000 unimp +80000400: 0000 unimp +80000402: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-blt.hex b/simX/riscv_tests/rv32ui-p-blt.hex index 322ff1d0..d106d0fb 100644 --- a/simX/riscv_tests/rv32ui-p-blt.hex +++ b/simX/riscv_tests/rv32ui-p-blt.hex @@ -2,68 +2,72 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030130E20002A -:1000C000930000001301100063C620006318C02BCA -:1000D0006316C001E3CE20FE6312C02B130E300066 -:1000E0009300F0FF1301100063C620006318C029BD -:1000F0006316C001E3CE20FE6312C029130E400038 -:100100009300E0FF1301F0FF63C620006318C027CF -:100110006316C001E3CE20FE6312C027130E500009 -:10012000930010001301000063C420006314C00199 -:100130006316C025E3CE20FE130E6000930010006E -:100140001301F0FF63C420006314C0016318C023CF -:10015000E3CE20FE130E70009300F0FF1301E0FFCA -:1001600063C420006314C001631AC021E3CE20FEE3 -:10017000130E8000930010001301E0FF63C4200001 -:100180006314C001631CC01FE3CE20FE130E900059 -:1001900013020000930000001301F0FF63C0201E53 -:1001A0001302120093022000E31652FE130EA00069 -:1001B00013020000930000001301F0FF1300000081 -:1001C00063CE201A1302120093022000E31452FEA1 -:1001D000130EB00013020000930000001301F0FFA3 -:1001E000130000001300000063CA2018130212005D -:1001F00093022000E31252FE130EC000130200000F -:1002000093000000130000001301F0FF63C82016E4 -:100210001302120093022000E31452FE130ED000CA -:100220001302000093000000130000001301F0FF10 -:100230001300000063C42014130212009302200074 -:10024000E31252FE130EE0001302000093000000C0 -:1002500013000000130000001301F0FF63C0201220 -:100260001302120093022000E31252FE130EF0005C -:1002700013020000930000001301F0FF63C0201080 -:100280001302120093022000E31652FE130E000127 -:1002900013020000930000001301F0FF13000000A0 -:1002A00063CE200C1302120093022000E31452FECE -:1002B000130E100113020000930000001301F0FF61 -:1002C000130000001300000063CA200A130212008A -:1002D00093022000E31252FE130E200113020000CD -:1002E00093000000130000001301F0FF63C8200812 -:1002F0001302120093022000E31452FE130E300189 -:100300001302000093000000130000001301F0FF2F -:100310001300000063C420061302120093022000A1 -:10032000E31252FE130E400113020000930000007E -:1003300013000000130000001301F0FF63C020044D -:100340001302120093022000E31252FE93001000E9 -:10035000634A100093801000938010009380100077 -:10036000938010009380100093801000930E300053 -:10037000130E50016394D001631CC0010F00F00FF5 -:1003800063000E00131E1E00136E1E00730000009B -:100390000F00F00F130E100073000000731000C068 -:1003A000000000000000000000000000000000004D -:1003B000000000000000000000000000000000003D -:0403C0000000000039 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093012000930000001C +:100110001301100063C620006318302A63163000F4 +:10012000E3CE20FE6312302A930130009300F0FFEB +:100130001301100063C620006318302863163000D6 +:10014000E3CE20FE63123028930140009300E0FFCD +:100150001301F0FF63C620006318302663163000D9 +:10016000E3CE20FE6312302693015000930010006E +:100170001301000063C420006314300063163024B0 +:10018000E3CE20FE93016000930010001301F0FF06 +:1001900063C420006314300063183022E3CE20FED5 +:1001A000930170009300F0FF1301E0FF63C420008F +:1001B00063143000631A3020E3CE20FE93018000E8 +:1001C000930010001301E0FF63C4200063143000AB +:1001D000631C301EE3CE20FE93019000130200004A +:1001E000930000001301F0FF63C0201E13021200F1 +:1001F00093022000E31652FE9301A00013020000B8 +:10020000930000001301F0FF1300000063CE201ADA +:100210001302120093022000E31452FE9301B00077 +:1002200013020000930000001301F0FF1300000010 +:100230001300000063CA201813021200930220006A +:10024000E31252FE9301C00013020000930000006D +:10025000130000001301F0FF63C820161302120000 +:1002600093022000E31452FE9301D0001302000019 +:1002700093000000130000001301F0FF13000000C2 +:1002800063C420141302120093022000E31252FEF2 +:100290009301E0001302000093000000130000002F +:1002A000130000001301F0FF63C0201213021200BC +:1002B00093022000E31252FE9301F00013020000AB +:1002C000930000001301F0FF63C02010130212001E +:1002D00093022000E31652FE930100011302000076 +:1002E000930000001301F0FF1300000063CE200C08 +:1002F0001302120093022000E31452FE9301100136 +:1003000013020000930000001301F0FF130000002F +:100310001300000063CA200A130212009302200097 +:10032000E31252FE9301200113020000930000002B +:10033000130000001301F0FF63C82008130212002D +:1003400093022000E31452FE9301300113020000D7 +:1003500093000000130000001301F0FF13000000E1 +:1003600063C420061302120093022000E31252FE1F +:1003700093014001130200009300000013000000ED +:10038000130000001301F0FF63C0200413021200E9 +:1003900093022000E31252FE93001000634A100003 +:1003A00093801000938010009380100093801000C1 +:1003B0009380100093801000930E30009301500141 +:1003C0006394D001631030020F00F00F63800100CE +:1003D0009391110093E111009308D005138501005A +:1003E000730000000F00F00F930110009308D00578 +:1003F0001305000073000000731000C0000000002F +:0404000000000000F8 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-bltu.dump b/simX/riscv_tests/rv32ui-p-bltu.dump new file mode 100644 index 00000000..c392601b --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-bltu.dump @@ -0,0 +1,337 @@ + +rv32ui-p-bltu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00200193 li gp,2 +8000010c: 00000093 li ra,0 +80000110: 00100113 li sp,1 +80000114: 0020e663 bltu ra,sp,80000120 +80000118: 2e301263 bne zero,gp,800003fc +8000011c: 00301663 bne zero,gp,80000128 +80000120: fe20eee3 bltu ra,sp,8000011c +80000124: 2c301c63 bne zero,gp,800003fc + +80000128 : +80000128: 00300193 li gp,3 +8000012c: ffe00093 li ra,-2 +80000130: fff00113 li sp,-1 +80000134: 0020e663 bltu ra,sp,80000140 +80000138: 2c301263 bne zero,gp,800003fc +8000013c: 00301663 bne zero,gp,80000148 +80000140: fe20eee3 bltu ra,sp,8000013c +80000144: 2a301c63 bne zero,gp,800003fc + +80000148 : +80000148: 00400193 li gp,4 +8000014c: 00000093 li ra,0 +80000150: fff00113 li sp,-1 +80000154: 0020e663 bltu ra,sp,80000160 +80000158: 2a301263 bne zero,gp,800003fc +8000015c: 00301663 bne zero,gp,80000168 +80000160: fe20eee3 bltu ra,sp,8000015c +80000164: 28301c63 bne zero,gp,800003fc + +80000168 : +80000168: 00500193 li gp,5 +8000016c: 00100093 li ra,1 +80000170: 00000113 li sp,0 +80000174: 0020e463 bltu ra,sp,8000017c +80000178: 00301463 bne zero,gp,80000180 +8000017c: 28301063 bne zero,gp,800003fc +80000180: fe20eee3 bltu ra,sp,8000017c + +80000184 : +80000184: 00600193 li gp,6 +80000188: fff00093 li ra,-1 +8000018c: ffe00113 li sp,-2 +80000190: 0020e463 bltu ra,sp,80000198 +80000194: 00301463 bne zero,gp,8000019c +80000198: 26301263 bne zero,gp,800003fc +8000019c: fe20eee3 bltu ra,sp,80000198 + +800001a0 : +800001a0: 00700193 li gp,7 +800001a4: fff00093 li ra,-1 +800001a8: 00000113 li sp,0 +800001ac: 0020e463 bltu ra,sp,800001b4 +800001b0: 00301463 bne zero,gp,800001b8 +800001b4: 24301463 bne zero,gp,800003fc +800001b8: fe20eee3 bltu ra,sp,800001b4 + +800001bc : +800001bc: 00800193 li gp,8 +800001c0: 800000b7 lui ra,0x80000 +800001c4: 80000137 lui sp,0x80000 +800001c8: fff10113 addi sp,sp,-1 # 7fffffff <_end+0xffffdfff> +800001cc: 0020e463 bltu ra,sp,800001d4 +800001d0: 00301463 bne zero,gp,800001d8 +800001d4: 22301463 bne zero,gp,800003fc +800001d8: fe20eee3 bltu ra,sp,800001d4 + +800001dc : +800001dc: 00900193 li gp,9 +800001e0: 00000213 li tp,0 +800001e4: f00000b7 lui ra,0xf0000 +800001e8: f0000137 lui sp,0xf0000 +800001ec: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +800001f0: 2020e663 bltu ra,sp,800003fc +800001f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001f8: 00200293 li t0,2 +800001fc: fe5214e3 bne tp,t0,800001e4 + +80000200 : +80000200: 00a00193 li gp,10 +80000204: 00000213 li tp,0 +80000208: f00000b7 lui ra,0xf0000 +8000020c: f0000137 lui sp,0xf0000 +80000210: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +80000214: 00000013 nop +80000218: 1e20e263 bltu ra,sp,800003fc +8000021c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000220: 00200293 li t0,2 +80000224: fe5212e3 bne tp,t0,80000208 + +80000228 : +80000228: 00b00193 li gp,11 +8000022c: 00000213 li tp,0 +80000230: f00000b7 lui ra,0xf0000 +80000234: f0000137 lui sp,0xf0000 +80000238: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +8000023c: 00000013 nop +80000240: 00000013 nop +80000244: 1a20ec63 bltu ra,sp,800003fc +80000248: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000024c: 00200293 li t0,2 +80000250: fe5210e3 bne tp,t0,80000230 + +80000254 : +80000254: 00c00193 li gp,12 +80000258: 00000213 li tp,0 +8000025c: f00000b7 lui ra,0xf0000 +80000260: 00000013 nop +80000264: f0000137 lui sp,0xf0000 +80000268: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +8000026c: 1820e863 bltu ra,sp,800003fc +80000270: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000274: 00200293 li t0,2 +80000278: fe5212e3 bne tp,t0,8000025c + +8000027c : +8000027c: 00d00193 li gp,13 +80000280: 00000213 li tp,0 +80000284: f00000b7 lui ra,0xf0000 +80000288: 00000013 nop +8000028c: f0000137 lui sp,0xf0000 +80000290: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +80000294: 00000013 nop +80000298: 1620e263 bltu ra,sp,800003fc +8000029c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a0: 00200293 li t0,2 +800002a4: fe5210e3 bne tp,t0,80000284 + +800002a8 : +800002a8: 00e00193 li gp,14 +800002ac: 00000213 li tp,0 +800002b0: f00000b7 lui ra,0xf0000 +800002b4: 00000013 nop +800002b8: 00000013 nop +800002bc: f0000137 lui sp,0xf0000 +800002c0: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +800002c4: 1220ec63 bltu ra,sp,800003fc +800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002cc: 00200293 li t0,2 +800002d0: fe5210e3 bne tp,t0,800002b0 + +800002d4 : +800002d4: 00f00193 li gp,15 +800002d8: 00000213 li tp,0 +800002dc: f00000b7 lui ra,0xf0000 +800002e0: f0000137 lui sp,0xf0000 +800002e4: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +800002e8: 1020ea63 bltu ra,sp,800003fc +800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f0: 00200293 li t0,2 +800002f4: fe5214e3 bne tp,t0,800002dc + +800002f8 : +800002f8: 01000193 li gp,16 +800002fc: 00000213 li tp,0 +80000300: f00000b7 lui ra,0xf0000 +80000304: f0000137 lui sp,0xf0000 +80000308: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +8000030c: 00000013 nop +80000310: 0e20e663 bltu ra,sp,800003fc +80000314: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000318: 00200293 li t0,2 +8000031c: fe5212e3 bne tp,t0,80000300 + +80000320 : +80000320: 01100193 li gp,17 +80000324: 00000213 li tp,0 +80000328: f00000b7 lui ra,0xf0000 +8000032c: f0000137 lui sp,0xf0000 +80000330: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +80000334: 00000013 nop +80000338: 00000013 nop +8000033c: 0c20e063 bltu ra,sp,800003fc +80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000344: 00200293 li t0,2 +80000348: fe5210e3 bne tp,t0,80000328 + +8000034c : +8000034c: 01200193 li gp,18 +80000350: 00000213 li tp,0 +80000354: f00000b7 lui ra,0xf0000 +80000358: 00000013 nop +8000035c: f0000137 lui sp,0xf0000 +80000360: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +80000364: 0820ec63 bltu ra,sp,800003fc +80000368: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000036c: 00200293 li t0,2 +80000370: fe5212e3 bne tp,t0,80000354 + +80000374 : +80000374: 01300193 li gp,19 +80000378: 00000213 li tp,0 +8000037c: f00000b7 lui ra,0xf0000 +80000380: 00000013 nop +80000384: f0000137 lui sp,0xf0000 +80000388: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +8000038c: 00000013 nop +80000390: 0620e663 bltu ra,sp,800003fc +80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000398: 00200293 li t0,2 +8000039c: fe5210e3 bne tp,t0,8000037c + +800003a0 : +800003a0: 01400193 li gp,20 +800003a4: 00000213 li tp,0 +800003a8: f00000b7 lui ra,0xf0000 +800003ac: 00000013 nop +800003b0: 00000013 nop +800003b4: f0000137 lui sp,0xf0000 +800003b8: fff10113 addi sp,sp,-1 # efffffff <_end+0x6fffdfff> +800003bc: 0420e063 bltu ra,sp,800003fc +800003c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003c4: 00200293 li t0,2 +800003c8: fe5210e3 bne tp,t0,800003a8 + +800003cc : +800003cc: 00100093 li ra,1 +800003d0: 00106a63 bltu zero,ra,800003e4 +800003d4: 00108093 addi ra,ra,1 # f0000001 <_end+0x6fffe001> +800003d8: 00108093 addi ra,ra,1 +800003dc: 00108093 addi ra,ra,1 +800003e0: 00108093 addi ra,ra,1 +800003e4: 00108093 addi ra,ra,1 +800003e8: 00108093 addi ra,ra,1 +800003ec: 00300e93 li t4,3 +800003f0: 01500193 li gp,21 +800003f4: 01d09463 bne ra,t4,800003fc +800003f8: 02301063 bne zero,gp,80000418 + +800003fc : +800003fc: 0ff0000f fence +80000400: 00018063 beqz gp,80000400 +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 : +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 diff --git a/simX/riscv_tests/rv32ui-p-bltu.hex b/simX/riscv_tests/rv32ui-p-bltu.hex index 783304b1..a96dbdc2 100644 --- a/simX/riscv_tests/rv32ui-p-bltu.hex +++ b/simX/riscv_tests/rv32ui-p-bltu.hex @@ -2,72 +2,76 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030130E20002A -:1000C000930000001301100063E620006312C02FAC -:1000D0006316C001E3EE20FE631CC02D130E30003A -:1000E0009300E0FF1301F0FF63E620006312C02DD0 -:1000F0006316C001E3EE20FE631CC02B130E40000C -:10010000930000001301F0FF63E620006312C02B90 -:100110006316C001E3EE20FE631CC029130E5000DD -:10012000930010001301000063E420006314C00179 -:100130006310C029E3EE20FE130E60009300F0FF71 -:100140001301E0FF63E420006314C0016312C027C1 -:10015000E3EE20FE130E70009300F0FF1301000089 -:1001600063E420006314C0016314C025E3EE20FEA5 -:10017000130E8000B7000080370100801301F1FFEB -:1001800063E420006314C0016314C023E3EE20FE87 -:10019000130E900013020000B70000F0370100F0CA -:1001A0001301F1FF63E620201302120093022000E6 -:1001B000E31452FE130EA00013020000B70000F07B -:1001C000370100F01301F1FF1300000063E2201E6D -:1001D0001302120093022000E31252FE130EB0002D +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093012000930000001C +:100110001301100063E620006312302E63163000D6 +:10012000E3EE20FE631C302C930130009300E0FFCF +:100130001301F0FF63E620006312302C63163000D9 +:10014000E3EE20FE631C302A930140009300000080 +:100150001301F0FF63E620006312302A63163000BB +:10016000E3EE20FE631C3028930150009300100042 +:100170001301000063E42000631430006310302892 +:10018000E3EE20FE930160009300F0FF1301E0FF17 +:1001900063E420006314300063123026E3EE20FE97 +:1001A000930170009300F0FF1301000063E420004E +:1001B0006314300063143024E3EE20FE93018000CA +:1001C000B7000080370100801301F1FF63E42000D5 +:1001D0006314300063143022E3EE20FE930190009C :1001E00013020000B70000F0370100F01301F1FF27 -:1001F000130000001300000063EC201A1302120029 -:1002000093022000E31052FE130EC0001302000000 -:10021000B70000F013000000370100F01301F1FFF8 -:1002200063E820181302120093022000E31252FE2A -:10023000130ED00013020000B70000F013000000FE -:10024000370100F01301F1FF1300000063E22016F4 -:100250001302120093022000E31052FE130EE0007E -:1002600013020000B70000F01300000013000000AC -:10027000370100F01301F1FF63EC201213021200AA -:1002800093022000E31052FE130EF0001302000050 -:10029000B70000F0370100F01301F1FF63EA20100E -:1002A0001302120093022000E31452FE130E000109 -:1002B00013020000B70000F0370100F01301F1FF56 -:1002C0001300000063E6200E1302120093022000C8 -:1002D000E31252FE130E100113020000B70000F0EB -:1002E000370100F01301F1FF1300000013000000BC -:1002F00063E0200C1302120093022000E31052FE70 -:10030000130E200113020000B70000F013000000DC -:10031000370100F01301F1FF63EC20081302120013 -:1003200093022000E31252FE130E3001130200006C -:10033000B70000F013000000370100F01301F1FFD7 -:100340001300000063E6200613021200930220004F -:10035000E31052FE130E400113020000B70000F03C -:100360001300000013000000370100F01301F1FF3B -:1003700063E020041302120093022000E31052FEF7 -:1003800093001000636A10009380100093801000A7 -:1003900093801000938010009380100093801000D1 -:1003A000930E3000130E50016394D001631CC00102 -:1003B0000F00F00F63000E00131E1E00136E1E00D0 -:1003C000730000000F00F00F130E10007300000008 -:1003D000731000C0000000000000000000000000DA -:1003E000000000000000000000000000000000000D -:1003F00000000000000000000000000000000000FD -:0404000000000000F8 +:1001F00063E620201302120093022000E31452FE53 +:100200009301A00013020000B70000F0370100F0D6 +:100210001301F1FF1300000063E2201E130212001D +:1002200093022000E31252FE9301B000130200007B +:10023000B70000F0370100F01301F1FF13000000D8 +:100240001300000063EC201A130212009302200036 +:10025000E31052FE9301C00013020000B70000F04B +:1002600013000000370100F01301F1FF63E82018CC +:100270001302120093022000E31252FE9301D000F9 +:1002800013020000B70000F013000000370100F077 +:100290001301F1FF1300000063E2201613021200A5 +:1002A00093022000E31052FE9301E00013020000CD +:1002B000B70000F01300000013000000370100F049 +:1002C0001301F1FF63EC20121302120093022000CD +:1002D000E31052FE9301F00013020000B70000F09B +:1002E000370100F01301F1FF63EA2010130212003E +:1002F00093022000E31452FE930100011302000058 +:10030000B70000F0370100F01301F1FF1300000007 +:1003100063E6200E1302120093022000E31252FE45 +:100320009301100113020000B70000F0370100F044 +:100330001301F1FF130000001300000063E0200C24 +:100340001302120093022000E31052FE93012001D9 +:1003500013020000B70000F013000000370100F0A6 +:100360001301F1FF63EC2008130212009302200036 +:10037000E31252FE9301300113020000B70000F0B7 +:1003800013000000370100F01301F1FF130000001B +:1003900063E620061302120093022000E31052FECF +:1003A0009301400113020000B70000F013000000A9 +:1003B00013000000370100F01301F1FF63E0200497 +:1003C0001302120093022000E31052FE930010006B +:1003D000636A1000938010009380100093801000D7 +:1003E000938010009380100093801000930E3000D3 +:1003F000930150016394D001631030020F00F00F9D +:10040000638001009391110093E111009308D005DE +:1004100013850100730000000F00F00F930110001E +:100420009308D0051305000073000000731000C08E +:1004300000000000000000000000000000000000BC +:0404400000000000B8 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-bne.dump b/simX/riscv_tests/rv32ui-p-bne.dump new file mode 100644 index 00000000..226d3de4 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-bne.dump @@ -0,0 +1,317 @@ + +rv32ui-p-bne: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00200193 li gp,2 +8000010c: 00000093 li ra,0 +80000110: 00100113 li sp,1 +80000114: 00209663 bne ra,sp,80000120 +80000118: 2a301a63 bne zero,gp,800003cc +8000011c: 00301663 bne zero,gp,80000128 +80000120: fe209ee3 bne ra,sp,8000011c +80000124: 2a301463 bne zero,gp,800003cc + +80000128 : +80000128: 00300193 li gp,3 +8000012c: 00100093 li ra,1 +80000130: 00000113 li sp,0 +80000134: 00209663 bne ra,sp,80000140 +80000138: 28301a63 bne zero,gp,800003cc +8000013c: 00301663 bne zero,gp,80000148 +80000140: fe209ee3 bne ra,sp,8000013c +80000144: 28301463 bne zero,gp,800003cc + +80000148 : +80000148: 00400193 li gp,4 +8000014c: fff00093 li ra,-1 +80000150: 00100113 li sp,1 +80000154: 00209663 bne ra,sp,80000160 +80000158: 26301a63 bne zero,gp,800003cc +8000015c: 00301663 bne zero,gp,80000168 +80000160: fe209ee3 bne ra,sp,8000015c +80000164: 26301463 bne zero,gp,800003cc + +80000168 : +80000168: 00500193 li gp,5 +8000016c: 00100093 li ra,1 +80000170: fff00113 li sp,-1 +80000174: 00209663 bne ra,sp,80000180 +80000178: 24301a63 bne zero,gp,800003cc +8000017c: 00301663 bne zero,gp,80000188 +80000180: fe209ee3 bne ra,sp,8000017c +80000184: 24301463 bne zero,gp,800003cc + +80000188 : +80000188: 00600193 li gp,6 +8000018c: 00000093 li ra,0 +80000190: 00000113 li sp,0 +80000194: 00209463 bne ra,sp,8000019c +80000198: 00301463 bne zero,gp,800001a0 +8000019c: 22301863 bne zero,gp,800003cc +800001a0: fe209ee3 bne ra,sp,8000019c + +800001a4 : +800001a4: 00700193 li gp,7 +800001a8: 00100093 li ra,1 +800001ac: 00100113 li sp,1 +800001b0: 00209463 bne ra,sp,800001b8 +800001b4: 00301463 bne zero,gp,800001bc +800001b8: 20301a63 bne zero,gp,800003cc +800001bc: fe209ee3 bne ra,sp,800001b8 + +800001c0 : +800001c0: 00800193 li gp,8 +800001c4: fff00093 li ra,-1 +800001c8: fff00113 li sp,-1 +800001cc: 00209463 bne ra,sp,800001d4 +800001d0: 00301463 bne zero,gp,800001d8 +800001d4: 1e301c63 bne zero,gp,800003cc +800001d8: fe209ee3 bne ra,sp,800001d4 + +800001dc : +800001dc: 00900193 li gp,9 +800001e0: 00000213 li tp,0 +800001e4: 00000093 li ra,0 +800001e8: 00000113 li sp,0 +800001ec: 1e209063 bne ra,sp,800003cc +800001f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001f4: 00200293 li t0,2 +800001f8: fe5216e3 bne tp,t0,800001e4 + +800001fc : +800001fc: 00a00193 li gp,10 +80000200: 00000213 li tp,0 +80000204: 00000093 li ra,0 +80000208: 00000113 li sp,0 +8000020c: 00000013 nop +80000210: 1a209e63 bne ra,sp,800003cc +80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000218: 00200293 li t0,2 +8000021c: fe5214e3 bne tp,t0,80000204 + +80000220 : +80000220: 00b00193 li gp,11 +80000224: 00000213 li tp,0 +80000228: 00000093 li ra,0 +8000022c: 00000113 li sp,0 +80000230: 00000013 nop +80000234: 00000013 nop +80000238: 18209a63 bne ra,sp,800003cc +8000023c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000240: 00200293 li t0,2 +80000244: fe5212e3 bne tp,t0,80000228 + +80000248 : +80000248: 00c00193 li gp,12 +8000024c: 00000213 li tp,0 +80000250: 00000093 li ra,0 +80000254: 00000013 nop +80000258: 00000113 li sp,0 +8000025c: 16209863 bne ra,sp,800003cc +80000260: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000264: 00200293 li t0,2 +80000268: fe5214e3 bne tp,t0,80000250 + +8000026c : +8000026c: 00d00193 li gp,13 +80000270: 00000213 li tp,0 +80000274: 00000093 li ra,0 +80000278: 00000013 nop +8000027c: 00000113 li sp,0 +80000280: 00000013 nop +80000284: 14209463 bne ra,sp,800003cc +80000288: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000028c: 00200293 li t0,2 +80000290: fe5212e3 bne tp,t0,80000274 + +80000294 : +80000294: 00e00193 li gp,14 +80000298: 00000213 li tp,0 +8000029c: 00000093 li ra,0 +800002a0: 00000013 nop +800002a4: 00000013 nop +800002a8: 00000113 li sp,0 +800002ac: 12209063 bne ra,sp,800003cc +800002b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b4: 00200293 li t0,2 +800002b8: fe5212e3 bne tp,t0,8000029c + +800002bc : +800002bc: 00f00193 li gp,15 +800002c0: 00000213 li tp,0 +800002c4: 00000093 li ra,0 +800002c8: 00000113 li sp,0 +800002cc: 10209063 bne ra,sp,800003cc +800002d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d4: 00200293 li t0,2 +800002d8: fe5216e3 bne tp,t0,800002c4 + +800002dc : +800002dc: 01000193 li gp,16 +800002e0: 00000213 li tp,0 +800002e4: 00000093 li ra,0 +800002e8: 00000113 li sp,0 +800002ec: 00000013 nop +800002f0: 0c209e63 bne ra,sp,800003cc +800002f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f8: 00200293 li t0,2 +800002fc: fe5214e3 bne tp,t0,800002e4 + +80000300 : +80000300: 01100193 li gp,17 +80000304: 00000213 li tp,0 +80000308: 00000093 li ra,0 +8000030c: 00000113 li sp,0 +80000310: 00000013 nop +80000314: 00000013 nop +80000318: 0a209a63 bne ra,sp,800003cc +8000031c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000320: 00200293 li t0,2 +80000324: fe5212e3 bne tp,t0,80000308 + +80000328 : +80000328: 01200193 li gp,18 +8000032c: 00000213 li tp,0 +80000330: 00000093 li ra,0 +80000334: 00000013 nop +80000338: 00000113 li sp,0 +8000033c: 08209863 bne ra,sp,800003cc +80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000344: 00200293 li t0,2 +80000348: fe5214e3 bne tp,t0,80000330 + +8000034c : +8000034c: 01300193 li gp,19 +80000350: 00000213 li tp,0 +80000354: 00000093 li ra,0 +80000358: 00000013 nop +8000035c: 00000113 li sp,0 +80000360: 00000013 nop +80000364: 06209463 bne ra,sp,800003cc +80000368: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000036c: 00200293 li t0,2 +80000370: fe5212e3 bne tp,t0,80000354 + +80000374 : +80000374: 01400193 li gp,20 +80000378: 00000213 li tp,0 +8000037c: 00000093 li ra,0 +80000380: 00000013 nop +80000384: 00000013 nop +80000388: 00000113 li sp,0 +8000038c: 04209063 bne ra,sp,800003cc +80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000394: 00200293 li t0,2 +80000398: fe5212e3 bne tp,t0,8000037c + +8000039c : +8000039c: 00100093 li ra,1 +800003a0: 00009a63 bnez ra,800003b4 +800003a4: 00108093 addi ra,ra,1 +800003a8: 00108093 addi ra,ra,1 +800003ac: 00108093 addi ra,ra,1 +800003b0: 00108093 addi ra,ra,1 +800003b4: 00108093 addi ra,ra,1 +800003b8: 00108093 addi ra,ra,1 +800003bc: 00300e93 li t4,3 +800003c0: 01500193 li gp,21 +800003c4: 01d09463 bne ra,t4,800003cc +800003c8: 02301063 bne zero,gp,800003e8 + +800003cc : +800003cc: 0ff0000f fence +800003d0: 00018063 beqz gp,800003d0 +800003d4: 00119193 slli gp,gp,0x1 +800003d8: 0011e193 ori gp,gp,1 +800003dc: 05d00893 li a7,93 +800003e0: 00018513 mv a0,gp +800003e4: 00000073 ecall + +800003e8 : +800003e8: 0ff0000f fence +800003ec: 00100193 li gp,1 +800003f0: 05d00893 li a7,93 +800003f4: 00000513 li a0,0 +800003f8: 00000073 ecall +800003fc: c0001073 unimp +80000400: 0000 unimp +80000402: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-bne.hex b/simX/riscv_tests/rv32ui-p-bne.hex index 83bb9db9..aa30ded3 100644 --- a/simX/riscv_tests/rv32ui-p-bne.hex +++ b/simX/riscv_tests/rv32ui-p-bne.hex @@ -2,68 +2,72 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030130E20002A -:1000C000930000001301100063962000631AC02BF8 -:1000D0006316C001E39E20FE6314C02B130E300094 -:1000E000930010001301000063962000631AC029DA -:1000F0006316C001E39E20FE6314C029130E400066 -:100100009300F0FF1301100063962000631AC027CC -:100110006316C001E39E20FE6314C027130E500037 -:10012000930010001301F0FF63962000631AC025AE -:100130006316C001E39E20FE6314C025130E600009 -:100140009300000013010000639420006314C001B9 -:100150006318C023E39E20FE130E7000930010006E -:1001600013011000639420006314C001631AC021BE -:10017000E39E20FE130E80009300F0FF1301F0FFBA -:10018000639420006314C001631CC01FE39E20FE23 -:10019000130E9000130200009300000013010000F2 -:1001A0006390201E1302120093022000E31652FEF9 -:1001B000130EA000130200009300000013010000C2 -:1001C00013000000639E201A130212009302200005 -:1001D000E31452FE130EB00013020000930000005F -:1001E000130100001300000013000000639A2018A0 -:1001F0001302120093022000E31252FE130EC000FD -:10020000130200009300000013000000130100001F -:10021000639820161302120093022000E31452FE8A -:10022000130ED00013020000930000001300000022 -:100230001301000013000000639420141302120045 -:1002400093022000E31252FE130EE000130200009E -:1002500093000000130000001300000013010000D1 -:10026000639020121302120093022000E31252FE48 -:10027000130EF000130200009300000013010000B1 -:10028000639020101302120093022000E31652FE26 -:10029000130E000113020000930000001301000080 -:1002A00013000000639E200C130212009302200032 -:1002B000E31452FE130E100113020000930000001D -:1002C000130100001300000013000000639A200ACD -:1002D0001302120093022000E31252FE130E2001BB -:1002E000130200009300000013000000130100003F -:1002F000639820081302120093022000E31452FEB8 -:10030000130E3001130200009300000013000000E0 -:100310001301000013000000639420061302120072 -:1003200093022000E31252FE130E4001130200005C -:1003300093000000130000001300000013010000F0 -:10034000639020041302120093022000E31252FE75 -:1003500093001000639A00009380100093801000B7 -:100360009380100093801000938010009380100001 -:10037000930E3000130E50016394D001631CC00132 -:100380000F00F00F63000E00131E1E00136E1E0000 -:10039000730000000F00F00F130E10007300000038 -:1003A000731000C00000000000000000000000000A -:1003B000000000000000000000000000000000003D -:0403C0000000000039 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093012000930000001C +:100110001301100063962000631A302A6316300022 +:10012000E39E20FE6314302A9301300093001000F8 +:100130001301000063962000631A30286316300014 +:10014000E39E20FE63143028930140009300F0FFEB +:100150001301100063962000631A302663163000E6 +:10016000E39E20FE6314302693015000930010009C +:100170001301F0FF63962000631A302463163000E9 +:10018000E39E20FE6314302493016000930000007E +:1001900013010000639420006314300063183022C0 +:1001A000E39E20FE930170009300100013011000E5 +:1001B0006394200063143000631A3020E39E20FE15 +:1001C000930180009300F0FF1301F0FF639420007F +:1001D00063143000631C301EE39E20FE93019000E8 +:1001E0001302000093000000130100006390201E22 +:1001F0001302120093022000E31652FE9301A000A6 +:10020000130200009300000013010000130000001F +:10021000639E201A1302120093022000E31452FE80 +:100220009301B000130200009300000013010000CE +:100230001300000013000000639A2018130212003C +:1002400093022000E31252FE9301C000130200004B +:1002500093000000130000001301000063982016B3 +:100260001302120093022000E31452FE9301D00007 +:1002700013020000930000001300000013010000AF +:100280001300000063942014130212009302200054 +:10029000E31252FE9301E0001302000093000000FD +:1002A00013000000130000001301000063902012EF +:1002B0001302120093022000E31252FE9301F00099 +:1002C000130200009300000013010000639020104F +:1002D0001302120093022000E31652FE9301000164 +:1002E000130200009300000013010000130000003F +:1002F000639E200C1302120093022000E31452FEAE +:10030000930110011302000093000000130100008C +:100310001300000013000000639A200A1302120069 +:1003200093022000E31252FE930120011302000009 +:1003300093000000130000001301000063982008E0 +:100340001302120093022000E31452FE93013001C5 +:1003500013020000930000001300000013010000CE +:100360001300000063942006130212009302200081 +:10037000E31252FE930140011302000093000000BB +:10038000130000001300000013010000639020041C +:100390001302120093022000E31252FE9300100099 +:1003A000639A0000938010009380100093801000E7 +:1003B000938010009380100093801000930E300003 +:1003C000930150016394D001631030020F00F00FCD +:1003D000638001009391110093E111009308D0050F +:1003E00013850100730000000F00F00F930110004F +:1003F0009308D0051305000073000000731000C0BF +:0404000000000000F8 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-fence_i.dump b/simX/riscv_tests/rv32ui-p-fence_i.dump new file mode 100644 index 00000000..492e0add --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-fence_i.dump @@ -0,0 +1,179 @@ + +rv32ui-p-fence_i: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret +80000108: 06f00693 li a3,111 +8000010c: 00002517 auipc a0,0x2 +80000110: ef451503 lh a0,-268(a0) # 80002000 +80000114: 00002597 auipc a1,0x2 +80000118: eee59583 lh a1,-274(a1) # 80002002 +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: 00000297 auipc t0,0x0 +80000144: 00a29a23 sh a0,20(t0) # 80000154 +80000148: 00000297 auipc t0,0x0 +8000014c: 00b29723 sh a1,14(t0) # 80000156 +80000150: 0000100f fence.i +80000154: 0de68693 addi a3,a3,222 + +80000158 : +80000158: 00000013 nop +8000015c: 1bc00e93 li t4,444 +80000160: 00200193 li gp,2 +80000164: 07d69a63 bne a3,t4,800001d8 +80000168: 06400713 li a4,100 +8000016c: fff70713 addi a4,a4,-1 +80000170: fe071ee3 bnez a4,8000016c +80000174: 00000297 auipc t0,0x0 +80000178: 04a29623 sh a0,76(t0) # 800001c0 +8000017c: 00000297 auipc t0,0x0 +80000180: 04b29323 sh a1,70(t0) # 800001c2 +80000184: 0000100f fence.i +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: 22b68693 addi a3,a3,555 + +800001c4 : +800001c4: 00000013 nop +800001c8: 30900e93 li t4,777 +800001cc: 00300193 li gp,3 +800001d0: 01d69463 bne a3,t4,800001d8 +800001d4: 02301063 bne zero,gp,800001f4 + +800001d8 : +800001d8: 0ff0000f fence +800001dc: 00018063 beqz gp,800001dc +800001e0: 00119193 slli gp,gp,0x1 +800001e4: 0011e193 ori gp,gp,1 +800001e8: 05d00893 li a7,93 +800001ec: 00018513 mv a0,gp +800001f0: 00000073 ecall + +800001f4 : +800001f4: 0ff0000f fence +800001f8: 00100193 li gp,1 +800001fc: 05d00893 li a7,93 +80000200: 00000513 li a0,0 +80000204: 00000073 ecall +80000208: c0001073 unimp +8000020c: 0000 unimp +8000020e: 0000 unimp +80000210: 0000 unimp +80000212: 0000 unimp +80000214: 0000 unimp +80000216: 0000 unimp +80000218: 0000 unimp +8000021a: 0000 unimp +8000021c: 0000 unimp +8000021e: 0000 unimp +80000220: 0000 unimp +80000222: 0000 unimp +80000224: 0000 unimp +80000226: 0000 unimp + +Disassembly of section .data: + +80002000 : +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/simX/riscv_tests/rv32ui-p-fence_i.hex b/simX/riscv_tests/rv32ui-p-fence_i.hex index 4823a04b..967ec0b0 100644 --- a/simX/riscv_tests/rv32ui-p-fence_i.hex +++ b/simX/riscv_tests/rv32ui-p-fence_i.hex @@ -2,40 +2,43 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F1730020309306F006DC -:1000C00017250000031505F4972500008395A5F377 -:1000D00013000000130000001300000013000000D4 -:1000E00013000000130000001300000013000000C4 -:1000F00013000000130000001300000013000000B4 -:1001000097020000239AA200970200002397B200F2 -:100110000F1000009386E60D13000000930EC01B25 -:10012000130E2000639AD607130740061307F7FF44 -:10013000E31E07FE970200002396A2049702000028 -:100140002393B2040F1000001300000013000000FE -:100150001300000013000000130000001300000053 -:100160001300000013000000130000001300000043 -:100170001300000013000000130000001300000033 -:100180009386B62213000000930E9030130E3000B9 -:100190006394D601631CC0010F00F00F63000E00D2 -:1001A000131E1E00136E1E00730000000F00F00FE0 -:1001B000130E100073000000731000C00000000058 -:1001C000000000000000000000000000000000002F -:1001D000000000000000000000000000000000001F -:1001E000000000000000000000000000000000000F -:0401F000000000000B +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309306F0061725000098 +:10011000031545EF972500008395E5EE13000000D9 +:100120001300000013000000130000001300000083 +:100130001300000013000000130000001300000073 +:1001400097020000239AA200970200002397B200B2 +:100150000F1000009386E60D13000000930EC01BE5 +:1001600093012000639AD607130740061307F7FF91 +:10017000E31E07FE970200002396A20497020000E8 +:100180002393B2040F1000001300000013000000BE +:100190001300000013000000130000001300000013 +:1001A0001300000013000000130000001300000003 +:1001B00013000000130000001300000013000000F3 +:1001C0009386B62213000000930E90309301300006 +:1001D0006394D601631030020F00F00F63800100BA +:1001E0009391110093E111009308D005138501004C +:1001F000730000000F00F00F930110009308D0056A +:100200001305000073000000731000C00000000020 +:1002100000000000000000000000000000000000DE +:080220000000000000000000D6 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 :102000009386D614000000000000000000000000CD -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-jal.dump b/simX/riscv_tests/rv32ui-p-jal.dump new file mode 100644 index 00000000..9d604b86 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-jal.dump @@ -0,0 +1,153 @@ + +rv32ui-p-jal: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00200193 li gp,2 +8000010c: 00000093 li ra,0 +80000110: 0100026f jal tp,80000120 + +80000114 : +80000114: 00000013 nop +80000118: 00000013 nop +8000011c: 0400006f j 8000015c + +80000120 : +80000120: 00000117 auipc sp,0x0 +80000124: ff410113 addi sp,sp,-12 # 80000114 +80000128: 02411a63 bne sp,tp,8000015c + +8000012c : +8000012c: 00100093 li ra,1 +80000130: 0140006f j 80000144 +80000134: 00108093 addi ra,ra,1 +80000138: 00108093 addi ra,ra,1 +8000013c: 00108093 addi ra,ra,1 +80000140: 00108093 addi ra,ra,1 +80000144: 00108093 addi ra,ra,1 +80000148: 00108093 addi ra,ra,1 +8000014c: 00300e93 li t4,3 +80000150: 00300193 li gp,3 +80000154: 01d09463 bne ra,t4,8000015c +80000158: 02301063 bne zero,gp,80000178 + +8000015c : +8000015c: 0ff0000f fence +80000160: 00018063 beqz gp,80000160 +80000164: 00119193 slli gp,gp,0x1 +80000168: 0011e193 ori gp,gp,1 +8000016c: 05d00893 li a7,93 +80000170: 00018513 mv a0,gp +80000174: 00000073 ecall + +80000178 : +80000178: 0ff0000f fence +8000017c: 00100193 li gp,1 +80000180: 05d00893 li a7,93 +80000184: 00000513 li a0,0 +80000188: 00000073 ecall +8000018c: c0001073 unimp +80000190: 0000 unimp +80000192: 0000 unimp +80000194: 0000 unimp +80000196: 0000 unimp +80000198: 0000 unimp +8000019a: 0000 unimp +8000019c: 0000 unimp +8000019e: 0000 unimp +800001a0: 0000 unimp +800001a2: 0000 unimp +800001a4: 0000 unimp +800001a6: 0000 unimp +800001a8: 0000 unimp +800001aa: 0000 unimp +800001ac: 0000 unimp +800001ae: 0000 unimp +800001b0: 0000 unimp +800001b2: 0000 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/simX/riscv_tests/rv32ui-p-jal.hex b/simX/riscv_tests/rv32ui-p-jal.hex index f03aa976..a350a936 100644 --- a/simX/riscv_tests/rv32ui-p-jal.hex +++ b/simX/riscv_tests/rv32ui-p-jal.hex @@ -2,28 +2,36 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030130E20002A -:1000C00093000000EF010001130000001300000086 -:1000D0006F00000417010000130141FF631A310291 -:1000E000930010006F004001938010009380100077 -:1000F0009380100093801000938010009380100074 -:10010000930E3000130E30006394D001631CC001C5 -:100110000F00F00F63000E00131E1E00136E1E0072 -:10012000730000000F00F00F130E100073000000AA -:10013000731000C00000000000000000000000007C -:0401400000000000BB +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093012000930000001C +:100110006F02000113000000130000006F000004D4 +:1001200017010000130141FF631A41029300100000 +:100130006F004001938010009380100093801000A6 +:10014000938010009380100093801000930E300075 +:10015000930130006394D001631030020F00F00F60 +:10016000638001009391110093E111009308D00581 +:1001700013850100730000000F00F00F93011000C1 +:100180009308D0051305000073000000731000C031 +:10019000000000000000000000000000000000005F +:1001A000000000000000000000000000000000004F +:1001B000000000000000000000000000000000003F +:0401C000000000003B :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-jalr.dump b/simX/riscv_tests/rv32ui-p-jalr.dump new file mode 100644 index 00000000..91db4db7 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-jalr.dump @@ -0,0 +1,191 @@ + +rv32ui-p-jalr: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00200193 li gp,2 +8000010c: 00000293 li t0,0 +80000110: 00000317 auipc t1,0x0 +80000114: 01030313 addi t1,t1,16 # 80000120 +80000118: 000302e7 jalr t0,t1 + +8000011c : +8000011c: 0c00006f j 800001dc + +80000120 : +80000120: 00000317 auipc t1,0x0 +80000124: ffc30313 addi t1,t1,-4 # 8000011c +80000128: 0a629a63 bne t0,t1,800001dc + +8000012c : +8000012c: 00400193 li gp,4 +80000130: 00000213 li tp,0 +80000134: 00000317 auipc t1,0x0 +80000138: 01030313 addi t1,t1,16 # 80000144 +8000013c: 000306e7 jalr a3,t1 +80000140: 08301e63 bne zero,gp,800001dc +80000144: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000148: 00200293 li t0,2 +8000014c: fe5214e3 bne tp,t0,80000134 + +80000150 : +80000150: 00500193 li gp,5 +80000154: 00000213 li tp,0 +80000158: 00000317 auipc t1,0x0 +8000015c: 01430313 addi t1,t1,20 # 8000016c +80000160: 00000013 nop +80000164: 000306e7 jalr a3,t1 +80000168: 06301a63 bne zero,gp,800001dc +8000016c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000170: 00200293 li t0,2 +80000174: fe5212e3 bne tp,t0,80000158 + +80000178 : +80000178: 00600193 li gp,6 +8000017c: 00000213 li tp,0 +80000180: 00000317 auipc t1,0x0 +80000184: 01830313 addi t1,t1,24 # 80000198 +80000188: 00000013 nop +8000018c: 00000013 nop +80000190: 000306e7 jalr a3,t1 +80000194: 04301463 bne zero,gp,800001dc +80000198: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000019c: 00200293 li t0,2 +800001a0: fe5210e3 bne tp,t0,80000180 + +800001a4 : +800001a4: 00100293 li t0,1 +800001a8: 00000317 auipc t1,0x0 +800001ac: 01c30313 addi t1,t1,28 # 800001c4 +800001b0: ffc30067 jr -4(t1) +800001b4: 00128293 addi t0,t0,1 +800001b8: 00128293 addi t0,t0,1 +800001bc: 00128293 addi t0,t0,1 +800001c0: 00128293 addi t0,t0,1 +800001c4: 00128293 addi t0,t0,1 +800001c8: 00128293 addi t0,t0,1 +800001cc: 00400e93 li t4,4 +800001d0: 00700193 li gp,7 +800001d4: 01d29463 bne t0,t4,800001dc +800001d8: 02301063 bne zero,gp,800001f8 + +800001dc : +800001dc: 0ff0000f fence +800001e0: 00018063 beqz gp,800001e0 +800001e4: 00119193 slli gp,gp,0x1 +800001e8: 0011e193 ori gp,gp,1 +800001ec: 05d00893 li a7,93 +800001f0: 00018513 mv a0,gp +800001f4: 00000073 ecall + +800001f8 : +800001f8: 0ff0000f fence +800001fc: 00100193 li gp,1 +80000200: 05d00893 li a7,93 +80000204: 00000513 li a0,0 +80000208: 00000073 ecall +8000020c: c0001073 unimp +80000210: 0000 unimp +80000212: 0000 unimp +80000214: 0000 unimp +80000216: 0000 unimp +80000218: 0000 unimp +8000021a: 0000 unimp +8000021c: 0000 unimp +8000021e: 0000 unimp +80000220: 0000 unimp +80000222: 0000 unimp +80000224: 0000 unimp +80000226: 0000 unimp +80000228: 0000 unimp +8000022a: 0000 unimp +8000022c: 0000 unimp +8000022e: 0000 unimp +80000230: 0000 unimp +80000232: 0000 unimp +80000234: 0000 unimp +80000236: 0000 unimp +80000238: 0000 unimp +8000023a: 0000 unimp +8000023c: 0000 unimp +8000023e: 0000 unimp +80000240: 0000 unimp +80000242: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-jalr.hex b/simX/riscv_tests/rv32ui-p-jalr.hex index 0381aae9..b962214a 100644 --- a/simX/riscv_tests/rv32ui-p-jalr.hex +++ b/simX/riscv_tests/rv32ui-p-jalr.hex @@ -2,36 +2,44 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030130E20002A -:1000C000930200001703000013030301E70203007B -:1000D0006F00000C170300001303C3FF639A620A4A -:1000E000130E400013020000170300001303030166 -:1000F000E7090300631EC0091302120093022000E7 -:10010000E31452FE130E5000130200001703000008 -:100110001303430113000000E7090300631AC0073B -:100120001302120093022000E31252FE130E60002D -:1001300013020000170300001303830113000000E3 -:1001400013000000E70903006314C0051302120046 -:1001500093022000E31052FE9302100017030000E8 -:100160001303C3016700C3FF93821200938212003E -:1001700093821200938212009382120093821200E3 -:10018000930E4000130E70006394D201631CC001F3 -:100190000F00F00F63000E00131E1E00136E1E00F2 -:1001A000730000000F00F00F130E1000730000002A -:1001B000731000C0000000000000000000000000FC -:0401C000000000003B +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093012000930200001A +:100110001703000013030301E70203006F00000C44 +:10012000170300001303C3FF639A620A93014000A0 +:10013000130200001703000013030301E706030086 +:10014000631E30081302120093022000E31452FED3 +:100150009301500013020000170300001303430132 +:1001600013000000E7060300631A300613021200B2 +:1001700093022000E31252FE93016000130200007C +:100180001703000013038301130000001300000095 +:10019000E7060300631430041302120093022000E8 +:1001A000E31052FE93021000170300001303C30173 +:1001B0006700C3FF938212009382120093821200A1 +:1001C000938212009382120093821200930E4000D9 +:1001D000930170006394D201631030020F00F00F9E +:1001E000638001009391110093E111009308D00501 +:1001F00013850100730000000F00F00F9301100041 +:100200009308D0051305000073000000731000C0B0 +:1002100000000000000000000000000000000000DE +:1002200000000000000000000000000000000000CE +:1002300000000000000000000000000000000000BE +:0402400000000000BA :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-lb.dump b/simX/riscv_tests/rv32ui-p-lb.dump new file mode 100644 index 00000000..522d0b8b --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-lb.dump @@ -0,0 +1,331 @@ + +rv32ui-p-lb: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00002097 auipc ra,0x2 +8000010c: ef808093 addi ra,ra,-264 # 80002000 +80000110: 00008703 lb a4,0(ra) +80000114: fff00e93 li t4,-1 +80000118: 00200193 li gp,2 +8000011c: 23d71c63 bne a4,t4,80000354 + +80000120 : +80000120: 00002097 auipc ra,0x2 +80000124: ee008093 addi ra,ra,-288 # 80002000 +80000128: 00108703 lb a4,1(ra) +8000012c: 00000e93 li t4,0 +80000130: 00300193 li gp,3 +80000134: 23d71063 bne a4,t4,80000354 + +80000138 : +80000138: 00002097 auipc ra,0x2 +8000013c: ec808093 addi ra,ra,-312 # 80002000 +80000140: 00208703 lb a4,2(ra) +80000144: ff000e93 li t4,-16 +80000148: 00400193 li gp,4 +8000014c: 21d71463 bne a4,t4,80000354 + +80000150 : +80000150: 00002097 auipc ra,0x2 +80000154: eb008093 addi ra,ra,-336 # 80002000 +80000158: 00308703 lb a4,3(ra) +8000015c: 00f00e93 li t4,15 +80000160: 00500193 li gp,5 +80000164: 1fd71863 bne a4,t4,80000354 + +80000168 : +80000168: 00002097 auipc ra,0x2 +8000016c: e9b08093 addi ra,ra,-357 # 80002003 +80000170: ffd08703 lb a4,-3(ra) +80000174: fff00e93 li t4,-1 +80000178: 00600193 li gp,6 +8000017c: 1dd71c63 bne a4,t4,80000354 + +80000180 : +80000180: 00002097 auipc ra,0x2 +80000184: e8308093 addi ra,ra,-381 # 80002003 +80000188: ffe08703 lb a4,-2(ra) +8000018c: 00000e93 li t4,0 +80000190: 00700193 li gp,7 +80000194: 1dd71063 bne a4,t4,80000354 + +80000198 : +80000198: 00002097 auipc ra,0x2 +8000019c: e6b08093 addi ra,ra,-405 # 80002003 +800001a0: fff08703 lb a4,-1(ra) +800001a4: ff000e93 li t4,-16 +800001a8: 00800193 li gp,8 +800001ac: 1bd71463 bne a4,t4,80000354 + +800001b0 : +800001b0: 00002097 auipc ra,0x2 +800001b4: e5308093 addi ra,ra,-429 # 80002003 +800001b8: 00008703 lb a4,0(ra) +800001bc: 00f00e93 li t4,15 +800001c0: 00900193 li gp,9 +800001c4: 19d71863 bne a4,t4,80000354 + +800001c8 : +800001c8: 00002097 auipc ra,0x2 +800001cc: e3808093 addi ra,ra,-456 # 80002000 +800001d0: fe008093 addi ra,ra,-32 +800001d4: 02008283 lb t0,32(ra) +800001d8: fff00e93 li t4,-1 +800001dc: 00a00193 li gp,10 +800001e0: 17d29a63 bne t0,t4,80000354 + +800001e4 : +800001e4: 00002097 auipc ra,0x2 +800001e8: e1c08093 addi ra,ra,-484 # 80002000 +800001ec: ffa08093 addi ra,ra,-6 +800001f0: 00708283 lb t0,7(ra) +800001f4: 00000e93 li t4,0 +800001f8: 00b00193 li gp,11 +800001fc: 15d29c63 bne t0,t4,80000354 + +80000200 : +80000200: 00c00193 li gp,12 +80000204: 00000213 li tp,0 +80000208: 00002097 auipc ra,0x2 +8000020c: df908093 addi ra,ra,-519 # 80002001 +80000210: 00108703 lb a4,1(ra) +80000214: 00070313 mv t1,a4 +80000218: ff000e93 li t4,-16 +8000021c: 13d31c63 bne t1,t4,80000354 +80000220: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000224: 00200293 li t0,2 +80000228: fe5210e3 bne tp,t0,80000208 + +8000022c : +8000022c: 00d00193 li gp,13 +80000230: 00000213 li tp,0 +80000234: 00002097 auipc ra,0x2 +80000238: dce08093 addi ra,ra,-562 # 80002002 +8000023c: 00108703 lb a4,1(ra) +80000240: 00000013 nop +80000244: 00070313 mv t1,a4 +80000248: 00f00e93 li t4,15 +8000024c: 11d31463 bne t1,t4,80000354 +80000250: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000254: 00200293 li t0,2 +80000258: fc521ee3 bne tp,t0,80000234 + +8000025c : +8000025c: 00e00193 li gp,14 +80000260: 00000213 li tp,0 +80000264: 00002097 auipc ra,0x2 +80000268: d9c08093 addi ra,ra,-612 # 80002000 +8000026c: 00108703 lb a4,1(ra) +80000270: 00000013 nop +80000274: 00000013 nop +80000278: 00070313 mv t1,a4 +8000027c: 00000e93 li t4,0 +80000280: 0dd31a63 bne t1,t4,80000354 +80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000288: 00200293 li t0,2 +8000028c: fc521ce3 bne tp,t0,80000264 + +80000290 : +80000290: 00f00193 li gp,15 +80000294: 00000213 li tp,0 +80000298: 00002097 auipc ra,0x2 +8000029c: d6908093 addi ra,ra,-663 # 80002001 +800002a0: 00108703 lb a4,1(ra) +800002a4: ff000e93 li t4,-16 +800002a8: 0bd71663 bne a4,t4,80000354 +800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b0: 00200293 li t0,2 +800002b4: fe5212e3 bne tp,t0,80000298 + +800002b8 : +800002b8: 01000193 li gp,16 +800002bc: 00000213 li tp,0 +800002c0: 00002097 auipc ra,0x2 +800002c4: d4208093 addi ra,ra,-702 # 80002002 +800002c8: 00000013 nop +800002cc: 00108703 lb a4,1(ra) +800002d0: 00f00e93 li t4,15 +800002d4: 09d71063 bne a4,t4,80000354 +800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002dc: 00200293 li t0,2 +800002e0: fe5210e3 bne tp,t0,800002c0 + +800002e4 : +800002e4: 01100193 li gp,17 +800002e8: 00000213 li tp,0 +800002ec: 00002097 auipc ra,0x2 +800002f0: d1408093 addi ra,ra,-748 # 80002000 +800002f4: 00000013 nop +800002f8: 00000013 nop +800002fc: 00108703 lb a4,1(ra) +80000300: 00000e93 li t4,0 +80000304: 05d71863 bne a4,t4,80000354 +80000308: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000030c: 00200293 li t0,2 +80000310: fc521ee3 bne tp,t0,800002ec + +80000314 : +80000314: 00002297 auipc t0,0x2 +80000318: cec28293 addi t0,t0,-788 # 80002000 +8000031c: 00028103 lb sp,0(t0) +80000320: 00200113 li sp,2 +80000324: 00200e93 li t4,2 +80000328: 01200193 li gp,18 +8000032c: 03d11463 bne sp,t4,80000354 + +80000330 : +80000330: 00002297 auipc t0,0x2 +80000334: cd028293 addi t0,t0,-816 # 80002000 +80000338: 00028103 lb sp,0(t0) +8000033c: 00000013 nop +80000340: 00200113 li sp,2 +80000344: 00200e93 li t4,2 +80000348: 01300193 li gp,19 +8000034c: 01d11463 bne sp,t4,80000354 +80000350: 02301063 bne zero,gp,80000370 + +80000354 : +80000354: 0ff0000f fence +80000358: 00018063 beqz gp,80000358 +8000035c: 00119193 slli gp,gp,0x1 +80000360: 0011e193 ori gp,gp,1 +80000364: 05d00893 li a7,93 +80000368: 00018513 mv a0,gp +8000036c: 00000073 ecall + +80000370 : +80000370: 0ff0000f fence +80000374: 00100193 li gp,1 +80000378: 05d00893 li a7,93 +8000037c: 00000513 li a0,0 +80000380: 00000073 ecall +80000384: c0001073 unimp +80000388: 0000 unimp +8000038a: 0000 unimp +8000038c: 0000 unimp +8000038e: 0000 unimp +80000390: 0000 unimp +80000392: 0000 unimp +80000394: 0000 unimp +80000396: 0000 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 + +Disassembly of section .data: + +80002000 : +80002000: 0xff + +80002001 : +80002001: fsw fs0,32(s0) + +80002002 : +80002002: addi a2,sp,988 + +80002003 : +80002003: 0000000f fence unknown,unknown +80002007: 0000 unimp +80002009: 0000 unimp +8000200b: 0000 unimp +8000200d: 0000 unimp +8000200f: 00 Address 0x000000008000200f is out of bounds. + diff --git a/simX/riscv_tests/rv32ui-p-lb.hex b/simX/riscv_tests/rv32ui-p-lb.hex index f91bb8b3..5cf06337 100644 --- a/simX/riscv_tests/rv32ui-p-lb.hex +++ b/simX/riscv_tests/rv32ui-p-lb.hex @@ -2,61 +2,69 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203097200000B4 -:1000C000938040F483810000930EF0FF130E200014 -:1000D000639CD123972000009380C0F2838110009D -:1000E000930E0000130E30006390D1239720000080 -:1000F000938040F183812000930E00FF130E400097 -:100100006394D121972000009380C0EF8381300059 -:10011000930EF000130E50006398D11F972000003B -:10012000938070EE8381D0FF930EF0FF130E60007A -:10013000639CD11D972000009380F0EC8381E0FF49 -:10014000930E0000130E70006390D11D97200000E5 -:10015000938070EB8381F0FF930E00FF130E8000FD -:100160006394D11B972000009380F0E98381000005 -:10017000930EF000130E90006398D11997200000A1 -:10018000938040E8938000FE83810002930EF0FF8D -:10019000130EA000639AD11797200000938080E689 -:1001A0009380A0FF83817000930E0000130EB000B7 -:1001B000639CD115130EC0001302000097200000AD -:1001C000938050E48381100013830100930E00FF9D -:1001D000631CD3131302120093022000E31052FE9B -:1001E000130ED00013020000972000009380A0E1BE -:1001F000838110001300000013830100930EF000B0 -:100200006314D3111302120093022000E31E52FC68 -:10021000130EE0001302000097200000938080DEA0 -:1002200083811000130000001300000013830100FD -:10023000930E0000631AD30D1302120093022000E4 -:10024000E31C52FC130EF000130200009720000084 -:10025000938050DB83811000930E00FF6396D10BD7 -:100260001302120093022000E31252FE130E00014B -:1002700013020000972000009380E0D813000000D4 -:1002800083811000930EF0006390D10913021200D5 -:1002900093022000E31052FE130E1001130200001F -:1002A00097200000938000D6130000001300000088 -:1002B00083811000930E00006398D1051302120091 -:1002C00093022000E31E52FC97210000938181D30A -:1002D0000381010013012000930E2000130E200162 -:1002E0006314D103972100009381C1D103810100E0 -:1002F0001300000013012000930E2000130E3001A4 -:100300006314D101631CC0010F00F00F63000E00E5 -:10031000131E1E00136E1E00730000000F00F00F6E -:10032000130E100073000000731000C000000000E6 -:1003300000000000000000000000000000000000BD -:0403400000000000B9 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203097200000938080EF2A +:1001100003870000930EF0FF93012000631CD72398 +:1001200097200000938000EE03871000930E0000DC +:10013000930130006310D72397200000938080EC58 +:1001400003872000930E00FF930140006314D72122 +:1001500097200000938000EB03873000930EF0009F +:10016000930150006318D71F972000009380B0E9D7 +:100170000387D0FF930EF0FF93016000631CD71D2F +:1001800097200000938030E80387E0FF930E000083 +:10019000930170006310D71D972000009380B0E694 +:1001A0000387F0FF930E00FF930180006314D71BB9 +:1001B00097200000938030E503870000930EF00045 +:1001C000930190006318D71997200000938080E373 +:1001D000938000FE83820002930EF0FF9301A00043 +:1001E000639AD217972000009380C0E19380A0FF0C +:1001F00083827000930E00009301B000639CD215BF +:100200009301C0001302000097200000938090DF4C +:100210000387100013030700930E00FF631CD31322 +:100220001302120093022000E31052FE9301D0004B +:1002300013020000972000009380E0DC0387100089 +:100240001300000013030700930EF0006314D31192 +:100250001302120093022000E31E52FC9301E000FF +:1002600013020000972000009380C0D9038710007C +:10027000130000001300000013030700930E00009A +:10028000631AD30D1302120093022000E31C52FCE8 +:100290009301F0001302000097200000938090D695 +:1002A00003871000930E00FF6316D70B1302120092 +:1002B00093022000E31252FE93010001130200009A +:1002C00097200000938020D41300000003871000C3 +:1002D000930EF0006310D70913021200930220005E +:1002E000E31052FE9301100113020000972000005A +:1002F000938040D11300000013000000038710001A +:10030000930E00006318D705130212009302200019 +:10031000E31E52FC972200009382C2CE03810200AA +:1003200013012000930E2000930120016314D103D8 +:1003300097220000938202CD038102001300000087 +:1003400013012000930E2000930130016314D101AA +:10035000631030020F00F00F6380010093911100D1 +:1003600093E111009308D00513850100730000008C +:100370000F00F00F930110009308D0051305000043 +:1003800073000000731000C00000000000000000B7 +:10039000000000000000000000000000000000005D +:1003A000000000000000000000000000000000004D +:1003B000000000000000000000000000000000003D +:0403C0000000000039 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 :10200000FF00F00F000000000000000000000000D2 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-lbu.dump b/simX/riscv_tests/rv32ui-p-lbu.dump new file mode 100644 index 00000000..d30228b1 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-lbu.dump @@ -0,0 +1,331 @@ + +rv32ui-p-lbu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00002097 auipc ra,0x2 +8000010c: ef808093 addi ra,ra,-264 # 80002000 +80000110: 0000c703 lbu a4,0(ra) +80000114: 0ff00e93 li t4,255 +80000118: 00200193 li gp,2 +8000011c: 23d71c63 bne a4,t4,80000354 + +80000120 : +80000120: 00002097 auipc ra,0x2 +80000124: ee008093 addi ra,ra,-288 # 80002000 +80000128: 0010c703 lbu a4,1(ra) +8000012c: 00000e93 li t4,0 +80000130: 00300193 li gp,3 +80000134: 23d71063 bne a4,t4,80000354 + +80000138 : +80000138: 00002097 auipc ra,0x2 +8000013c: ec808093 addi ra,ra,-312 # 80002000 +80000140: 0020c703 lbu a4,2(ra) +80000144: 0f000e93 li t4,240 +80000148: 00400193 li gp,4 +8000014c: 21d71463 bne a4,t4,80000354 + +80000150 : +80000150: 00002097 auipc ra,0x2 +80000154: eb008093 addi ra,ra,-336 # 80002000 +80000158: 0030c703 lbu a4,3(ra) +8000015c: 00f00e93 li t4,15 +80000160: 00500193 li gp,5 +80000164: 1fd71863 bne a4,t4,80000354 + +80000168 : +80000168: 00002097 auipc ra,0x2 +8000016c: e9b08093 addi ra,ra,-357 # 80002003 +80000170: ffd0c703 lbu a4,-3(ra) +80000174: 0ff00e93 li t4,255 +80000178: 00600193 li gp,6 +8000017c: 1dd71c63 bne a4,t4,80000354 + +80000180 : +80000180: 00002097 auipc ra,0x2 +80000184: e8308093 addi ra,ra,-381 # 80002003 +80000188: ffe0c703 lbu a4,-2(ra) +8000018c: 00000e93 li t4,0 +80000190: 00700193 li gp,7 +80000194: 1dd71063 bne a4,t4,80000354 + +80000198 : +80000198: 00002097 auipc ra,0x2 +8000019c: e6b08093 addi ra,ra,-405 # 80002003 +800001a0: fff0c703 lbu a4,-1(ra) +800001a4: 0f000e93 li t4,240 +800001a8: 00800193 li gp,8 +800001ac: 1bd71463 bne a4,t4,80000354 + +800001b0 : +800001b0: 00002097 auipc ra,0x2 +800001b4: e5308093 addi ra,ra,-429 # 80002003 +800001b8: 0000c703 lbu a4,0(ra) +800001bc: 00f00e93 li t4,15 +800001c0: 00900193 li gp,9 +800001c4: 19d71863 bne a4,t4,80000354 + +800001c8 : +800001c8: 00002097 auipc ra,0x2 +800001cc: e3808093 addi ra,ra,-456 # 80002000 +800001d0: fe008093 addi ra,ra,-32 +800001d4: 0200c283 lbu t0,32(ra) +800001d8: 0ff00e93 li t4,255 +800001dc: 00a00193 li gp,10 +800001e0: 17d29a63 bne t0,t4,80000354 + +800001e4 : +800001e4: 00002097 auipc ra,0x2 +800001e8: e1c08093 addi ra,ra,-484 # 80002000 +800001ec: ffa08093 addi ra,ra,-6 +800001f0: 0070c283 lbu t0,7(ra) +800001f4: 00000e93 li t4,0 +800001f8: 00b00193 li gp,11 +800001fc: 15d29c63 bne t0,t4,80000354 + +80000200 : +80000200: 00c00193 li gp,12 +80000204: 00000213 li tp,0 +80000208: 00002097 auipc ra,0x2 +8000020c: df908093 addi ra,ra,-519 # 80002001 +80000210: 0010c703 lbu a4,1(ra) +80000214: 00070313 mv t1,a4 +80000218: 0f000e93 li t4,240 +8000021c: 13d31c63 bne t1,t4,80000354 +80000220: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000224: 00200293 li t0,2 +80000228: fe5210e3 bne tp,t0,80000208 + +8000022c : +8000022c: 00d00193 li gp,13 +80000230: 00000213 li tp,0 +80000234: 00002097 auipc ra,0x2 +80000238: dce08093 addi ra,ra,-562 # 80002002 +8000023c: 0010c703 lbu a4,1(ra) +80000240: 00000013 nop +80000244: 00070313 mv t1,a4 +80000248: 00f00e93 li t4,15 +8000024c: 11d31463 bne t1,t4,80000354 +80000250: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000254: 00200293 li t0,2 +80000258: fc521ee3 bne tp,t0,80000234 + +8000025c : +8000025c: 00e00193 li gp,14 +80000260: 00000213 li tp,0 +80000264: 00002097 auipc ra,0x2 +80000268: d9c08093 addi ra,ra,-612 # 80002000 +8000026c: 0010c703 lbu a4,1(ra) +80000270: 00000013 nop +80000274: 00000013 nop +80000278: 00070313 mv t1,a4 +8000027c: 00000e93 li t4,0 +80000280: 0dd31a63 bne t1,t4,80000354 +80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000288: 00200293 li t0,2 +8000028c: fc521ce3 bne tp,t0,80000264 + +80000290 : +80000290: 00f00193 li gp,15 +80000294: 00000213 li tp,0 +80000298: 00002097 auipc ra,0x2 +8000029c: d6908093 addi ra,ra,-663 # 80002001 +800002a0: 0010c703 lbu a4,1(ra) +800002a4: 0f000e93 li t4,240 +800002a8: 0bd71663 bne a4,t4,80000354 +800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b0: 00200293 li t0,2 +800002b4: fe5212e3 bne tp,t0,80000298 + +800002b8 : +800002b8: 01000193 li gp,16 +800002bc: 00000213 li tp,0 +800002c0: 00002097 auipc ra,0x2 +800002c4: d4208093 addi ra,ra,-702 # 80002002 +800002c8: 00000013 nop +800002cc: 0010c703 lbu a4,1(ra) +800002d0: 00f00e93 li t4,15 +800002d4: 09d71063 bne a4,t4,80000354 +800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002dc: 00200293 li t0,2 +800002e0: fe5210e3 bne tp,t0,800002c0 + +800002e4 : +800002e4: 01100193 li gp,17 +800002e8: 00000213 li tp,0 +800002ec: 00002097 auipc ra,0x2 +800002f0: d1408093 addi ra,ra,-748 # 80002000 +800002f4: 00000013 nop +800002f8: 00000013 nop +800002fc: 0010c703 lbu a4,1(ra) +80000300: 00000e93 li t4,0 +80000304: 05d71863 bne a4,t4,80000354 +80000308: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000030c: 00200293 li t0,2 +80000310: fc521ee3 bne tp,t0,800002ec + +80000314 : +80000314: 00002297 auipc t0,0x2 +80000318: cec28293 addi t0,t0,-788 # 80002000 +8000031c: 0002c103 lbu sp,0(t0) +80000320: 00200113 li sp,2 +80000324: 00200e93 li t4,2 +80000328: 01200193 li gp,18 +8000032c: 03d11463 bne sp,t4,80000354 + +80000330 : +80000330: 00002297 auipc t0,0x2 +80000334: cd028293 addi t0,t0,-816 # 80002000 +80000338: 0002c103 lbu sp,0(t0) +8000033c: 00000013 nop +80000340: 00200113 li sp,2 +80000344: 00200e93 li t4,2 +80000348: 01300193 li gp,19 +8000034c: 01d11463 bne sp,t4,80000354 +80000350: 02301063 bne zero,gp,80000370 + +80000354 : +80000354: 0ff0000f fence +80000358: 00018063 beqz gp,80000358 +8000035c: 00119193 slli gp,gp,0x1 +80000360: 0011e193 ori gp,gp,1 +80000364: 05d00893 li a7,93 +80000368: 00018513 mv a0,gp +8000036c: 00000073 ecall + +80000370 : +80000370: 0ff0000f fence +80000374: 00100193 li gp,1 +80000378: 05d00893 li a7,93 +8000037c: 00000513 li a0,0 +80000380: 00000073 ecall +80000384: c0001073 unimp +80000388: 0000 unimp +8000038a: 0000 unimp +8000038c: 0000 unimp +8000038e: 0000 unimp +80000390: 0000 unimp +80000392: 0000 unimp +80000394: 0000 unimp +80000396: 0000 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 + +Disassembly of section .data: + +80002000 : +80002000: 0xff + +80002001 : +80002001: fsw fs0,32(s0) + +80002002 : +80002002: addi a2,sp,988 + +80002003 : +80002003: 0000000f fence unknown,unknown +80002007: 0000 unimp +80002009: 0000 unimp +8000200b: 0000 unimp +8000200d: 0000 unimp +8000200f: 00 Address 0x000000008000200f is out of bounds. + diff --git a/simX/riscv_tests/rv32ui-p-lbu.hex b/simX/riscv_tests/rv32ui-p-lbu.hex index b7c6f987..5977d1e0 100644 --- a/simX/riscv_tests/rv32ui-p-lbu.hex +++ b/simX/riscv_tests/rv32ui-p-lbu.hex @@ -2,61 +2,69 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203097200000B4 -:1000C000938040F483C10000930EF00F130E2000C4 -:1000D000639CD123972000009380C0F283C110005D -:1000E000930E0000130E30006390D1239720000080 -:1000F000938040F183C12000930E000F130E400047 -:100100006394D121972000009380C0EF83C1300019 -:10011000930EF000130E50006398D11F972000003B -:10012000938070EE83C1D0FF930EF00F130E60002A -:10013000639CD11D972000009380F0EC83C1E0FF09 -:10014000930E0000130E70006390D11D97200000E5 -:10015000938070EB83C1F0FF930E000F130E8000AD -:100160006394D11B972000009380F0E983C10000C5 -:10017000930EF000130E90006398D11997200000A1 -:10018000938040E8938000FE83C10002930EF00F3D -:10019000130EA000639AD11797200000938080E689 -:1001A0009380A0FF83C17000930E0000130EB00077 -:1001B000639CD115130EC0001302000097200000AD -:1001C000938050E483C1100013830100930E000F4D -:1001D000631CD3131302120093022000E31052FE9B -:1001E000130ED00013020000972000009380A0E1BE -:1001F00083C110001300000013830100930EF00070 -:100200006314D3111302120093022000E31E52FC68 -:10021000130EE0001302000097200000938080DEA0 -:1002200083C11000130000001300000013830100BD -:10023000930E0000631AD30D1302120093022000E4 -:10024000E31C52FC130EF000130200009720000084 -:10025000938050DB83C11000930E000F6396D10B87 -:100260001302120093022000E31252FE130E00014B -:1002700013020000972000009380E0D813000000D4 -:1002800083C11000930EF0006390D1091302120095 -:1002900093022000E31052FE130E1001130200001F -:1002A00097200000938000D6130000001300000088 -:1002B00083C11000930E00006398D1051302120051 -:1002C00093022000E31E52FC97210000938181D30A -:1002D00003C1010013012000930E2000130E200122 -:1002E0006314D103972100009381C1D103C10100A0 -:1002F0001300000013012000930E2000130E3001A4 -:100300006314D101631CC0010F00F00F63000E00E5 -:10031000131E1E00136E1E00730000000F00F00F6E -:10032000130E100073000000731000C000000000E6 -:1003300000000000000000000000000000000000BD -:0403400000000000B9 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203097200000938080EF2A +:1001100003C70000930EF00F93012000631CD72348 +:1001200097200000938000EE03C71000930E00009C +:10013000930130006310D72397200000938080EC58 +:1001400003C72000930E000F930140006314D721D2 +:1001500097200000938000EB03C73000930EF0005F +:10016000930150006318D71F972000009380B0E9D7 +:1001700003C7D0FF930EF00F93016000631CD71DDF +:1001800097200000938030E803C7E0FF930E000043 +:10019000930170006310D71D972000009380B0E694 +:1001A00003C7F0FF930E000F930180006314D71B69 +:1001B00097200000938030E503C70000930EF00005 +:1001C000930190006318D71997200000938080E373 +:1001D000938000FE83C20002930EF00F9301A000F3 +:1001E000639AD217972000009380C0E19380A0FF0C +:1001F00083C27000930E00009301B000639CD2157F +:100200009301C0001302000097200000938090DF4C +:1002100003C7100013030700930E000F631CD313D2 +:100220001302120093022000E31052FE9301D0004B +:1002300013020000972000009380E0DC03C7100049 +:100240001300000013030700930EF0006314D31192 +:100250001302120093022000E31E52FC9301E000FF +:1002600013020000972000009380C0D903C710003C +:10027000130000001300000013030700930E00009A +:10028000631AD30D1302120093022000E31C52FCE8 +:100290009301F0001302000097200000938090D695 +:1002A00003C71000930E000F6316D70B1302120042 +:1002B00093022000E31252FE93010001130200009A +:1002C00097200000938020D41300000003C7100083 +:1002D000930EF0006310D70913021200930220005E +:1002E000E31052FE9301100113020000972000005A +:1002F000938040D1130000001300000003C71000DA +:10030000930E00006318D705130212009302200019 +:10031000E31E52FC972200009382C2CE03C102006A +:1003200013012000930E2000930120016314D103D8 +:1003300097220000938202CD03C102001300000047 +:1003400013012000930E2000930130016314D101AA +:10035000631030020F00F00F6380010093911100D1 +:1003600093E111009308D00513850100730000008C +:100370000F00F00F930110009308D0051305000043 +:1003800073000000731000C00000000000000000B7 +:10039000000000000000000000000000000000005D +:1003A000000000000000000000000000000000004D +:1003B000000000000000000000000000000000003D +:0403C0000000000039 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 :10200000FF00F00F000000000000000000000000D2 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-lh.dump b/simX/riscv_tests/rv32ui-p-lh.dump new file mode 100644 index 00000000..8386dbe9 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-lh.dump @@ -0,0 +1,320 @@ + +rv32ui-p-lh: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00002097 auipc ra,0x2 +8000010c: ef808093 addi ra,ra,-264 # 80002000 +80000110: 00009703 lh a4,0(ra) +80000114: 0ff00e93 li t4,255 +80000118: 00200193 li gp,2 +8000011c: 25d71c63 bne a4,t4,80000374 + +80000120 : +80000120: 00002097 auipc ra,0x2 +80000124: ee008093 addi ra,ra,-288 # 80002000 +80000128: 00209703 lh a4,2(ra) +8000012c: f0000e93 li t4,-256 +80000130: 00300193 li gp,3 +80000134: 25d71063 bne a4,t4,80000374 + +80000138 : +80000138: 00002097 auipc ra,0x2 +8000013c: ec808093 addi ra,ra,-312 # 80002000 +80000140: 00409703 lh a4,4(ra) +80000144: 00001eb7 lui t4,0x1 +80000148: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +8000014c: 00400193 li gp,4 +80000150: 23d71263 bne a4,t4,80000374 + +80000154 : +80000154: 00002097 auipc ra,0x2 +80000158: eac08093 addi ra,ra,-340 # 80002000 +8000015c: 00609703 lh a4,6(ra) +80000160: fffffeb7 lui t4,0xfffff +80000164: 00fe8e93 addi t4,t4,15 # fffff00f <_end+0x7fffcfff> +80000168: 00500193 li gp,5 +8000016c: 21d71463 bne a4,t4,80000374 + +80000170 : +80000170: 00002097 auipc ra,0x2 +80000174: e9608093 addi ra,ra,-362 # 80002006 +80000178: ffa09703 lh a4,-6(ra) +8000017c: 0ff00e93 li t4,255 +80000180: 00600193 li gp,6 +80000184: 1fd71863 bne a4,t4,80000374 + +80000188 : +80000188: 00002097 auipc ra,0x2 +8000018c: e7e08093 addi ra,ra,-386 # 80002006 +80000190: ffc09703 lh a4,-4(ra) +80000194: f0000e93 li t4,-256 +80000198: 00700193 li gp,7 +8000019c: 1dd71c63 bne a4,t4,80000374 + +800001a0 : +800001a0: 00002097 auipc ra,0x2 +800001a4: e6608093 addi ra,ra,-410 # 80002006 +800001a8: ffe09703 lh a4,-2(ra) +800001ac: 00001eb7 lui t4,0x1 +800001b0: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +800001b4: 00800193 li gp,8 +800001b8: 1bd71e63 bne a4,t4,80000374 + +800001bc : +800001bc: 00002097 auipc ra,0x2 +800001c0: e4a08093 addi ra,ra,-438 # 80002006 +800001c4: 00009703 lh a4,0(ra) +800001c8: fffffeb7 lui t4,0xfffff +800001cc: 00fe8e93 addi t4,t4,15 # fffff00f <_end+0x7fffcfff> +800001d0: 00900193 li gp,9 +800001d4: 1bd71063 bne a4,t4,80000374 + +800001d8 : +800001d8: 00002097 auipc ra,0x2 +800001dc: e2808093 addi ra,ra,-472 # 80002000 +800001e0: fe008093 addi ra,ra,-32 +800001e4: 02009283 lh t0,32(ra) +800001e8: 0ff00e93 li t4,255 +800001ec: 00a00193 li gp,10 +800001f0: 19d29263 bne t0,t4,80000374 + +800001f4 : +800001f4: 00002097 auipc ra,0x2 +800001f8: e0c08093 addi ra,ra,-500 # 80002000 +800001fc: ffb08093 addi ra,ra,-5 +80000200: 00709283 lh t0,7(ra) +80000204: f0000e93 li t4,-256 +80000208: 00b00193 li gp,11 +8000020c: 17d29463 bne t0,t4,80000374 + +80000210 : +80000210: 00c00193 li gp,12 +80000214: 00000213 li tp,0 +80000218: 00002097 auipc ra,0x2 +8000021c: dea08093 addi ra,ra,-534 # 80002002 +80000220: 00209703 lh a4,2(ra) +80000224: 00070313 mv t1,a4 +80000228: 00001eb7 lui t4,0x1 +8000022c: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +80000230: 15d31263 bne t1,t4,80000374 +80000234: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000238: 00200293 li t0,2 +8000023c: fc521ee3 bne tp,t0,80000218 + +80000240 : +80000240: 00d00193 li gp,13 +80000244: 00000213 li tp,0 +80000248: 00002097 auipc ra,0x2 +8000024c: dbc08093 addi ra,ra,-580 # 80002004 +80000250: 00209703 lh a4,2(ra) +80000254: 00000013 nop +80000258: 00070313 mv t1,a4 +8000025c: fffffeb7 lui t4,0xfffff +80000260: 00fe8e93 addi t4,t4,15 # fffff00f <_end+0x7fffcfff> +80000264: 11d31863 bne t1,t4,80000374 +80000268: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000026c: 00200293 li t0,2 +80000270: fc521ce3 bne tp,t0,80000248 + +80000274 : +80000274: 00e00193 li gp,14 +80000278: 00000213 li tp,0 +8000027c: 00002097 auipc ra,0x2 +80000280: d8408093 addi ra,ra,-636 # 80002000 +80000284: 00209703 lh a4,2(ra) +80000288: 00000013 nop +8000028c: 00000013 nop +80000290: 00070313 mv t1,a4 +80000294: f0000e93 li t4,-256 +80000298: 0dd31e63 bne t1,t4,80000374 +8000029c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a0: 00200293 li t0,2 +800002a4: fc521ce3 bne tp,t0,8000027c + +800002a8 : +800002a8: 00f00193 li gp,15 +800002ac: 00000213 li tp,0 +800002b0: 00002097 auipc ra,0x2 +800002b4: d5208093 addi ra,ra,-686 # 80002002 +800002b8: 00209703 lh a4,2(ra) +800002bc: 00001eb7 lui t4,0x1 +800002c0: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +800002c4: 0bd71863 bne a4,t4,80000374 +800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002cc: 00200293 li t0,2 +800002d0: fe5210e3 bne tp,t0,800002b0 + +800002d4 : +800002d4: 01000193 li gp,16 +800002d8: 00000213 li tp,0 +800002dc: 00002097 auipc ra,0x2 +800002e0: d2808093 addi ra,ra,-728 # 80002004 +800002e4: 00000013 nop +800002e8: 00209703 lh a4,2(ra) +800002ec: fffffeb7 lui t4,0xfffff +800002f0: 00fe8e93 addi t4,t4,15 # fffff00f <_end+0x7fffcfff> +800002f4: 09d71063 bne a4,t4,80000374 +800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002fc: 00200293 li t0,2 +80000300: fc521ee3 bne tp,t0,800002dc + +80000304 : +80000304: 01100193 li gp,17 +80000308: 00000213 li tp,0 +8000030c: 00002097 auipc ra,0x2 +80000310: cf408093 addi ra,ra,-780 # 80002000 +80000314: 00000013 nop +80000318: 00000013 nop +8000031c: 00209703 lh a4,2(ra) +80000320: f0000e93 li t4,-256 +80000324: 05d71863 bne a4,t4,80000374 +80000328: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000032c: 00200293 li t0,2 +80000330: fc521ee3 bne tp,t0,8000030c + +80000334 : +80000334: 00002297 auipc t0,0x2 +80000338: ccc28293 addi t0,t0,-820 # 80002000 +8000033c: 00029103 lh sp,0(t0) +80000340: 00200113 li sp,2 +80000344: 00200e93 li t4,2 +80000348: 01200193 li gp,18 +8000034c: 03d11463 bne sp,t4,80000374 + +80000350 : +80000350: 00002297 auipc t0,0x2 +80000354: cb028293 addi t0,t0,-848 # 80002000 +80000358: 00029103 lh sp,0(t0) +8000035c: 00000013 nop +80000360: 00200113 li sp,2 +80000364: 00200e93 li t4,2 +80000368: 01300193 li gp,19 +8000036c: 01d11463 bne sp,t4,80000374 +80000370: 02301063 bne zero,gp,80000390 + +80000374 : +80000374: 0ff0000f fence +80000378: 00018063 beqz gp,80000378 +8000037c: 00119193 slli gp,gp,0x1 +80000380: 0011e193 ori gp,gp,1 +80000384: 05d00893 li a7,93 +80000388: 00018513 mv a0,gp +8000038c: 00000073 ecall + +80000390 : +80000390: 0ff0000f fence +80000394: 00100193 li gp,1 +80000398: 05d00893 li a7,93 +8000039c: 00000513 li a0,0 +800003a0: 00000073 ecall +800003a4: c0001073 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 + +Disassembly of section .data: + +80002000 : +80002000: 00ff 0xff + +80002002 : +80002002: ff00 fsw fs0,56(a4) + +80002004 : +80002004: 0ff0 addi a2,sp,988 + +80002006 : +80002006: 0000f00f 0xf00f +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-lh.hex b/simX/riscv_tests/rv32ui-p-lh.hex index fe96f9c1..69d34d4b 100644 --- a/simX/riscv_tests/rv32ui-p-lh.hex +++ b/simX/riscv_tests/rv32ui-p-lh.hex @@ -2,65 +2,69 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203097200000B4 -:1000C000938040F483910000930EF00F130E2000F4 -:1000D000639CD125972000009380C0F2839120007B -:1000E000930E00F0130E30006390D125972000008E -:1000F000938040F183914000B71E0000938E0EFF65 -:10010000130E40006392D12397200000938080EF6C -:1001100083916000B7FEFFFF938EFE00130E500028 -:100120006394D12197200000938020EE8391A0FF5B -:10013000930EF00F130E60006398D11F97200000FC -:100140009380A0EC8391C0FF930E00F0130E70001B -:10015000639CD11D97200000938020EB8391E0FFEA -:10016000B71E0000938E0EFF130E8000639ED11BFE -:1001700097200000938060E983910000B7FEFFFFA5 -:10018000938EFE00130E90006390D11B9720000009 -:10019000938040E7938000FE83910002930EF00F5E -:1001A000130EA0006392D11997200000938080E580 -:1001B0009380B0FF83917000930E00F0130EB00097 -:1001C0006394D117130EC0001302000097200000A3 -:1001D000938060E38391200013830100B71E000029 -:1001E000938E0EFF6312D3151302120093022000A8 -:1001F000E31E52FC130ED0001302000097200000F3 -:10020000938080E08391200013000000138301009D -:10021000B7FEFFFF938EFE006318D3111302120086 -:1002200093022000E31C52FC130EE00013020000B6 -:1002300097200000938000DD8391200013000000D0 -:100240001300000013830100930E00F0631ED30D12 -:100250001302120093022000E31C52FC130EF00064 -:1002600013020000972000009380E0D983912000C2 -:10027000B71E0000938E0EFF6398D10B130212007D -:1002800093022000E31052FE130E0001130200003F -:1002900097200000938040D7130000008391200036 -:1002A000B7FEFFFF938EFE006390D1091302120088 -:1002B00093022000E31E52FC130E100113020000F3 -:1002C00097200000938000D413000000130000006A -:1002D00083912000930E00F06398D1051302120061 -:1002E00093022000E31E52FC97210000938181D1EC -:1002F0000391010013012000930E2000130E200132 -:100300006314D103972100009381C1CF03910100B1 -:100310001300000013012000930E2000130E300183 -:100320006314D101631CC0010F00F00F63000E00C5 -:10033000131E1E00136E1E00730000000F00F00F4E -:10034000130E100073000000731000C000000000C6 -:10035000000000000000000000000000000000009D -:10036000000000000000000000000000000000008D -:10037000000000000000000000000000000000007D -:040380000000000079 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203097200000938080EF2A +:1001100003970000930EF00F93012000631CD72576 +:1001200097200000938000EE03972000930E00F0CC +:10013000930130006310D72597200000938080EC56 +:1001400003974000B71E0000938E0EFF93014000FE +:100150006312D723972000009380C0EA03976000C2 +:10016000B7FEFFFF938EFE00930150006314D7216A +:1001700097200000938060E90397A0FF930EF00F93 +:10018000930160006318D71F972000009380E0E779 +:100190000397C0FF930E00F093017000631CD71DFE +:1001A00097200000938060E60397E0FFB71E0000F1 +:1001B000938E0EFF93018000631ED71B97200000D3 +:1001C0009380A0E403970000B7FEFFFF938EFE002C +:1001D000930190006310D71B97200000938080E26A +:1001E000938000FE83920002930EF00F9301A00013 +:1001F0006392D219972000009380C0E09380B0FFF3 +:1002000083927000930E00F09301B0006394D217B4 +:100210009301C00013020000972000009380A0DE2D +:100220000397200013030700B71E0000938E0EFFF4 +:100230006312D3151302120093022000E31E52FC36 +:100240009301D00013020000972000009380C0DBD0 +:10025000039720001300000013030700B7FEFFFF01 +:10026000938EFE006318D311130212009302200034 +:10027000E31C52FC9301E0001302000097200000F1 +:10028000938040D803972000130000001300000063 +:1002900013030700930E00F0631ED30D1302120028 +:1002A00093022000E31C52FC9301F00013020000B3 +:1002B00097200000938020D503972000B71E0000F0 +:1002C000938E0EFF6318D70B1302120093022000C7 +:1002D000E31052FE9301000113020000972000007A +:1002E000938080D21300000003972000B7FEFFFF29 +:1002F000938EFE006310D7091302120093022000B0 +:10030000E31E52FC9301100113020000972000002D +:10031000938040CF130000001300000003972000DB +:10032000930E00F06318D705130212009302200009 +:10033000E31E52FC972200009382C2CC039102007C +:1003400013012000930E2000930120016314D103B8 +:1003500097220000938202CB039102001300000059 +:1003600013012000930E2000930130016314D1018A +:10037000631030020F00F00F6380010093911100B1 +:1003800093E111009308D00513850100730000006C +:100390000F00F00F930110009308D0051305000023 +:1003A00073000000731000C0000000000000000097 +:1003B000000000000000000000000000000000003D +:0403C0000000000039 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 :10200000FF0000FFF00F0FF00000000000000000D4 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-lhu.dump b/simX/riscv_tests/rv32ui-p-lhu.dump new file mode 100644 index 00000000..68b4f089 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-lhu.dump @@ -0,0 +1,315 @@ + +rv32ui-p-lhu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00002097 auipc ra,0x2 +8000010c: ef808093 addi ra,ra,-264 # 80002000 +80000110: 0000d703 lhu a4,0(ra) +80000114: 0ff00e93 li t4,255 +80000118: 00200193 li gp,2 +8000011c: 27d71663 bne a4,t4,80000388 + +80000120 : +80000120: 00002097 auipc ra,0x2 +80000124: ee008093 addi ra,ra,-288 # 80002000 +80000128: 0020d703 lhu a4,2(ra) +8000012c: 00010eb7 lui t4,0x10 +80000130: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> +80000134: 00300193 li gp,3 +80000138: 25d71863 bne a4,t4,80000388 + +8000013c : +8000013c: 00002097 auipc ra,0x2 +80000140: ec408093 addi ra,ra,-316 # 80002000 +80000144: 0040d703 lhu a4,4(ra) +80000148: 00001eb7 lui t4,0x1 +8000014c: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +80000150: 00400193 li gp,4 +80000154: 23d71a63 bne a4,t4,80000388 + +80000158 : +80000158: 00002097 auipc ra,0x2 +8000015c: ea808093 addi ra,ra,-344 # 80002000 +80000160: 0060d703 lhu a4,6(ra) +80000164: 0000feb7 lui t4,0xf +80000168: 00fe8e93 addi t4,t4,15 # f00f <_start-0x7fff0ff1> +8000016c: 00500193 li gp,5 +80000170: 21d71c63 bne a4,t4,80000388 + +80000174 : +80000174: 00002097 auipc ra,0x2 +80000178: e9208093 addi ra,ra,-366 # 80002006 +8000017c: ffa0d703 lhu a4,-6(ra) +80000180: 0ff00e93 li t4,255 +80000184: 00600193 li gp,6 +80000188: 21d71063 bne a4,t4,80000388 + +8000018c : +8000018c: 00002097 auipc ra,0x2 +80000190: e7a08093 addi ra,ra,-390 # 80002006 +80000194: ffc0d703 lhu a4,-4(ra) +80000198: 00010eb7 lui t4,0x10 +8000019c: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> +800001a0: 00700193 li gp,7 +800001a4: 1fd71263 bne a4,t4,80000388 + +800001a8 : +800001a8: 00002097 auipc ra,0x2 +800001ac: e5e08093 addi ra,ra,-418 # 80002006 +800001b0: ffe0d703 lhu a4,-2(ra) +800001b4: 00001eb7 lui t4,0x1 +800001b8: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +800001bc: 00800193 li gp,8 +800001c0: 1dd71463 bne a4,t4,80000388 + +800001c4 : +800001c4: 00002097 auipc ra,0x2 +800001c8: e4208093 addi ra,ra,-446 # 80002006 +800001cc: 0000d703 lhu a4,0(ra) +800001d0: 0000feb7 lui t4,0xf +800001d4: 00fe8e93 addi t4,t4,15 # f00f <_start-0x7fff0ff1> +800001d8: 00900193 li gp,9 +800001dc: 1bd71663 bne a4,t4,80000388 + +800001e0 : +800001e0: 00002097 auipc ra,0x2 +800001e4: e2008093 addi ra,ra,-480 # 80002000 +800001e8: fe008093 addi ra,ra,-32 +800001ec: 0200d283 lhu t0,32(ra) +800001f0: 0ff00e93 li t4,255 +800001f4: 00a00193 li gp,10 +800001f8: 19d29863 bne t0,t4,80000388 + +800001fc : +800001fc: 00002097 auipc ra,0x2 +80000200: e0408093 addi ra,ra,-508 # 80002000 +80000204: ffb08093 addi ra,ra,-5 +80000208: 0070d283 lhu t0,7(ra) +8000020c: 00010eb7 lui t4,0x10 +80000210: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> +80000214: 00b00193 li gp,11 +80000218: 17d29863 bne t0,t4,80000388 + +8000021c : +8000021c: 00c00193 li gp,12 +80000220: 00000213 li tp,0 +80000224: 00002097 auipc ra,0x2 +80000228: dde08093 addi ra,ra,-546 # 80002002 +8000022c: 0020d703 lhu a4,2(ra) +80000230: 00070313 mv t1,a4 +80000234: 00001eb7 lui t4,0x1 +80000238: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +8000023c: 15d31663 bne t1,t4,80000388 +80000240: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000244: 00200293 li t0,2 +80000248: fc521ee3 bne tp,t0,80000224 + +8000024c : +8000024c: 00d00193 li gp,13 +80000250: 00000213 li tp,0 +80000254: 00002097 auipc ra,0x2 +80000258: db008093 addi ra,ra,-592 # 80002004 +8000025c: 0020d703 lhu a4,2(ra) +80000260: 00000013 nop +80000264: 00070313 mv t1,a4 +80000268: 0000feb7 lui t4,0xf +8000026c: 00fe8e93 addi t4,t4,15 # f00f <_start-0x7fff0ff1> +80000270: 11d31c63 bne t1,t4,80000388 +80000274: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000278: 00200293 li t0,2 +8000027c: fc521ce3 bne tp,t0,80000254 + +80000280 : +80000280: 00e00193 li gp,14 +80000284: 00000213 li tp,0 +80000288: 00002097 auipc ra,0x2 +8000028c: d7808093 addi ra,ra,-648 # 80002000 +80000290: 0020d703 lhu a4,2(ra) +80000294: 00000013 nop +80000298: 00000013 nop +8000029c: 00070313 mv t1,a4 +800002a0: 00010eb7 lui t4,0x10 +800002a4: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> +800002a8: 0fd31063 bne t1,t4,80000388 +800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b0: 00200293 li t0,2 +800002b4: fc521ae3 bne tp,t0,80000288 + +800002b8 : +800002b8: 00f00193 li gp,15 +800002bc: 00000213 li tp,0 +800002c0: 00002097 auipc ra,0x2 +800002c4: d4208093 addi ra,ra,-702 # 80002002 +800002c8: 0020d703 lhu a4,2(ra) +800002cc: 00001eb7 lui t4,0x1 +800002d0: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +800002d4: 0bd71a63 bne a4,t4,80000388 +800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002dc: 00200293 li t0,2 +800002e0: fe5210e3 bne tp,t0,800002c0 + +800002e4 : +800002e4: 01000193 li gp,16 +800002e8: 00000213 li tp,0 +800002ec: 00002097 auipc ra,0x2 +800002f0: d1808093 addi ra,ra,-744 # 80002004 +800002f4: 00000013 nop +800002f8: 0020d703 lhu a4,2(ra) +800002fc: 0000feb7 lui t4,0xf +80000300: 00fe8e93 addi t4,t4,15 # f00f <_start-0x7fff0ff1> +80000304: 09d71263 bne a4,t4,80000388 +80000308: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000030c: 00200293 li t0,2 +80000310: fc521ee3 bne tp,t0,800002ec + +80000314 : +80000314: 01100193 li gp,17 +80000318: 00000213 li tp,0 +8000031c: 00002097 auipc ra,0x2 +80000320: ce408093 addi ra,ra,-796 # 80002000 +80000324: 00000013 nop +80000328: 00000013 nop +8000032c: 0020d703 lhu a4,2(ra) +80000330: 00010eb7 lui t4,0x10 +80000334: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> +80000338: 05d71863 bne a4,t4,80000388 +8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000340: 00200293 li t0,2 +80000344: fc521ce3 bne tp,t0,8000031c + +80000348 : +80000348: 00002297 auipc t0,0x2 +8000034c: cb828293 addi t0,t0,-840 # 80002000 +80000350: 0002d103 lhu sp,0(t0) +80000354: 00200113 li sp,2 +80000358: 00200e93 li t4,2 +8000035c: 01200193 li gp,18 +80000360: 03d11463 bne sp,t4,80000388 + +80000364 : +80000364: 00002297 auipc t0,0x2 +80000368: c9c28293 addi t0,t0,-868 # 80002000 +8000036c: 0002d103 lhu sp,0(t0) +80000370: 00000013 nop +80000374: 00200113 li sp,2 +80000378: 00200e93 li t4,2 +8000037c: 01300193 li gp,19 +80000380: 01d11463 bne sp,t4,80000388 +80000384: 02301063 bne zero,gp,800003a4 + +80000388 : +80000388: 0ff0000f fence +8000038c: 00018063 beqz gp,8000038c +80000390: 00119193 slli gp,gp,0x1 +80000394: 0011e193 ori gp,gp,1 +80000398: 05d00893 li a7,93 +8000039c: 00018513 mv a0,gp +800003a0: 00000073 ecall + +800003a4 : +800003a4: 0ff0000f fence +800003a8: 00100193 li gp,1 +800003ac: 05d00893 li a7,93 +800003b0: 00000513 li a0,0 +800003b4: 00000073 ecall +800003b8: c0001073 unimp +800003bc: 0000 unimp +800003be: 0000 unimp +800003c0: 0000 unimp +800003c2: 0000 unimp + +Disassembly of section .data: + +80002000 : +80002000: 00ff 0xff + +80002002 : +80002002: ff00 fsw fs0,56(a4) + +80002004 : +80002004: 0ff0 addi a2,sp,988 + +80002006 : +80002006: 0000f00f 0xf00f +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-lhu.hex b/simX/riscv_tests/rv32ui-p-lhu.hex index c191ecb9..1b1b9019 100644 --- a/simX/riscv_tests/rv32ui-p-lhu.hex +++ b/simX/riscv_tests/rv32ui-p-lhu.hex @@ -2,65 +2,69 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203097200000B4 -:1000C000938040F483D10000930EF00F130E2000B4 -:1000D0006396D127972000009380C0F283D120003F -:1000E000B70E0100938E0EF0130E30006398D125E9 -:1000F00097200000938000F183D14000B71E0000DC -:10010000938E0EFF130E4000639AD12397200000B8 -:10011000938040EF83D16000B7FE0000938EFE0015 -:10012000130E5000639CD121972000009380E0EDD6 -:1001300083D1A0FF930EF00F130E60006390D121C6 -:1001400097200000938060EC83D1C0FFB70E0100C0 -:10015000938E0EF0130E70006392D11F9720000053 -:100160009380A0EA83D1E0FFB71E0000938E0EFFBC -:10017000130E80006394D11D972000009380E0E867 -:1001800083D10000B7FE0000938EFE00130E900096 -:100190006396D11B972000009380C0E6938000FEF9 -:1001A00083D10002930EF00F130EA0006398D119B3 -:1001B00097200000938000E59380B0FF83D170000A -:1001C000B70E0100938E0EF0130EB0006398D11796 -:1001D000130EC00013020000972000009380A0E2DD -:1001E00083D1200013830100B71E0000938E0EFF01 -:1001F0006316D3151302120093022000E31E52FC73 -:10020000130ED00013020000972000009380C0DF7F -:1002100083D120001300000013830100B7FE00000B -:10022000938EFE00631CD311130212009302200070 -:10023000E31C52FC130EE0001302000097200000A4 -:10024000938040DC83D120001300000013000000E5 -:1002500013830100B70E0100938E0EF06310D30FCD -:100260001302120093022000E31A52FC130EF00056 -:1002700013020000972000009380E0D883D1200073 -:10028000B71E0000938E0EFF639AD10B130212006B -:1002900093022000E31052FE130E0001130200002F -:1002A00097200000938040D61300000083D12000E7 -:1002B000B7FE0000938EFE006392D1091302120074 -:1002C00093022000E31E52FC130E100113020000E3 -:1002D00097200000938000D313000000130000005B -:1002E00083D12000B70E0100938E0EF06398D105E4 -:1002F0001302120093022000E31C52FC972100001D -:10030000938141D003D1010013012000930E2000FE -:10031000130E20016314D10397210000938181CE35 -:1003200003D101001300000013012000930E2000F0 -:10033000130E30016314D101631CC0010F00F00FD4 -:1003400063000E00131E1E00136E1E0073000000DB -:100350000F00F00F130E100073000000731000C0A8 -:10036000000000000000000000000000000000008D -:10037000000000000000000000000000000000007D -:040380000000000079 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203097200000938080EF2A +:1001100003D70000930EF00F930120006316D7273A +:1001200097200000938000EE03D72000B70E010057 +:10013000938E0EF0930130006318D72597200000AE +:10014000938040EC03D74000B71E0000938E0EFF53 +:1001500093014000631AD72397200000938080EA20 +:1001600003D76000B7FE0000938EFE00930150009D +:10017000631CD72197200000938020E903D7A0FFBC +:10018000930EF00F930160006310D72197200000B9 +:100190009380A0E703D7C0FFB70E0100938E0EF047 +:1001A000930170006312D71F972000009380E0E551 +:1001B00003D7E0FFB71E0000938E0EFF930180006F +:1001C0006314D71D97200000938020E403D700001C +:1001D000B7FE0000938EFE00930190006316D71BBC +:1001E00097200000938000E2938000FE83D20002FB +:1001F000930EF00F9301A0006398D219972000008E +:10020000938040E09380B0FF83D27000B70E01006E +:10021000938E0EF09301B0006398D2179301C00043 +:1002200013020000972000009380E0DD03D7200038 +:1002300013030700B71E0000938E0EFF6316D3153D +:100240001302120093022000E31E52FC9301D0001F +:100250001302000097200000938000DB03D72000EA +:100260001300000013030700B7FE0000938EFE008A +:10027000631CD3111302120093022000E31C52FCF2 +:100280009301E0001302000097200000938080D7C4 +:1002900003D7200013000000130000001303070021 +:1002A000B70E0100938E0EF06310D30F13021200ED +:1002B00093022000E31A52FC9301F00013020000A5 +:1002C00097200000938020D403D72000B71E0000A1 +:1002D000938E0EFF631AD70B1302120093022000B5 +:1002E000E31052FE9301000113020000972000006A +:1002F000938080D11300000003D72000B7FE0000D8 +:10030000938EFE006312D70913021200930220009D +:10031000E31E52FC9301100113020000972000001D +:10032000938040CE130000001300000003D720008C +:10033000B70E0100938E0EF06318D705130212005A +:1003400093022000E31C52FC97220000938282CB90 +:1003500003D1020013012000930E2000930120011D +:100360006314D103972200009382C2C903D1020013 +:100370001300000013012000930E200093013001B0 +:100380006314D101631030020F00F00F638001008D +:100390009391110093E111009308D005138501009A +:1003A000730000000F00F00F930110009308D005B8 +:1003B0001305000073000000731000C0000000006F +:0403C0000000000039 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 :10200000FF0000FFF00F0FF00000000000000000D4 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-lui.dump b/simX/riscv_tests/rv32ui-p-lui.dump new file mode 100644 index 00000000..6768863a --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-lui.dump @@ -0,0 +1,152 @@ + +rv32ui-p-lui: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 000000b7 lui ra,0x0 +8000010c: 00000e93 li t4,0 +80000110: 00200193 li gp,2 +80000114: 05d09a63 bne ra,t4,80000168 + +80000118 : +80000118: fffff0b7 lui ra,0xfffff +8000011c: 4010d093 srai ra,ra,0x1 +80000120: 80000e93 li t4,-2048 +80000124: 00300193 li gp,3 +80000128: 05d09063 bne ra,t4,80000168 + +8000012c : +8000012c: 7ffff0b7 lui ra,0x7ffff +80000130: 4140d093 srai ra,ra,0x14 +80000134: 7ff00e93 li t4,2047 +80000138: 00400193 li gp,4 +8000013c: 03d09663 bne ra,t4,80000168 + +80000140 : +80000140: 800000b7 lui ra,0x80000 +80000144: 4140d093 srai ra,ra,0x14 +80000148: 80000e93 li t4,-2048 +8000014c: 00500193 li gp,5 +80000150: 01d09c63 bne ra,t4,80000168 + +80000154 : +80000154: 80000037 lui zero,0x80000 +80000158: 00000e93 li t4,0 +8000015c: 00600193 li gp,6 +80000160: 01d01463 bne zero,t4,80000168 +80000164: 02301063 bne zero,gp,80000184 + +80000168 : +80000168: 0ff0000f fence +8000016c: 00018063 beqz gp,8000016c +80000170: 00119193 slli gp,gp,0x1 +80000174: 0011e193 ori gp,gp,1 +80000178: 05d00893 li a7,93 +8000017c: 00018513 mv a0,gp +80000180: 00000073 ecall + +80000184 : +80000184: 0ff0000f fence +80000188: 00100193 li gp,1 +8000018c: 05d00893 li a7,93 +80000190: 00000513 li a0,0 +80000194: 00000073 ecall +80000198: c0001073 unimp +8000019c: 0000 unimp +8000019e: 0000 unimp +800001a0: 0000 unimp +800001a2: 0000 unimp +800001a4: 0000 unimp +800001a6: 0000 unimp +800001a8: 0000 unimp +800001aa: 0000 unimp +800001ac: 0000 unimp +800001ae: 0000 unimp +800001b0: 0000 unimp +800001b2: 0000 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/simX/riscv_tests/rv32ui-p-lui.hex b/simX/riscv_tests/rv32ui-p-lui.hex index f362421a..3b48547c 100644 --- a/simX/riscv_tests/rv32ui-p-lui.hex +++ b/simX/riscv_tests/rv32ui-p-lui.hex @@ -2,28 +2,36 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030B7000000B4 -:1000C000930E0000130E2000639AD005B7F0FFFFD7 -:1000D00093D01040930E0080130E30006390D00533 -:1000E000B7F0FF7F93D04041930EF07F130E400096 -:1000F0006396D003B700008093D04041930E0080F8 -:10010000130E5000639CD00137000080930E000056 -:10011000130E60006314D001631CC0010F00F00FC8 -:1001200063000E00131E1E00136E1E0073000000FD -:100130000F00F00F130E100073000000731000C0CA -:0401400000000000BB +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030B7000000930E00000B +:1001100093012000639AD005B7F0FFFF93D0104001 +:10012000930E0080930130006390D005B7F0FF7FFD +:1001300093D04041930EF07F930140006396D0032B +:10014000B700008093D04041930E0080930150008F +:10015000639CD00137000080930E00009301600083 +:100160006314D001631030020F00F00F63800100B0 +:100170009391110093E111009308D00513850100BC +:10018000730000000F00F00F930110009308D005DA +:100190001305000073000000731000C00000000091 +:1001A000000000000000000000000000000000004F +:1001B000000000000000000000000000000000003F +:0401C000000000003B :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-lw.dump b/simX/riscv_tests/rv32ui-p-lw.dump new file mode 100644 index 00000000..a33f55a2 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-lw.dump @@ -0,0 +1,344 @@ + +rv32ui-p-lw: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00002097 auipc ra,0x2 +8000010c: ef808093 addi ra,ra,-264 # 80002000 +80000110: 0000a703 lw a4,0(ra) +80000114: 00ff0eb7 lui t4,0xff0 +80000118: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +8000011c: 00200193 li gp,2 +80000120: 27d71a63 bne a4,t4,80000394 + +80000124 : +80000124: 00002097 auipc ra,0x2 +80000128: edc08093 addi ra,ra,-292 # 80002000 +8000012c: 0040a703 lw a4,4(ra) +80000130: ff010eb7 lui t4,0xff010 +80000134: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00def0> +80000138: 00300193 li gp,3 +8000013c: 25d71c63 bne a4,t4,80000394 + +80000140 : +80000140: 00002097 auipc ra,0x2 +80000144: ec008093 addi ra,ra,-320 # 80002000 +80000148: 0080a703 lw a4,8(ra) +8000014c: 0ff01eb7 lui t4,0xff01 +80000150: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000154: 00400193 li gp,4 +80000158: 23d71e63 bne a4,t4,80000394 + +8000015c : +8000015c: 00002097 auipc ra,0x2 +80000160: ea408093 addi ra,ra,-348 # 80002000 +80000164: 00c0a703 lw a4,12(ra) +80000168: f00ffeb7 lui t4,0xf00ff +8000016c: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fcfff> +80000170: 00500193 li gp,5 +80000174: 23d71063 bne a4,t4,80000394 + +80000178 : +80000178: 00002097 auipc ra,0x2 +8000017c: e9408093 addi ra,ra,-364 # 8000200c +80000180: ff40a703 lw a4,-12(ra) +80000184: 00ff0eb7 lui t4,0xff0 +80000188: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +8000018c: 00600193 li gp,6 +80000190: 21d71263 bne a4,t4,80000394 + +80000194 : +80000194: 00002097 auipc ra,0x2 +80000198: e7808093 addi ra,ra,-392 # 8000200c +8000019c: ff80a703 lw a4,-8(ra) +800001a0: ff010eb7 lui t4,0xff010 +800001a4: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00def0> +800001a8: 00700193 li gp,7 +800001ac: 1fd71463 bne a4,t4,80000394 + +800001b0 : +800001b0: 00002097 auipc ra,0x2 +800001b4: e5c08093 addi ra,ra,-420 # 8000200c +800001b8: ffc0a703 lw a4,-4(ra) +800001bc: 0ff01eb7 lui t4,0xff01 +800001c0: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +800001c4: 00800193 li gp,8 +800001c8: 1dd71663 bne a4,t4,80000394 + +800001cc : +800001cc: 00002097 auipc ra,0x2 +800001d0: e4008093 addi ra,ra,-448 # 8000200c +800001d4: 0000a703 lw a4,0(ra) +800001d8: f00ffeb7 lui t4,0xf00ff +800001dc: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fcfff> +800001e0: 00900193 li gp,9 +800001e4: 1bd71863 bne a4,t4,80000394 + +800001e8 : +800001e8: 00002097 auipc ra,0x2 +800001ec: e1808093 addi ra,ra,-488 # 80002000 +800001f0: fe008093 addi ra,ra,-32 +800001f4: 0200a283 lw t0,32(ra) +800001f8: 00ff0eb7 lui t4,0xff0 +800001fc: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +80000200: 00a00193 li gp,10 +80000204: 19d29863 bne t0,t4,80000394 + +80000208 : +80000208: 00002097 auipc ra,0x2 +8000020c: df808093 addi ra,ra,-520 # 80002000 +80000210: ffd08093 addi ra,ra,-3 +80000214: 0070a283 lw t0,7(ra) +80000218: ff010eb7 lui t4,0xff010 +8000021c: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00def0> +80000220: 00b00193 li gp,11 +80000224: 17d29863 bne t0,t4,80000394 + +80000228 : +80000228: 00c00193 li gp,12 +8000022c: 00000213 li tp,0 +80000230: 00002097 auipc ra,0x2 +80000234: dd408093 addi ra,ra,-556 # 80002004 +80000238: 0040a703 lw a4,4(ra) +8000023c: 00070313 mv t1,a4 +80000240: 0ff01eb7 lui t4,0xff01 +80000244: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000248: 15d31663 bne t1,t4,80000394 +8000024c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000250: 00200293 li t0,2 +80000254: fc521ee3 bne tp,t0,80000230 + +80000258 : +80000258: 00d00193 li gp,13 +8000025c: 00000213 li tp,0 +80000260: 00002097 auipc ra,0x2 +80000264: da808093 addi ra,ra,-600 # 80002008 +80000268: 0040a703 lw a4,4(ra) +8000026c: 00000013 nop +80000270: 00070313 mv t1,a4 +80000274: f00ffeb7 lui t4,0xf00ff +80000278: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fcfff> +8000027c: 11d31c63 bne t1,t4,80000394 +80000280: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000284: 00200293 li t0,2 +80000288: fc521ce3 bne tp,t0,80000260 + +8000028c : +8000028c: 00e00193 li gp,14 +80000290: 00000213 li tp,0 +80000294: 00002097 auipc ra,0x2 +80000298: d6c08093 addi ra,ra,-660 # 80002000 +8000029c: 0040a703 lw a4,4(ra) +800002a0: 00000013 nop +800002a4: 00000013 nop +800002a8: 00070313 mv t1,a4 +800002ac: ff010eb7 lui t4,0xff010 +800002b0: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00def0> +800002b4: 0fd31063 bne t1,t4,80000394 +800002b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002bc: 00200293 li t0,2 +800002c0: fc521ae3 bne tp,t0,80000294 + +800002c4 : +800002c4: 00f00193 li gp,15 +800002c8: 00000213 li tp,0 +800002cc: 00002097 auipc ra,0x2 +800002d0: d3808093 addi ra,ra,-712 # 80002004 +800002d4: 0040a703 lw a4,4(ra) +800002d8: 0ff01eb7 lui t4,0xff01 +800002dc: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +800002e0: 0bd71a63 bne a4,t4,80000394 +800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e8: 00200293 li t0,2 +800002ec: fe5210e3 bne tp,t0,800002cc + +800002f0 : +800002f0: 01000193 li gp,16 +800002f4: 00000213 li tp,0 +800002f8: 00002097 auipc ra,0x2 +800002fc: d1008093 addi ra,ra,-752 # 80002008 +80000300: 00000013 nop +80000304: 0040a703 lw a4,4(ra) +80000308: f00ffeb7 lui t4,0xf00ff +8000030c: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fcfff> +80000310: 09d71263 bne a4,t4,80000394 +80000314: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000318: 00200293 li t0,2 +8000031c: fc521ee3 bne tp,t0,800002f8 + +80000320 : +80000320: 01100193 li gp,17 +80000324: 00000213 li tp,0 +80000328: 00002097 auipc ra,0x2 +8000032c: cd808093 addi ra,ra,-808 # 80002000 +80000330: 00000013 nop +80000334: 00000013 nop +80000338: 0040a703 lw a4,4(ra) +8000033c: ff010eb7 lui t4,0xff010 +80000340: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00def0> +80000344: 05d71863 bne a4,t4,80000394 +80000348: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000034c: 00200293 li t0,2 +80000350: fc521ce3 bne tp,t0,80000328 + +80000354 : +80000354: 00002297 auipc t0,0x2 +80000358: cac28293 addi t0,t0,-852 # 80002000 +8000035c: 0002a103 lw sp,0(t0) +80000360: 00200113 li sp,2 +80000364: 00200e93 li t4,2 +80000368: 01200193 li gp,18 +8000036c: 03d11463 bne sp,t4,80000394 + +80000370 : +80000370: 00002297 auipc t0,0x2 +80000374: c9028293 addi t0,t0,-880 # 80002000 +80000378: 0002a103 lw sp,0(t0) +8000037c: 00000013 nop +80000380: 00200113 li sp,2 +80000384: 00200e93 li t4,2 +80000388: 01300193 li gp,19 +8000038c: 01d11463 bne sp,t4,80000394 +80000390: 02301063 bne zero,gp,800003b0 + +80000394 : +80000394: 0ff0000f fence +80000398: 00018063 beqz gp,80000398 +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 : +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 : +80002000: 00ff 0xff +80002002: 00ff 0xff + +80002004 : +80002004: ff00 fsw fs0,56(a4) +80002006: ff00 fsw fs0,56(a4) + +80002008 : +80002008: 0ff0 addi a2,sp,988 +8000200a: 0ff0 addi a2,sp,988 + +8000200c : +8000200c: f00ff00f 0xf00ff00f diff --git a/simX/riscv_tests/rv32ui-p-lw.hex b/simX/riscv_tests/rv32ui-p-lw.hex index 6cf9e00a..a2b8e1b7 100644 --- a/simX/riscv_tests/rv32ui-p-lw.hex +++ b/simX/riscv_tests/rv32ui-p-lw.hex @@ -2,65 +2,73 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203097200000B4 -:1000C000938040F483A10000B70EFF00938EFE0FD3 -:1000D000130E2000639AD12797200000938080F2AE -:1000E00083A14000B70E01FF938E0EF0130E300077 -:1000F000639CD125972000009380C0F083A18000ED -:10010000B71EF00F938E0EFF130E4000639ED12397 -:1001100097200000938000EF83A1C000B7FE0FF08E -:10012000938EFE00130E50006390D12397200000A1 -:10013000938000EE83A140FFB70EFF00938EFE0F69 -:10014000130E60006392D12197200000938040EC51 -:1001500083A180FFB70E01FF938E0EF0130E700087 -:100160006394D11F97200000938080EA83A1C0FF91 -:10017000B71EF00F938E0EFF130E80006396D11DF5 -:10018000972000009380C0E883A10000B7FE0FF025 -:10019000938EFE00130E90006398D11B97200000F1 -:1001A000938040E6938000FE83A10002B70EFF001B -:1001B000938EFE0F130EA0006398D11997200000B4 -:1001C000938040E49380D0FF83A17000B70E01FFBD -:1001D000938E0EF0130EB0006398D117130EC0006B -:1001E0001302000097200000938000E283A14000EA -:1001F00013830100B71EF00F938E0EFF6316D31505 -:100200001302120093022000E31E52FC130ED000D2 -:100210001302000097200000938040DF83A140007C -:100220001300000013830100B7FE0FF0938EFE0051 -:10023000631CD3111302120093022000E31C52FC32 -:10024000130EE0001302000097200000938080DB73 -:1002500083A140001300000013000000138301007D -:10026000B70E01FF938E0EF06310D30F130212002E -:1002700093022000E31A52FC130EF0001302000058 -:1002800097200000938040D883A14000B71EF00F54 -:10029000938E0EFF639AD10B13021200930220007B -:1002A000E31052FE130E000113020000972000001D -:1002B0009380C0D51300000083A14000B7FE0FF06B -:1002C000938EFE006392D109130212009302200064 -:1002D000E31E52FC130E10011302000097200000D1 -:1002E000938040D2130000001300000083A140005F -:1002F000B70E01FF938E0EF06398D1051302120022 -:1003000093022000E31C52FC97210000938181CFCF -:1003100003A1010013012000930E2000130E200101 -:100320006314D103972100009381C1CD03A1010083 -:100330001300000013012000930E2000130E300163 -:100340006314D101631CC0010F00F00F63000E00A5 -:10035000131E1E00136E1E00730000000F00F00F2E -:10036000130E100073000000731000C000000000A6 -:10037000000000000000000000000000000000007D -:040380000000000079 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203097200000938080EF2A +:1001100003A70000B70EFF00938EFE0F930120008F +:10012000631AD727972000009380C0ED03A74000F3 +:10013000B70E01FF938E0EF093013000631CD7259C +:1001400097200000938000EC03A78000B71EF00FFB +:10015000938E0EFF93014000631ED723972000006B +:10016000938040EA03A7C000B7FE0FF0938EFE0015 +:10017000930150006310D72397200000938040E93B +:1001800003A740FFB70EFF00938EFE0F93016000A0 +:100190006312D72197200000938080E703A780FF98 +:1001A000B70E01FF938E0EF0930170006314D71FFA +:1001B000972000009380C0E503A7C0FFB71EF00F93 +:1001C000938E0EFF930180006316D71D97200000C9 +:1001D000938000E403A70000B7FE0FF0938EFE00AB +:1001E000930190006318D71B97200000938080E153 +:1001F000938000FE83A20002B70EFF00938EFE0FD5 +:100200009301A0006398D21997200000938080DFAB +:100210009380D0FF83A27000B70E01FF938E0EF083 +:100220009301B0006398D2179301C000130200003D +:1002300097200000938040DD03A7400013030700D0 +:10024000B71EF00F938E0EFF6316D3151302120024 +:1002500093022000E31E52FC9301D0001302000021 +:1002600097200000938080DA03A74000130000006D +:1002700013030700B7FE0FF0938EFE00631CD3112B +:100280001302120093022000E31C52FC9301E000D1 +:1002900013020000972000009380C0D603A74000FF +:1002A000130000001300000013030700B70E01FF46 +:1002B000938E0EF06310D30F1302120093022000EE +:1002C000E31A52FC9301F000130200009720000093 +:1002D000938080D303A74000B71EF00F938E0EFFCC +:1002E000631AD70B1302120093022000E31052FE90 +:1002F000930100011302000097200000938000D1B9 +:100300001300000003A74000B7FE0FF0938EFE001D +:100310006312D7091302120093022000E31E52FC5D +:10032000930110011302000097200000938080CDFC +:10033000130000001300000003A74000B70E01FFE8 +:10034000938E0EF06318D70513021200930220005B +:10035000E31C52FC972200009382C2CA03A1020050 +:1003600013012000930E2000930120016314D10398 +:1003700097220000938202C903A10200130000002B +:1003800013012000930E2000930130016314D1016A +:10039000631030020F00F00F638001009391110091 +:1003A00093E111009308D00513850100730000004C +:1003B0000F00F00F930110009308D0051305000003 +:1003C00073000000731000C0000000000000000077 +:1003D000000000000000000000000000000000001D +:1003E000000000000000000000000000000000000D +:1003F00000000000000000000000000000000000FD +:0404000000000000F8 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 :10200000FF00FF0000FF00FFF00FF00F0FF00FF0D8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-or.dump b/simX/riscv_tests/rv32ui-p-or.dump new file mode 100644 index 00000000..1e38373e --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-or.dump @@ -0,0 +1,457 @@ + +rv32ui-p-or: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: ff0100b7 lui ra,0xff010 +8000010c: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000110: 0f0f1137 lui sp,0xf0f1 +80000114: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000118: 0020e733 or a4,ra,sp +8000011c: ff100eb7 lui t4,0xff100 +80000120: f0fe8e93 addi t4,t4,-241 # ff0fff0f <_end+0x7f0fdf0f> +80000124: 00200193 li gp,2 +80000128: 4bd71263 bne a4,t4,800005cc + +8000012c : +8000012c: 0ff010b7 lui ra,0xff01 +80000130: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000134: f0f0f137 lui sp,0xf0f0f +80000138: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +8000013c: 0020e733 or a4,ra,sp +80000140: fff10eb7 lui t4,0xfff10 +80000144: ff0e8e93 addi t4,t4,-16 # fff0fff0 <_end+0x7ff0dff0> +80000148: 00300193 li gp,3 +8000014c: 49d71063 bne a4,t4,800005cc + +80000150 : +80000150: 00ff00b7 lui ra,0xff0 +80000154: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000158: 0f0f1137 lui sp,0xf0f1 +8000015c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000160: 0020e733 or a4,ra,sp +80000164: 0fff1eb7 lui t4,0xfff1 +80000168: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +8000016c: 00400193 li gp,4 +80000170: 45d71e63 bne a4,t4,800005cc + +80000174 : +80000174: f00ff0b7 lui ra,0xf00ff +80000178: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +8000017c: f0f0f137 lui sp,0xf0f0f +80000180: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000184: 0020e733 or a4,ra,sp +80000188: f0fffeb7 lui t4,0xf0fff +8000018c: 0ffe8e93 addi t4,t4,255 # f0fff0ff <_end+0x70ffd0ff> +80000190: 00500193 li gp,5 +80000194: 43d71c63 bne a4,t4,800005cc + +80000198 : +80000198: ff0100b7 lui ra,0xff010 +8000019c: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800001a0: 0f0f1137 lui sp,0xf0f1 +800001a4: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800001a8: 0020e0b3 or ra,ra,sp +800001ac: ff100eb7 lui t4,0xff100 +800001b0: f0fe8e93 addi t4,t4,-241 # ff0fff0f <_end+0x7f0fdf0f> +800001b4: 00600193 li gp,6 +800001b8: 41d09a63 bne ra,t4,800005cc + +800001bc : +800001bc: ff0100b7 lui ra,0xff010 +800001c0: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800001c4: 0f0f1137 lui sp,0xf0f1 +800001c8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800001cc: 0020e133 or sp,ra,sp +800001d0: ff100eb7 lui t4,0xff100 +800001d4: f0fe8e93 addi t4,t4,-241 # ff0fff0f <_end+0x7f0fdf0f> +800001d8: 00700193 li gp,7 +800001dc: 3fd11863 bne sp,t4,800005cc + +800001e0 : +800001e0: ff0100b7 lui ra,0xff010 +800001e4: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800001e8: 0010e0b3 or ra,ra,ra +800001ec: ff010eb7 lui t4,0xff010 +800001f0: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00df00> +800001f4: 00800193 li gp,8 +800001f8: 3dd09a63 bne ra,t4,800005cc + +800001fc : +800001fc: 00000213 li tp,0 +80000200: ff0100b7 lui ra,0xff010 +80000204: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000208: 0f0f1137 lui sp,0xf0f1 +8000020c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000210: 0020e733 or a4,ra,sp +80000214: 00070313 mv t1,a4 +80000218: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000021c: 00200293 li t0,2 +80000220: fe5210e3 bne tp,t0,80000200 +80000224: ff100eb7 lui t4,0xff100 +80000228: f0fe8e93 addi t4,t4,-241 # ff0fff0f <_end+0x7f0fdf0f> +8000022c: 00900193 li gp,9 +80000230: 39d31e63 bne t1,t4,800005cc + +80000234 : +80000234: 00000213 li tp,0 +80000238: 0ff010b7 lui ra,0xff01 +8000023c: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000240: f0f0f137 lui sp,0xf0f0f +80000244: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000248: 0020e733 or a4,ra,sp +8000024c: 00000013 nop +80000250: 00070313 mv t1,a4 +80000254: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000258: 00200293 li t0,2 +8000025c: fc521ee3 bne tp,t0,80000238 +80000260: fff10eb7 lui t4,0xfff10 +80000264: ff0e8e93 addi t4,t4,-16 # fff0fff0 <_end+0x7ff0dff0> +80000268: 00a00193 li gp,10 +8000026c: 37d31063 bne t1,t4,800005cc + +80000270 : +80000270: 00000213 li tp,0 +80000274: 00ff00b7 lui ra,0xff0 +80000278: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000027c: 0f0f1137 lui sp,0xf0f1 +80000280: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000284: 0020e733 or a4,ra,sp +80000288: 00000013 nop +8000028c: 00000013 nop +80000290: 00070313 mv t1,a4 +80000294: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000298: 00200293 li t0,2 +8000029c: fc521ce3 bne tp,t0,80000274 +800002a0: 0fff1eb7 lui t4,0xfff1 +800002a4: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +800002a8: 00b00193 li gp,11 +800002ac: 33d31063 bne t1,t4,800005cc + +800002b0 : +800002b0: 00000213 li tp,0 +800002b4: ff0100b7 lui ra,0xff010 +800002b8: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800002bc: 0f0f1137 lui sp,0xf0f1 +800002c0: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800002c4: 0020e733 or a4,ra,sp +800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002cc: 00200293 li t0,2 +800002d0: fe5212e3 bne tp,t0,800002b4 +800002d4: ff100eb7 lui t4,0xff100 +800002d8: f0fe8e93 addi t4,t4,-241 # ff0fff0f <_end+0x7f0fdf0f> +800002dc: 00c00193 li gp,12 +800002e0: 2fd71663 bne a4,t4,800005cc + +800002e4 : +800002e4: 00000213 li tp,0 +800002e8: 0ff010b7 lui ra,0xff01 +800002ec: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800002f0: f0f0f137 lui sp,0xf0f0f +800002f4: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800002f8: 00000013 nop +800002fc: 0020e733 or a4,ra,sp +80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000304: 00200293 li t0,2 +80000308: fe5210e3 bne tp,t0,800002e8 +8000030c: fff10eb7 lui t4,0xfff10 +80000310: ff0e8e93 addi t4,t4,-16 # fff0fff0 <_end+0x7ff0dff0> +80000314: 00d00193 li gp,13 +80000318: 2bd71a63 bne a4,t4,800005cc + +8000031c : +8000031c: 00000213 li tp,0 +80000320: 00ff00b7 lui ra,0xff0 +80000324: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000328: 0f0f1137 lui sp,0xf0f1 +8000032c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000330: 00000013 nop +80000334: 00000013 nop +80000338: 0020e733 or a4,ra,sp +8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000340: 00200293 li t0,2 +80000344: fc521ee3 bne tp,t0,80000320 +80000348: 0fff1eb7 lui t4,0xfff1 +8000034c: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +80000350: 00e00193 li gp,14 +80000354: 27d71c63 bne a4,t4,800005cc + +80000358 : +80000358: 00000213 li tp,0 +8000035c: ff0100b7 lui ra,0xff010 +80000360: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000364: 00000013 nop +80000368: 0f0f1137 lui sp,0xf0f1 +8000036c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000370: 0020e733 or a4,ra,sp +80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000378: 00200293 li t0,2 +8000037c: fe5210e3 bne tp,t0,8000035c +80000380: ff100eb7 lui t4,0xff100 +80000384: f0fe8e93 addi t4,t4,-241 # ff0fff0f <_end+0x7f0fdf0f> +80000388: 00f00193 li gp,15 +8000038c: 25d71063 bne a4,t4,800005cc + +80000390 : +80000390: 00000213 li tp,0 +80000394: 0ff010b7 lui ra,0xff01 +80000398: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000039c: 00000013 nop +800003a0: f0f0f137 lui sp,0xf0f0f +800003a4: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800003a8: 00000013 nop +800003ac: 0020e733 or a4,ra,sp +800003b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003b4: 00200293 li t0,2 +800003b8: fc521ee3 bne tp,t0,80000394 +800003bc: fff10eb7 lui t4,0xfff10 +800003c0: ff0e8e93 addi t4,t4,-16 # fff0fff0 <_end+0x7ff0dff0> +800003c4: 01000193 li gp,16 +800003c8: 21d71263 bne a4,t4,800005cc + +800003cc : +800003cc: 00000213 li tp,0 +800003d0: 00ff00b7 lui ra,0xff0 +800003d4: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800003d8: 00000013 nop +800003dc: 00000013 nop +800003e0: 0f0f1137 lui sp,0xf0f1 +800003e4: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003e8: 0020e733 or a4,ra,sp +800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f0: 00200293 li t0,2 +800003f4: fc521ee3 bne tp,t0,800003d0 +800003f8: 0fff1eb7 lui t4,0xfff1 +800003fc: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +80000400: 01100193 li gp,17 +80000404: 1dd71463 bne a4,t4,800005cc + +80000408 : +80000408: 00000213 li tp,0 +8000040c: 0f0f1137 lui sp,0xf0f1 +80000410: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000414: ff0100b7 lui ra,0xff010 +80000418: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +8000041c: 0020e733 or a4,ra,sp +80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000424: 00200293 li t0,2 +80000428: fe5212e3 bne tp,t0,8000040c +8000042c: ff100eb7 lui t4,0xff100 +80000430: f0fe8e93 addi t4,t4,-241 # ff0fff0f <_end+0x7f0fdf0f> +80000434: 01200193 li gp,18 +80000438: 19d71a63 bne a4,t4,800005cc + +8000043c : +8000043c: 00000213 li tp,0 +80000440: f0f0f137 lui sp,0xf0f0f +80000444: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000448: 0ff010b7 lui ra,0xff01 +8000044c: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000450: 00000013 nop +80000454: 0020e733 or a4,ra,sp +80000458: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000045c: 00200293 li t0,2 +80000460: fe5210e3 bne tp,t0,80000440 +80000464: fff10eb7 lui t4,0xfff10 +80000468: ff0e8e93 addi t4,t4,-16 # fff0fff0 <_end+0x7ff0dff0> +8000046c: 01300193 li gp,19 +80000470: 15d71e63 bne a4,t4,800005cc + +80000474 : +80000474: 00000213 li tp,0 +80000478: 0f0f1137 lui sp,0xf0f1 +8000047c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000480: 00ff00b7 lui ra,0xff0 +80000484: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000488: 00000013 nop +8000048c: 00000013 nop +80000490: 0020e733 or a4,ra,sp +80000494: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000498: 00200293 li t0,2 +8000049c: fc521ee3 bne tp,t0,80000478 +800004a0: 0fff1eb7 lui t4,0xfff1 +800004a4: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +800004a8: 01400193 li gp,20 +800004ac: 13d71063 bne a4,t4,800005cc + +800004b0 : +800004b0: 00000213 li tp,0 +800004b4: 0f0f1137 lui sp,0xf0f1 +800004b8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800004bc: 00000013 nop +800004c0: ff0100b7 lui ra,0xff010 +800004c4: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800004c8: 0020e733 or a4,ra,sp +800004cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004d0: 00200293 li t0,2 +800004d4: fe5210e3 bne tp,t0,800004b4 +800004d8: ff100eb7 lui t4,0xff100 +800004dc: f0fe8e93 addi t4,t4,-241 # ff0fff0f <_end+0x7f0fdf0f> +800004e0: 01500193 li gp,21 +800004e4: 0fd71463 bne a4,t4,800005cc + +800004e8 : +800004e8: 00000213 li tp,0 +800004ec: f0f0f137 lui sp,0xf0f0f +800004f0: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800004f4: 00000013 nop +800004f8: 0ff010b7 lui ra,0xff01 +800004fc: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000500: 00000013 nop +80000504: 0020e733 or a4,ra,sp +80000508: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000050c: 00200293 li t0,2 +80000510: fc521ee3 bne tp,t0,800004ec +80000514: fff10eb7 lui t4,0xfff10 +80000518: ff0e8e93 addi t4,t4,-16 # fff0fff0 <_end+0x7ff0dff0> +8000051c: 01600193 li gp,22 +80000520: 0bd71663 bne a4,t4,800005cc + +80000524 : +80000524: 00000213 li tp,0 +80000528: 0f0f1137 lui sp,0xf0f1 +8000052c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000530: 00000013 nop +80000534: 00000013 nop +80000538: 00ff00b7 lui ra,0xff0 +8000053c: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000540: 0020e733 or a4,ra,sp +80000544: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000548: 00200293 li t0,2 +8000054c: fc521ee3 bne tp,t0,80000528 +80000550: 0fff1eb7 lui t4,0xfff1 +80000554: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +80000558: 01700193 li gp,23 +8000055c: 07d71863 bne a4,t4,800005cc + +80000560 : +80000560: ff0100b7 lui ra,0xff010 +80000564: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000568: 00106133 or sp,zero,ra +8000056c: ff010eb7 lui t4,0xff010 +80000570: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00df00> +80000574: 01800193 li gp,24 +80000578: 05d11a63 bne sp,t4,800005cc + +8000057c : +8000057c: 00ff00b7 lui ra,0xff0 +80000580: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000584: 0000e133 or sp,ra,zero +80000588: 00ff0eb7 lui t4,0xff0 +8000058c: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +80000590: 01900193 li gp,25 +80000594: 03d11c63 bne sp,t4,800005cc + +80000598 : +80000598: 000060b3 or ra,zero,zero +8000059c: 00000e93 li t4,0 +800005a0: 01a00193 li gp,26 +800005a4: 03d09463 bne ra,t4,800005cc + +800005a8 : +800005a8: 111110b7 lui ra,0x11111 +800005ac: 11108093 addi ra,ra,273 # 11111111 <_start-0x6eeeeeef> +800005b0: 22222137 lui sp,0x22222 +800005b4: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +800005b8: 0020e033 or zero,ra,sp +800005bc: 00000e93 li t4,0 +800005c0: 01b00193 li gp,27 +800005c4: 01d01463 bne zero,t4,800005cc +800005c8: 02301063 bne zero,gp,800005e8 + +800005cc : +800005cc: 0ff0000f fence +800005d0: 00018063 beqz gp,800005d0 +800005d4: 00119193 slli gp,gp,0x1 +800005d8: 0011e193 ori gp,gp,1 +800005dc: 05d00893 li a7,93 +800005e0: 00018513 mv a0,gp +800005e4: 00000073 ecall + +800005e8 : +800005e8: 0ff0000f fence +800005ec: 00100193 li gp,1 +800005f0: 05d00893 li a7,93 +800005f4: 00000513 li a0,0 +800005f8: 00000073 ecall +800005fc: c0001073 unimp +80000600: 0000 unimp +80000602: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-or.hex b/simX/riscv_tests/rv32ui-p-or.hex index e1140c85..28b76312 100644 --- a/simX/riscv_tests/rv32ui-p-or.hex +++ b/simX/riscv_tests/rv32ui-p-or.hex @@ -2,100 +2,104 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030B70001FFB4 -:1000C000938000F037110F0F1301F1F0B3E120001E -:1000D000B70E10FF938EFEF0130E20006392D14BEB -:1000E000B710F00F938000FF37F1F0F01301010F0C -:1000F000B3E12000B70EF1FF938E0EFF130E300018 -:100100006390D149B700FF009380F00F37110F0FB4 -:100110001301F1F0B3E12000B71EFF0F938EFEFF35 -:10012000130E4000639ED145B7F00FF09380F000AE -:1001300037F1F0F01301010FB3E12000B7FEFFF03B -:10014000938EFE0F130E5000639CD143B70001FF46 -:10015000938000F037110F0F1301F1F0B3E020008E -:10016000B70E10FF938EFEF0130E6000639AD0411D -:10017000B70001FF938000F037110F0F1301F1F06A -:1001800033E12000B70E10FF938EFEF0130E7000C7 -:100190006318D13FB70001FF938000F0B3E0100077 -:1001A000B70E01FF938E0EF0130E8000639AD03DC0 -:1001B00013020000B70001FF938000F037110F0F0A -:1001C0001301F1F0B3E120001383010013021200C8 -:1001D00093022000E31052FEB70E10FF938EFEF044 -:1001E000130E9000631ED33913020000B710F00FF6 -:1001F000938000FF37F1F0F01301010FB3E120000D -:100200001300000013830100130212009302200068 -:10021000E31E52FCB70EF1FF938E0EFF130EA000EB -:100220006310D33713020000B700FF009380F00F74 -:1002300037110F0F1301F1F0B3E12000130000009C -:100240001300000013830100130212009302200028 -:10025000E31C52FCB71EFF0F938EFEFF130EB0007F -:100260006310D33313020000B70001FF938000F046 -:1002700037110F0F1301F1F0B3E120001302120048 -:1002800093022000E31252FEB70E10FF938EFEF091 -:10029000130EC0006396D12F13020000B710F00FA9 -:1002A000938000FF37F1F0F01301010F13000000FD -:1002B000B3E120001302120093022000E31052FE6B -:1002C000B70EF1FF938E0EFF130ED000639AD12B61 -:1002D00013020000B700FF009380F00F37110F0FDB -:1002E0001301F1F01300000013000000B3E120003F -:1002F0001302120093022000E31E52FCB71EFF0FF0 -:10030000938EFEFF130EE000639CD12713020000C2 -:10031000B70001FF938000F01300000037110F0FAA -:100320001301F1F0B3E12000130212009302200048 -:10033000E31052FEB70E10FF938EFEF0130EF00086 -:100340006390D12513020000B710F00F938000FFD7 -:100350001300000037F1F0F01301010F130000004B -:10036000B3E120001302120093022000E31E52FCAE -:10037000B70EF1FF938E0EFF130E00016392D12191 -:1003800013020000B700FF009380F00F130000007D -:100390001300000037110F0F1301F1F0B3E120003B -:1003A0001302120093022000E31E52FCB71EFF0F3F -:1003B000938EFEFF130E10016394D11D13020000F3 -:1003C00037110F0F1301F1F0B70001FF938000F018 -:1003D000B3E120001302120093022000E31252FE48 -:1003E000B70E10FF938EFEF0130E2001639AD11901 -:1003F0001302000037F1F0F01301010FB710F00FF6 -:10040000938000FF13000000B3E1200013021200EC -:1004100093022000E31052FEB70EF1FF938E0EFF01 -:10042000130E3001639ED1151302000037110F0F18 -:100430001301F1F0B700FF009380F00F13000000EC -:1004400013000000B3E12000130212009302200009 -:10045000E31E52FCB71EFF0F938EFEFF130E4001EA -:100460006390D1131302000037110F0F1301F1F045 -:1004700013000000B70001FF938000F0B3E12000FB -:100480001302120093022000E31052FEB70E10FF79 -:10049000938EFEF0130E50016394D10F13020000EF -:1004A00037F1F0F01301010F13000000B710F00F47 -:1004B000938000FF13000000B3E12000130212003C -:1004C00093022000E31E52FCB70EF1FF938E0EFF45 -:1004D000130E60016396D10B1302000037110F0F4A -:1004E0001301F1F01300000013000000B700FF003B -:1004F0009380F00FB3E1200013021200930220005A -:10050000E31E52FCB71EFF0F938EFEFF130E700109 -:100510006398D107B70001FF938000F033611000AA -:10052000B70E01FF938E0EF0130E8001631AD105F2 -:10053000B700FF009380F00F33E10000B70EFF001B -:10054000938EFE0F130E9001631CD103B360000065 -:10055000930E0000130EA0016394D003B710111185 -:1005600093801011372122221301212233E0200031 -:10057000930E0000130EB0016314D001631CC00180 -:100580000F00F00F63000E00131E1E00136E1E00FE -:10059000730000000F00F00F130E10007300000036 -:1005A000731000C000000000000000000000000008 -:1005B000000000000000000000000000000000003B -:0405C0000000000037 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030B70001FF938000F0A9 +:1001100037110F0F1301F1F033E72000B70E10FF76 +:10012000938EFEF0930120006312D74BB710F00FAF +:10013000938000FF37F1F0F01301010F33E7200047 +:10014000B70EF1FF938E0EFF930130006310D74975 +:10015000B700FF009380F00F37110F0F1301F1F07C +:1001600033E72000B71EFF0F938EFEFF9301400080 +:10017000631ED745B7F00FF09380F00037F1F0F031 +:100180001301010F33E72000B7FEFFF0938EFE0F3F +:1001900093015000631CD743B70001FF938000F028 +:1001A00037110F0F1301F1F0B3E02000B70E10FF6D +:1001B000938EFEF093016000639AD041B70001FF77 +:1001C000938000F037110F0F1301F1F033E120009D +:1001D000B70E10FF938EFEF0930170006318D13FAD +:1001E000B70001FF938000F0B3E01000B70E01FFED +:1001F000938E0EF093018000639AD03D13020000AD +:10020000B70001FF938000F037110F0F1301F1F0D9 +:1002100033E72000130307001302120093022000AB +:10022000E31052FEB70E10FF938EFEF09301900084 +:10023000631ED33913020000B710F00F938000FF44 +:1002400037F1F0F01301010F33E720001300000035 +:10025000130307001302120093022000E31E52FC56 +:10026000B70EF1FF938E0EFF9301A0006310D337FA +:1002700013020000B700FF009380F00F37110F0F3B +:100280001301F1F033E72000130000001300000019 +:10029000130307001302120093022000E31C52FC18 +:1002A000B71EFF0F938EFEFF9301B0006310D33390 +:1002B00013020000B70001FF938000F037110F0F09 +:1002C0001301F1F033E72000130212009302200023 +:1002D000E31252FEB70E10FF938EFEF09301C000A2 +:1002E0006316D72F13020000B710F00F938000FFA2 +:1002F00037F1F0F01301010F1300000033E7200085 +:100300001302120093022000E31052FEB70EF1FF19 +:10031000938E0EFF9301D000631AD72B13020000B7 +:10032000B700FF009380F00F37110F0F1301F1F0AA +:10033000130000001300000033E720001302120036 +:1003400093022000E31E52FCB71EFF0F938EFEFFA8 +:100350009301E000631CD72713020000B70001FFE0 +:10036000938000F01300000037110F0F1301F1F01C +:1003700033E720001302120093022000E31052FE24 +:10038000B70E10FF938EFEF09301F0006310D72597 +:1003900013020000B710F00F938000FF130000005D +:1003A00037F1F0F01301010F1300000033E72000D4 +:1003B0001302120093022000E31E52FCB70EF1FF5D +:1003C000938E0EFF930100016312D72113020000E8 +:1003D000B700FF009380F00F13000000130000002F +:1003E00037110F0F1301F1F033E720001302120051 +:1003F00093022000E31E52FCB71EFF0F938EFEFFF8 +:10040000930110016314D71D1302000037110F0F61 +:100410001301F1F0B70001FF938000F033E72000F3 +:100420001302120093022000E31252FEB70E10FFD7 +:10043000938EFEF093012001631AD7191302000076 +:1004400037F1F0F01301010FB710F00F938000FFA8 +:100450001300000033E72000130212009302200073 +:10046000E31052FEB70EF1FF938E0EFF93013001A1 +:10047000631ED7151302000037110F0F1301F1F09F +:10048000B700FF009380F00F13000000130000007E +:1004900033E720001302120093022000E31E52FCF7 +:1004A000B71EFF0F938EFEFF930140016310D71319 +:1004B0001302000037110F0F1301F1F013000000B9 +:1004C000B70001FF938000F033E720001302120011 +:1004D00093022000E31052FEB70E10FF938EFEF041 +:1004E000930150016314D70F1302000037F1F0F0AD +:1004F0001301010F13000000B710F00F938000FFED +:100500001300000033E720001302120093022000C2 +:10051000E31E52FCB70EF1FF938E0EFF93016001B4 +:100520006316D70B1302000037110F0F1301F1F000 +:100530001300000013000000B700FF009380F00FCD +:1005400033E720001302120093022000E31E52FC46 +:10055000B71EFF0F938EFEFF930170016318D7073C +:10056000B70001FF938000F033611000B70E01FF68 +:10057000938E0EF093018001631AD105B700FF003E +:100580009380F00F33E10000B70EFF00938EFE0F53 +:1005900093019001631CD103B3600000930E00002F +:1005A0009301A0016394D003B7101111938010112F +:1005B000372122221301212233E02000930E000074 +:1005C0009301B0016314D001631030020F00F00FEB +:1005D000638001009391110093E111009308D0050D +:1005E00013850100730000000F00F00F930110004D +:1005F0009308D0051305000073000000731000C0BD +:0406000000000000F6 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-ori.dump b/simX/riscv_tests/rv32ui-p-ori.dump new file mode 100644 index 00000000..943be5ef --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-ori.dump @@ -0,0 +1,265 @@ + +rv32ui-p-ori: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: ff0100b7 lui ra,0xff010 +8000010c: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000110: f0f0e713 ori a4,ra,-241 +80000114: f0f00e93 li t4,-241 +80000118: 00200193 li gp,2 +8000011c: 1dd71463 bne a4,t4,800002e4 + +80000120 : +80000120: 0ff010b7 lui ra,0xff01 +80000124: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000128: 0f00e713 ori a4,ra,240 +8000012c: 0ff01eb7 lui t4,0xff01 +80000130: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000134: 00300193 li gp,3 +80000138: 1bd71663 bne a4,t4,800002e4 + +8000013c : +8000013c: 00ff00b7 lui ra,0xff0 +80000140: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000144: 70f0e713 ori a4,ra,1807 +80000148: 00ff0eb7 lui t4,0xff0 +8000014c: 7ffe8e93 addi t4,t4,2047 # ff07ff <_start-0x7f00f801> +80000150: 00400193 li gp,4 +80000154: 19d71863 bne a4,t4,800002e4 + +80000158 : +80000158: f00ff0b7 lui ra,0xf00ff +8000015c: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +80000160: 0f00e713 ori a4,ra,240 +80000164: f00ffeb7 lui t4,0xf00ff +80000168: 0ffe8e93 addi t4,t4,255 # f00ff0ff <_end+0x700fd0ff> +8000016c: 00500193 li gp,5 +80000170: 17d71a63 bne a4,t4,800002e4 + +80000174 : +80000174: ff0100b7 lui ra,0xff010 +80000178: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +8000017c: 0f00e093 ori ra,ra,240 +80000180: ff010eb7 lui t4,0xff010 +80000184: ff0e8e93 addi t4,t4,-16 # ff00fff0 <_end+0x7f00dff0> +80000188: 00600193 li gp,6 +8000018c: 15d09c63 bne ra,t4,800002e4 + +80000190 : +80000190: 00000213 li tp,0 +80000194: 0ff010b7 lui ra,0xff01 +80000198: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000019c: 0f00e713 ori a4,ra,240 +800001a0: 00070313 mv t1,a4 +800001a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001a8: 00200293 li t0,2 +800001ac: fe5214e3 bne tp,t0,80000194 +800001b0: 0ff01eb7 lui t4,0xff01 +800001b4: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +800001b8: 00700193 li gp,7 +800001bc: 13d31463 bne t1,t4,800002e4 + +800001c0 : +800001c0: 00000213 li tp,0 +800001c4: 00ff00b7 lui ra,0xff0 +800001c8: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800001cc: 70f0e713 ori a4,ra,1807 +800001d0: 00000013 nop +800001d4: 00070313 mv t1,a4 +800001d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001dc: 00200293 li t0,2 +800001e0: fe5212e3 bne tp,t0,800001c4 +800001e4: 00ff0eb7 lui t4,0xff0 +800001e8: 7ffe8e93 addi t4,t4,2047 # ff07ff <_start-0x7f00f801> +800001ec: 00800193 li gp,8 +800001f0: 0fd31a63 bne t1,t4,800002e4 + +800001f4 : +800001f4: 00000213 li tp,0 +800001f8: f00ff0b7 lui ra,0xf00ff +800001fc: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +80000200: 0f00e713 ori a4,ra,240 +80000204: 00000013 nop +80000208: 00000013 nop +8000020c: 00070313 mv t1,a4 +80000210: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000214: 00200293 li t0,2 +80000218: fe5210e3 bne tp,t0,800001f8 +8000021c: f00ffeb7 lui t4,0xf00ff +80000220: 0ffe8e93 addi t4,t4,255 # f00ff0ff <_end+0x700fd0ff> +80000224: 00900193 li gp,9 +80000228: 0bd31e63 bne t1,t4,800002e4 + +8000022c : +8000022c: 00000213 li tp,0 +80000230: 0ff010b7 lui ra,0xff01 +80000234: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000238: 0f00e713 ori a4,ra,240 +8000023c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000240: 00200293 li t0,2 +80000244: fe5216e3 bne tp,t0,80000230 +80000248: 0ff01eb7 lui t4,0xff01 +8000024c: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000250: 00a00193 li gp,10 +80000254: 09d71863 bne a4,t4,800002e4 + +80000258 : +80000258: 00000213 li tp,0 +8000025c: 00ff00b7 lui ra,0xff0 +80000260: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000264: 00000013 nop +80000268: f0f0e713 ori a4,ra,-241 +8000026c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000270: 00200293 li t0,2 +80000274: fe5214e3 bne tp,t0,8000025c +80000278: fff00e93 li t4,-1 +8000027c: 00b00193 li gp,11 +80000280: 07d71263 bne a4,t4,800002e4 + +80000284 : +80000284: 00000213 li tp,0 +80000288: f00ff0b7 lui ra,0xf00ff +8000028c: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +80000290: 00000013 nop +80000294: 00000013 nop +80000298: 0f00e713 ori a4,ra,240 +8000029c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a0: 00200293 li t0,2 +800002a4: fe5212e3 bne tp,t0,80000288 +800002a8: f00ffeb7 lui t4,0xf00ff +800002ac: 0ffe8e93 addi t4,t4,255 # f00ff0ff <_end+0x700fd0ff> +800002b0: 00c00193 li gp,12 +800002b4: 03d71863 bne a4,t4,800002e4 + +800002b8 : +800002b8: 0f006093 ori ra,zero,240 +800002bc: 0f000e93 li t4,240 +800002c0: 00d00193 li gp,13 +800002c4: 03d09063 bne ra,t4,800002e4 + +800002c8 : +800002c8: 00ff00b7 lui ra,0xff0 +800002cc: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800002d0: 70f0e013 ori zero,ra,1807 +800002d4: 00000e93 li t4,0 +800002d8: 00e00193 li gp,14 +800002dc: 01d01463 bne zero,t4,800002e4 +800002e0: 02301063 bne zero,gp,80000300 + +800002e4 : +800002e4: 0ff0000f fence +800002e8: 00018063 beqz gp,800002e8 +800002ec: 00119193 slli gp,gp,0x1 +800002f0: 0011e193 ori gp,gp,1 +800002f4: 05d00893 li a7,93 +800002f8: 00018513 mv a0,gp +800002fc: 00000073 ecall + +80000300 : +80000300: 0ff0000f fence +80000304: 00100193 li gp,1 +80000308: 05d00893 li a7,93 +8000030c: 00000513 li a0,0 +80000310: 00000073 ecall +80000314: c0001073 unimp +80000318: 0000 unimp +8000031a: 0000 unimp +8000031c: 0000 unimp +8000031e: 0000 unimp +80000320: 0000 unimp +80000322: 0000 unimp +80000324: 0000 unimp +80000326: 0000 unimp +80000328: 0000 unimp +8000032a: 0000 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 diff --git a/simX/riscv_tests/rv32ui-p-ori.hex b/simX/riscv_tests/rv32ui-p-ori.hex index 17049a8d..43c8ca36 100644 --- a/simX/riscv_tests/rv32ui-p-ori.hex +++ b/simX/riscv_tests/rv32ui-p-ori.hex @@ -2,52 +2,60 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030B70001FFB4 -:1000C000938000F093E1F0F0930EF0F0130E200017 -:1000D0006394D11DB710F00F938000FF93E1000FE0 -:1000E000B71EF00F938E0EFF130E30006396D11BD8 -:1000F000B700FF009380F00F93E1F070B70EFF00A0 -:10010000938EFE7F130E40006398D119B7F00FF065 -:100110009380F00093E1000FB7FE0FF0938EFE0F77 -:10012000130E5000639AD117B70001FF938000F0BF -:1001300093E0000FB70E01FF938E0EFF130E6000C9 -:10014000639CD01513020000B710F00F938000FFDE -:1001500093E1000F138301001302120093022000A9 -:10016000E31452FEB71EF00F938E0EFF130E7000B5 -:100170006314D31313020000B700FF009380F00F45 -:1001800093E1F070130000001383010013021200CA -:1001900093022000E31252FEB70EFF00938EFE7F03 -:1001A000130E8000631AD30F13020000B7F00FF094 -:1001B0009380F00093E1000F130000001300000093 -:1001C000138301001302120093022000E31052FE79 -:1001D000B7FE0FF0938EFE0F130E9000631ED30B2D -:1001E00013020000B710F00F938000FF93E1000F9F -:1001F0001302120093022000E31652FEB71EF00F06 -:10020000938E0EFF130EA0006398D1091302000015 -:10021000B700FF009380F00F1300000093E1F0F0AF -:100220001302120093022000E31452FE930EF0FF1B -:10023000130EB0006392D10713020000B7F00FF065 -:100240009380F000130000001300000093E1000F02 -:100250001302120093022000E31252FEB7FE0FF0C9 -:10026000938EFE0F130EC0006398D1039360000FAE -:10027000930E000F130ED0006390D003B700FF0061 -:100280009380F00F13E0F070930E0000130EE00067 -:100290006314D001631CC0010F00F00F63000E0057 -:1002A000131E1E00136E1E00730000000F00F00FDF -:1002B000130E100073000000731000C00000000057 -:0402C000000000003A +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030B70001FF938000F0A9 +:1001100013E7F0F0930EF0F0930120006314D71D65 +:10012000B710F00F938000FF13E7000FB71EF00F1A +:10013000938E0EFF930130006316D71BB700FF00AC +:100140009380F00F13E7F070B70EFF00938EFE7FE1 +:10015000930140006318D719B7F00FF09380F000B7 +:1001600013E7000FB7FE0FF0938EFE0F93015000C0 +:10017000631AD717B70001FF938000F093E0000FD8 +:10018000B70E01FF938E0EFF93016000639CD015A4 +:1001900013020000B710F00F938000FF13E7000F69 +:1001A000130307001302120093022000E31452FE0F +:1001B000B71EF00F938E0EFF930170006314D313DC +:1001C00013020000B700FF009380F00F13E7F070F8 +:1001D0001300000013030700130212009302200013 +:1001E000E31252FEB70EFF00938EFE7F9301800054 +:1001F000631AD30F13020000B7F00FF09380F000E2 +:1002000013E7000F130000001300000013030700A2 +:100210001302120093022000E31052FEB7FE0FF00B +:10022000938EFE0F93019000631ED30B1302000008 +:10023000B710F00F938000FF13E7000F13021200B6 +:1002400093022000E31652FEB71EF00F938E0EFFAE +:100250009301A0006318D70913020000B700FF0044 +:100260009380F00F1300000013E7F0F01302120068 +:1002700093022000E31452FE930EF0FF9301B000AE +:100280006312D70713020000B7F00FF09380F0005D +:10029000130000001300000013E7000F1302120008 +:1002A00093022000E31252FEB7FE0FF0938EFE0F72 +:1002B0009301C0006318D7039360000F930E000FE3 +:1002C0009301D0006390D003B700FF009380F00F3C +:1002D00013E0F070930E00009301E0006314D0016E +:1002E000631030020F00F00F638001009391110042 +:1002F00093E111009308D0051385010073000000FD +:100300000F00F00F930110009308D00513050000B3 +:1003100073000000731000C0000000000000000027 +:1003200000000000000000000000000000000000CD +:1003300000000000000000000000000000000000BD +:0403400000000000B9 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-sb.dump b/simX/riscv_tests/rv32ui-p-sb.dump new file mode 100644 index 00000000..c4ec3d70 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-sb.dump @@ -0,0 +1,440 @@ + +rv32ui-p-sb: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00002097 auipc ra,0x2 +8000010c: ef808093 addi ra,ra,-264 # 80002000 +80000110: faa00113 li sp,-86 +80000114: 00208023 sb sp,0(ra) +80000118: 00008703 lb a4,0(ra) +8000011c: faa00e93 li t4,-86 +80000120: 00200193 li gp,2 +80000124: 3dd71c63 bne a4,t4,800004fc + +80000128 : +80000128: 00002097 auipc ra,0x2 +8000012c: ed808093 addi ra,ra,-296 # 80002000 +80000130: 00000113 li sp,0 +80000134: 002080a3 sb sp,1(ra) +80000138: 00108703 lb a4,1(ra) +8000013c: 00000e93 li t4,0 +80000140: 00300193 li gp,3 +80000144: 3bd71c63 bne a4,t4,800004fc + +80000148 : +80000148: 00002097 auipc ra,0x2 +8000014c: eb808093 addi ra,ra,-328 # 80002000 +80000150: fffff137 lui sp,0xfffff +80000154: fa010113 addi sp,sp,-96 # ffffefa0 <_end+0x7fffcf90> +80000158: 00208123 sb sp,2(ra) +8000015c: 00209703 lh a4,2(ra) +80000160: fffffeb7 lui t4,0xfffff +80000164: fa0e8e93 addi t4,t4,-96 # ffffefa0 <_end+0x7fffcf90> +80000168: 00400193 li gp,4 +8000016c: 39d71863 bne a4,t4,800004fc + +80000170 : +80000170: 00002097 auipc ra,0x2 +80000174: e9008093 addi ra,ra,-368 # 80002000 +80000178: 00a00113 li sp,10 +8000017c: 002081a3 sb sp,3(ra) +80000180: 00308703 lb a4,3(ra) +80000184: 00a00e93 li t4,10 +80000188: 00500193 li gp,5 +8000018c: 37d71863 bne a4,t4,800004fc + +80000190 : +80000190: 00002097 auipc ra,0x2 +80000194: e7708093 addi ra,ra,-393 # 80002007 +80000198: faa00113 li sp,-86 +8000019c: fe208ea3 sb sp,-3(ra) +800001a0: ffd08703 lb a4,-3(ra) +800001a4: faa00e93 li t4,-86 +800001a8: 00600193 li gp,6 +800001ac: 35d71863 bne a4,t4,800004fc + +800001b0 : +800001b0: 00002097 auipc ra,0x2 +800001b4: e5708093 addi ra,ra,-425 # 80002007 +800001b8: 00000113 li sp,0 +800001bc: fe208f23 sb sp,-2(ra) +800001c0: ffe08703 lb a4,-2(ra) +800001c4: 00000e93 li t4,0 +800001c8: 00700193 li gp,7 +800001cc: 33d71863 bne a4,t4,800004fc + +800001d0 : +800001d0: 00002097 auipc ra,0x2 +800001d4: e3708093 addi ra,ra,-457 # 80002007 +800001d8: fa000113 li sp,-96 +800001dc: fe208fa3 sb sp,-1(ra) +800001e0: fff08703 lb a4,-1(ra) +800001e4: fa000e93 li t4,-96 +800001e8: 00800193 li gp,8 +800001ec: 31d71863 bne a4,t4,800004fc + +800001f0 : +800001f0: 00002097 auipc ra,0x2 +800001f4: e1708093 addi ra,ra,-489 # 80002007 +800001f8: 00a00113 li sp,10 +800001fc: 00208023 sb sp,0(ra) +80000200: 00008703 lb a4,0(ra) +80000204: 00a00e93 li t4,10 +80000208: 00900193 li gp,9 +8000020c: 2fd71863 bne a4,t4,800004fc + +80000210 : +80000210: 00002097 auipc ra,0x2 +80000214: df808093 addi ra,ra,-520 # 80002008 +80000218: 12345137 lui sp,0x12345 +8000021c: 67810113 addi sp,sp,1656 # 12345678 <_start-0x6dcba988> +80000220: fe008213 addi tp,ra,-32 +80000224: 02220023 sb sp,32(tp) # 20 <_start-0x7fffffe0> +80000228: 00008283 lb t0,0(ra) +8000022c: 07800e93 li t4,120 +80000230: 00a00193 li gp,10 +80000234: 2dd29463 bne t0,t4,800004fc + +80000238 : +80000238: 00002097 auipc ra,0x2 +8000023c: dd008093 addi ra,ra,-560 # 80002008 +80000240: 00003137 lui sp,0x3 +80000244: 09810113 addi sp,sp,152 # 3098 <_start-0x7fffcf68> +80000248: ffa08093 addi ra,ra,-6 +8000024c: 002083a3 sb sp,7(ra) +80000250: 00002217 auipc tp,0x2 +80000254: db920213 addi tp,tp,-583 # 80002009 +80000258: 00020283 lb t0,0(tp) # 0 <_start-0x80000000> +8000025c: f9800e93 li t4,-104 +80000260: 00b00193 li gp,11 +80000264: 29d29c63 bne t0,t4,800004fc + +80000268 : +80000268: 00c00193 li gp,12 +8000026c: 00000213 li tp,0 +80000270: fdd00093 li ra,-35 +80000274: 00002117 auipc sp,0x2 +80000278: d8c10113 addi sp,sp,-628 # 80002000 +8000027c: 00110023 sb ra,0(sp) +80000280: 00010703 lb a4,0(sp) +80000284: fdd00e93 li t4,-35 +80000288: 27d71a63 bne a4,t4,800004fc +8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000290: 00200293 li t0,2 +80000294: fc521ee3 bne tp,t0,80000270 + +80000298 : +80000298: 00d00193 li gp,13 +8000029c: 00000213 li tp,0 +800002a0: fcd00093 li ra,-51 +800002a4: 00002117 auipc sp,0x2 +800002a8: d5c10113 addi sp,sp,-676 # 80002000 +800002ac: 00000013 nop +800002b0: 001100a3 sb ra,1(sp) +800002b4: 00110703 lb a4,1(sp) +800002b8: fcd00e93 li t4,-51 +800002bc: 25d71063 bne a4,t4,800004fc +800002c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c4: 00200293 li t0,2 +800002c8: fc521ce3 bne tp,t0,800002a0 + +800002cc : +800002cc: 00e00193 li gp,14 +800002d0: 00000213 li tp,0 +800002d4: fcc00093 li ra,-52 +800002d8: 00002117 auipc sp,0x2 +800002dc: d2810113 addi sp,sp,-728 # 80002000 +800002e0: 00000013 nop +800002e4: 00000013 nop +800002e8: 00110123 sb ra,2(sp) +800002ec: 00210703 lb a4,2(sp) +800002f0: fcc00e93 li t4,-52 +800002f4: 21d71463 bne a4,t4,800004fc +800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002fc: 00200293 li t0,2 +80000300: fc521ae3 bne tp,t0,800002d4 + +80000304 : +80000304: 00f00193 li gp,15 +80000308: 00000213 li tp,0 +8000030c: fbc00093 li ra,-68 +80000310: 00000013 nop +80000314: 00002117 auipc sp,0x2 +80000318: cec10113 addi sp,sp,-788 # 80002000 +8000031c: 001101a3 sb ra,3(sp) +80000320: 00310703 lb a4,3(sp) +80000324: fbc00e93 li t4,-68 +80000328: 1dd71a63 bne a4,t4,800004fc +8000032c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000330: 00200293 li t0,2 +80000334: fc521ce3 bne tp,t0,8000030c + +80000338 : +80000338: 01000193 li gp,16 +8000033c: 00000213 li tp,0 +80000340: fbb00093 li ra,-69 +80000344: 00000013 nop +80000348: 00002117 auipc sp,0x2 +8000034c: cb810113 addi sp,sp,-840 # 80002000 +80000350: 00000013 nop +80000354: 00110223 sb ra,4(sp) +80000358: 00410703 lb a4,4(sp) +8000035c: fbb00e93 li t4,-69 +80000360: 19d71e63 bne a4,t4,800004fc +80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000368: 00200293 li t0,2 +8000036c: fc521ae3 bne tp,t0,80000340 + +80000370 : +80000370: 01100193 li gp,17 +80000374: 00000213 li tp,0 +80000378: fab00093 li ra,-85 +8000037c: 00000013 nop +80000380: 00000013 nop +80000384: 00002117 auipc sp,0x2 +80000388: c7c10113 addi sp,sp,-900 # 80002000 +8000038c: 001102a3 sb ra,5(sp) +80000390: 00510703 lb a4,5(sp) +80000394: fab00e93 li t4,-85 +80000398: 17d71263 bne a4,t4,800004fc +8000039c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a0: 00200293 li t0,2 +800003a4: fc521ae3 bne tp,t0,80000378 + +800003a8 : +800003a8: 01200193 li gp,18 +800003ac: 00000213 li tp,0 +800003b0: 00002117 auipc sp,0x2 +800003b4: c5010113 addi sp,sp,-944 # 80002000 +800003b8: 03300093 li ra,51 +800003bc: 00110023 sb ra,0(sp) +800003c0: 00010703 lb a4,0(sp) +800003c4: 03300e93 li t4,51 +800003c8: 13d71a63 bne a4,t4,800004fc +800003cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003d0: 00200293 li t0,2 +800003d4: fc521ee3 bne tp,t0,800003b0 + +800003d8 : +800003d8: 01300193 li gp,19 +800003dc: 00000213 li tp,0 +800003e0: 00002117 auipc sp,0x2 +800003e4: c2010113 addi sp,sp,-992 # 80002000 +800003e8: 02300093 li ra,35 +800003ec: 00000013 nop +800003f0: 001100a3 sb ra,1(sp) +800003f4: 00110703 lb a4,1(sp) +800003f8: 02300e93 li t4,35 +800003fc: 11d71063 bne a4,t4,800004fc +80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000404: 00200293 li t0,2 +80000408: fc521ce3 bne tp,t0,800003e0 + +8000040c : +8000040c: 01400193 li gp,20 +80000410: 00000213 li tp,0 +80000414: 00002117 auipc sp,0x2 +80000418: bec10113 addi sp,sp,-1044 # 80002000 +8000041c: 02200093 li ra,34 +80000420: 00000013 nop +80000424: 00000013 nop +80000428: 00110123 sb ra,2(sp) +8000042c: 00210703 lb a4,2(sp) +80000430: 02200e93 li t4,34 +80000434: 0dd71463 bne a4,t4,800004fc +80000438: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000043c: 00200293 li t0,2 +80000440: fc521ae3 bne tp,t0,80000414 + +80000444 : +80000444: 01500193 li gp,21 +80000448: 00000213 li tp,0 +8000044c: 00002117 auipc sp,0x2 +80000450: bb410113 addi sp,sp,-1100 # 80002000 +80000454: 00000013 nop +80000458: 01200093 li ra,18 +8000045c: 001101a3 sb ra,3(sp) +80000460: 00310703 lb a4,3(sp) +80000464: 01200e93 li t4,18 +80000468: 09d71a63 bne a4,t4,800004fc +8000046c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000470: 00200293 li t0,2 +80000474: fc521ce3 bne tp,t0,8000044c + +80000478 : +80000478: 01600193 li gp,22 +8000047c: 00000213 li tp,0 +80000480: 00002117 auipc sp,0x2 +80000484: b8010113 addi sp,sp,-1152 # 80002000 +80000488: 00000013 nop +8000048c: 01100093 li ra,17 +80000490: 00000013 nop +80000494: 00110223 sb ra,4(sp) +80000498: 00410703 lb a4,4(sp) +8000049c: 01100e93 li t4,17 +800004a0: 05d71e63 bne a4,t4,800004fc +800004a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004a8: 00200293 li t0,2 +800004ac: fc521ae3 bne tp,t0,80000480 + +800004b0 : +800004b0: 01700193 li gp,23 +800004b4: 00000213 li tp,0 +800004b8: 00002117 auipc sp,0x2 +800004bc: b4810113 addi sp,sp,-1208 # 80002000 +800004c0: 00000013 nop +800004c4: 00000013 nop +800004c8: 00100093 li ra,1 +800004cc: 001102a3 sb ra,5(sp) +800004d0: 00510703 lb a4,5(sp) +800004d4: 00100e93 li t4,1 +800004d8: 03d71263 bne a4,t4,800004fc +800004dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004e0: 00200293 li t0,2 +800004e4: fc521ae3 bne tp,t0,800004b8 +800004e8: 0ef00513 li a0,239 +800004ec: 00002597 auipc a1,0x2 +800004f0: b1458593 addi a1,a1,-1260 # 80002000 +800004f4: 00a581a3 sb a0,3(a1) +800004f8: 02301063 bne zero,gp,80000518 + +800004fc : +800004fc: 0ff0000f fence +80000500: 00018063 beqz gp,80000500 +80000504: 00119193 slli gp,gp,0x1 +80000508: 0011e193 ori gp,gp,1 +8000050c: 05d00893 li a7,93 +80000510: 00018513 mv a0,gp +80000514: 00000073 ecall + +80000518 : +80000518: 0ff0000f fence +8000051c: 00100193 li gp,1 +80000520: 05d00893 li a7,93 +80000524: 00000513 li a0,0 +80000528: 00000073 ecall +8000052c: c0001073 unimp +80000530: 0000 unimp +80000532: 0000 unimp +80000534: 0000 unimp +80000536: 0000 unimp +80000538: 0000 unimp +8000053a: 0000 unimp +8000053c: 0000 unimp +8000053e: 0000 unimp +80000540: 0000 unimp +80000542: 0000 unimp + +Disassembly of section .data: + +80002000 : +80002000: jal t6,800006fe + +80002001 : +80002001: jal t6,800006ff + +80002002 : +80002002: jal t6,80000700 + +80002003 : +80002003: jal t6,80000701 + +80002004 : +80002004: jal t6,80000702 + +80002005 : +80002005: jal t6,80000703 + +80002006 : +80002006: jal t6,80000704 + +80002007 : +80002007: jal t6,80100015 <_end+0xfe005> + +80002008 : +80002008: jal t6,80010008 <_end+0xdff8> + +80002009 : +80002009: 000000ef jal ra,80002009 +8000200d: 0000 unimp +8000200f: 00 Address 0x000000008000200f is out of bounds. + diff --git a/simX/riscv_tests/rv32ui-p-sb.hex b/simX/riscv_tests/rv32ui-p-sb.hex index 5b83fec8..3e8d001e 100644 --- a/simX/riscv_tests/rv32ui-p-sb.hex +++ b/simX/riscv_tests/rv32ui-p-sb.hex @@ -2,89 +2,93 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203097200000B4 -:1000C000938040F41301A0FA238020008381000074 -:1000D000930EA0FA130E2000639CD13D97200000E0 -:1000E000938040F213010000A38020008381100060 -:1000F000930E0000130E3000639CD13B972000004C -:10010000938040F037F1FFFF130101FA23812000B3 -:1001100083912000B7FEFFFF938E0EFA130E40006E -:100120006398D139972000009380C0ED1301A0009F -:10013000A381200083813000930EA000130E500095 -:100140006398D13797200000938030EC1301A0FA18 -:10015000A38E20FE8381D0FF930EA0FA130E6000C1 -:100160006398D13597200000938030EA1301000096 -:10017000238F20FE8381E0FF930E0000130E70009A -:100180006398D13397200000938030E8130100FA80 -:10019000A38F20FE8381F0FF930E00FA130E8000E0 -:1001A0006398D13197200000938030E61301A000BE -:1001B0002380200083810000930EA000130E900086 -:1001C0006398D12F97200000938040E43751341278 -:1001D00013018167138200FE230022028381000045 -:1001E000930E8007130EA0006394D12D972000007A -:1001F0009380C0E137310000130181099380A0FF93 -:10020000A383200017220000130252E083010200A2 -:10021000930E80F9130EB000639CD129130EC00019 -:10022000130200009300D0FD17210000130181DDAF -:100230002300110083010100930ED0FD639AD127A2 -:100240001302120093022000E31E52FC130ED00092 -:10025000130200009300D0FC17210000130181DA83 -:1002600013000000A300110083011100930ED0FCC5 -:100270006390D1251302120093022000E31C52FC6C -:10028000130EE000130200009300C0FC17210000D1 -:10029000130141D7130000001300000023011100D7 -:1002A00083012100930EC0FC6394D121130212003C -:1002B00093022000E31A52FC130EF0001302000018 -:1002C0009300C0FB1300000017210000130181D32D -:1002D000A301110083013100930EC0FB639AD11D6D -:1002E0001302120093022000E31C52FC130E0001C3 -:1002F000130200009300B0FB130000001721000060 -:10030000130141D0130000002302110083014100BA -:10031000930EB0FB639ED1191302120093022000CA -:10032000E31A52FC130E1001130200009300B0FAFE -:10033000130000001300000017210000130181CCFE -:10034000A302110083015100930EB0FA6392D117FA -:100350001302120093022000E31A52FC130E200134 -:1003600013020000172100001301C1C993003003DC -:100370002300110083010100930E3003639AD1130F -:100380001302120093022000E31E52FC130E3001F0 -:1003900013020000172100001301C1C693003002B0 -:1003A00013000000A300110083011100930E30021E -:1003B0006390D1111302120093022000E31C52FC3F -:1003C000130E40011302000017210000130181C326 -:1003D000930020021300000013000000230111000D -:1003E00083012100930E20026394D10D13021200A9 -:1003F00093022000E31A52FC130E50011302000076 -:1004000017210000130101C0130000009300200118 -:10041000A301110083013100930E2001639AD109D9 -:100420001302120093022000E31C52FC130E600121 -:1004300013020000172100001301C1BC13000000CB -:1004400093001001130000002302110083014100FA -:10045000930E1001639ED105130212009302200037 -:10046000E31A52FC130E7001130200001721000062 -:10047000130141B9130000001300000093001000A5 -:10048000A302110083015100930E10006392D10367 -:100490001302120093022000E31A52FC1305F00E1F -:1004A00097250000938505B6A381A500631CC001B4 -:1004B0000F00F00F63000E00131E1E00136E1E00CF -:1004C000730000000F00F00F130E10007300000007 -:1004D000731000C0000000000000000000000000D9 -:1004E000000000000000000000000000000000000C -:1004F00000000000000000000000000000000000FC -:0405000000000000F7 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203097200000938080EF2A +:100110001301A0FA2380200003870000930EA0FAA9 +:1001200093012000631CD73D97200000938080ED51 +:1001300013010000A380200003871000930E00002D +:1001400093013000631CD73B97200000938080EB25 +:1001500037F1FFFF130101FA2381200003972000EC +:10016000B7FEFFFF938E0EFA930140006318D73954 +:1001700097200000938000E91301A000A3812000D4 +:1001800003873000930EA000930150006318D73707 +:1001900097200000938070E71301A0FAA38E20FE41 +:1001A0000387D0FF930EA0FA930160006318D73540 +:1001B00097200000938070E513010000238F20FE3C +:1001C0000387E0FF930E0000930170006318D7339C +:1001D00097200000938070E3130100FAA38F20FEA4 +:1001E0000387F0FF930E00FA930180006318D73164 +:1001F00097200000938070E11301A000238020006D +:1002000003870000930EA000930190006318D72F7E +:1002100097200000938080DF3751341213018167EB +:10022000138200FE2300220283820000930E8007C7 +:100230009301A0006394D22D97200000938000DDED +:1002400037310000130181099380A0FFA3832000B0 +:1002500017220000130292DB83020200930E80F942 +:100260009301B000639CD2299301C00013020000E7 +:100270009300D0FD172100001301C1D82300110005 +:1002800003070100930ED0FD631AD7271302120053 +:1002900093022000E31E52FC9301D00013020000E1 +:1002A0009300D0FC172100001301C1D513000000FA +:1002B000A300110003071100930ED0FC6310D72593 +:1002C0001302120093022000E31C52FC9301E00091 +:1002D000130200009300C0FC17210000130181D21B +:1002E0001300000013000000230111000307210088 +:1002F000930EC0FC6314D721130212009302200056 +:10030000E31A52FC9301F000130200009300C0FBBB +:1003100013000000172100001301C1CEA30111003A +:1003200003073100930EC0FB631AD71D130212009E +:1003300093022000E31C52FC930100011302000011 +:100340009300B0FB1300000017210000130181CBC4 +:10035000130000002302110003074100930EB0FBBD +:10036000631ED7191302120093022000E31A52FCF5 +:1003700093011001130200009300B0FA1300000073 +:1003800013000000172100001301C1C7A3021100D0 +:1003900003075100930EB0FA6312D717130212002D +:1003A00093022000E31A52FC930120011302000083 +:1003B00017210000130101C5930030032300110031 +:1003C00003070100930E3003631AD71313021200C0 +:1003D00093022000E31E52FC93013001130200003F +:1003E00017210000130101C2930030021300000026 +:1003F000A300110003071100930E30026310D71100 +:100400001302120093022000E31C52FC93014001EE +:1004100013020000172100001301C1BE9300200247 +:100420001300000013000000230111000307210046 +:10043000930E20026314D70D1302120093022000C2 +:10044000E31A52FC9301500113020000172100002F +:10045000130141BB1300000093002001A301110010 +:1004600003073100930E2001631AD709130212000B +:1004700093022000E31C52FC930160011302000070 +:1004800017210000130101B81300000093001001B0 +:10049000130000002302110003074100930E100116 +:1004A000631ED7051302120093022000E31A52FCC8 +:1004B000930170011302000017210000130181B4A1 +:1004C000130000001300000093001000A3021100AD +:1004D00003075100930E10006312D703130212009A +:1004E00093022000E31A52FC1305F00E972500003A +:1004F000938545B1A381A500631030020F00F00F72 +:10050000638001009391110093E111009308D005DD +:1005100013850100730000000F00F00F930110001D +:100520009308D0051305000073000000731000C08D +:1005300000000000000000000000000000000000BB +:0405400000000000B7 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 :10200000EFEFEFEFEFEFEFEFEFEF0000000000007A -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-sh.dump b/simX/riscv_tests/rv32ui-p-sh.dump new file mode 100644 index 00000000..11bec70b --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-sh.dump @@ -0,0 +1,473 @@ + +rv32ui-p-sh: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfdf> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00002097 auipc ra,0x2 +8000010c: ef808093 addi ra,ra,-264 # 80002000 +80000110: 0aa00113 li sp,170 +80000114: 00209023 sh sp,0(ra) +80000118: 00009703 lh a4,0(ra) +8000011c: 0aa00e93 li t4,170 +80000120: 00200193 li gp,2 +80000124: 45d71e63 bne a4,t4,80000580 + +80000128 : +80000128: 00002097 auipc ra,0x2 +8000012c: ed808093 addi ra,ra,-296 # 80002000 +80000130: ffffb137 lui sp,0xffffb +80000134: a0010113 addi sp,sp,-1536 # ffffaa00 <_end+0x7fff89e0> +80000138: 00209123 sh sp,2(ra) +8000013c: 00209703 lh a4,2(ra) +80000140: ffffbeb7 lui t4,0xffffb +80000144: a00e8e93 addi t4,t4,-1536 # ffffaa00 <_end+0x7fff89e0> +80000148: 00300193 li gp,3 +8000014c: 43d71a63 bne a4,t4,80000580 + +80000150 : +80000150: 00002097 auipc ra,0x2 +80000154: eb008093 addi ra,ra,-336 # 80002000 +80000158: beef1137 lui sp,0xbeef1 +8000015c: aa010113 addi sp,sp,-1376 # beef0aa0 <_end+0x3eeeea80> +80000160: 00209223 sh sp,4(ra) +80000164: 0040a703 lw a4,4(ra) +80000168: beef1eb7 lui t4,0xbeef1 +8000016c: aa0e8e93 addi t4,t4,-1376 # beef0aa0 <_end+0x3eeeea80> +80000170: 00400193 li gp,4 +80000174: 41d71663 bne a4,t4,80000580 + +80000178 : +80000178: 00002097 auipc ra,0x2 +8000017c: e8808093 addi ra,ra,-376 # 80002000 +80000180: ffffa137 lui sp,0xffffa +80000184: 00a10113 addi sp,sp,10 # ffffa00a <_end+0x7fff7fea> +80000188: 00209323 sh sp,6(ra) +8000018c: 00609703 lh a4,6(ra) +80000190: ffffaeb7 lui t4,0xffffa +80000194: 00ae8e93 addi t4,t4,10 # ffffa00a <_end+0x7fff7fea> +80000198: 00500193 li gp,5 +8000019c: 3fd71263 bne a4,t4,80000580 + +800001a0 : +800001a0: 00002097 auipc ra,0x2 +800001a4: e6e08093 addi ra,ra,-402 # 8000200e +800001a8: 0aa00113 li sp,170 +800001ac: fe209d23 sh sp,-6(ra) +800001b0: ffa09703 lh a4,-6(ra) +800001b4: 0aa00e93 li t4,170 +800001b8: 00600193 li gp,6 +800001bc: 3dd71263 bne a4,t4,80000580 + +800001c0 : +800001c0: 00002097 auipc ra,0x2 +800001c4: e4e08093 addi ra,ra,-434 # 8000200e +800001c8: ffffb137 lui sp,0xffffb +800001cc: a0010113 addi sp,sp,-1536 # ffffaa00 <_end+0x7fff89e0> +800001d0: fe209e23 sh sp,-4(ra) +800001d4: ffc09703 lh a4,-4(ra) +800001d8: ffffbeb7 lui t4,0xffffb +800001dc: a00e8e93 addi t4,t4,-1536 # ffffaa00 <_end+0x7fff89e0> +800001e0: 00700193 li gp,7 +800001e4: 39d71e63 bne a4,t4,80000580 + +800001e8 : +800001e8: 00002097 auipc ra,0x2 +800001ec: e2608093 addi ra,ra,-474 # 8000200e +800001f0: 00001137 lui sp,0x1 +800001f4: aa010113 addi sp,sp,-1376 # aa0 <_start-0x7ffff560> +800001f8: fe209f23 sh sp,-2(ra) +800001fc: ffe09703 lh a4,-2(ra) +80000200: 00001eb7 lui t4,0x1 +80000204: aa0e8e93 addi t4,t4,-1376 # aa0 <_start-0x7ffff560> +80000208: 00800193 li gp,8 +8000020c: 37d71a63 bne a4,t4,80000580 + +80000210 : +80000210: 00002097 auipc ra,0x2 +80000214: dfe08093 addi ra,ra,-514 # 8000200e +80000218: ffffa137 lui sp,0xffffa +8000021c: 00a10113 addi sp,sp,10 # ffffa00a <_end+0x7fff7fea> +80000220: 00209023 sh sp,0(ra) +80000224: 00009703 lh a4,0(ra) +80000228: ffffaeb7 lui t4,0xffffa +8000022c: 00ae8e93 addi t4,t4,10 # ffffa00a <_end+0x7fff7fea> +80000230: 00900193 li gp,9 +80000234: 35d71663 bne a4,t4,80000580 + +80000238 : +80000238: 00002097 auipc ra,0x2 +8000023c: dd808093 addi ra,ra,-552 # 80002010 +80000240: 12345137 lui sp,0x12345 +80000244: 67810113 addi sp,sp,1656 # 12345678 <_start-0x6dcba988> +80000248: fe008213 addi tp,ra,-32 +8000024c: 02221023 sh sp,32(tp) # 20 <_start-0x7fffffe0> +80000250: 00009283 lh t0,0(ra) +80000254: 00005eb7 lui t4,0x5 +80000258: 678e8e93 addi t4,t4,1656 # 5678 <_start-0x7fffa988> +8000025c: 00a00193 li gp,10 +80000260: 33d29063 bne t0,t4,80000580 + +80000264 : +80000264: 00002097 auipc ra,0x2 +80000268: dac08093 addi ra,ra,-596 # 80002010 +8000026c: 00003137 lui sp,0x3 +80000270: 09810113 addi sp,sp,152 # 3098 <_start-0x7fffcf68> +80000274: ffb08093 addi ra,ra,-5 +80000278: 002093a3 sh sp,7(ra) +8000027c: 00002217 auipc tp,0x2 +80000280: d9620213 addi tp,tp,-618 # 80002012 +80000284: 00021283 lh t0,0(tp) # 0 <_start-0x80000000> +80000288: 00003eb7 lui t4,0x3 +8000028c: 098e8e93 addi t4,t4,152 # 3098 <_start-0x7fffcf68> +80000290: 00b00193 li gp,11 +80000294: 2fd29663 bne t0,t4,80000580 + +80000298 : +80000298: 00c00193 li gp,12 +8000029c: 00000213 li tp,0 +800002a0: ffffd0b7 lui ra,0xffffd +800002a4: cdd08093 addi ra,ra,-803 # ffffccdd <_end+0x7fffacbd> +800002a8: 00002117 auipc sp,0x2 +800002ac: d5810113 addi sp,sp,-680 # 80002000 +800002b0: 00111023 sh ra,0(sp) +800002b4: 00011703 lh a4,0(sp) +800002b8: ffffdeb7 lui t4,0xffffd +800002bc: cdde8e93 addi t4,t4,-803 # ffffccdd <_end+0x7fffacbd> +800002c0: 2dd71063 bne a4,t4,80000580 +800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c8: 00200293 li t0,2 +800002cc: fc521ae3 bne tp,t0,800002a0 + +800002d0 : +800002d0: 00d00193 li gp,13 +800002d4: 00000213 li tp,0 +800002d8: ffffc0b7 lui ra,0xffffc +800002dc: ccd08093 addi ra,ra,-819 # ffffbccd <_end+0x7fff9cad> +800002e0: 00002117 auipc sp,0x2 +800002e4: d2010113 addi sp,sp,-736 # 80002000 +800002e8: 00000013 nop +800002ec: 00111123 sh ra,2(sp) +800002f0: 00211703 lh a4,2(sp) +800002f4: ffffceb7 lui t4,0xffffc +800002f8: ccde8e93 addi t4,t4,-819 # ffffbccd <_end+0x7fff9cad> +800002fc: 29d71263 bne a4,t4,80000580 +80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000304: 00200293 li t0,2 +80000308: fc5218e3 bne tp,t0,800002d8 + +8000030c : +8000030c: 00e00193 li gp,14 +80000310: 00000213 li tp,0 +80000314: ffffc0b7 lui ra,0xffffc +80000318: bcc08093 addi ra,ra,-1076 # ffffbbcc <_end+0x7fff9bac> +8000031c: 00002117 auipc sp,0x2 +80000320: ce410113 addi sp,sp,-796 # 80002000 +80000324: 00000013 nop +80000328: 00000013 nop +8000032c: 00111223 sh ra,4(sp) +80000330: 00411703 lh a4,4(sp) +80000334: ffffceb7 lui t4,0xffffc +80000338: bcce8e93 addi t4,t4,-1076 # ffffbbcc <_end+0x7fff9bac> +8000033c: 25d71263 bne a4,t4,80000580 +80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000344: 00200293 li t0,2 +80000348: fc5216e3 bne tp,t0,80000314 + +8000034c : +8000034c: 00f00193 li gp,15 +80000350: 00000213 li tp,0 +80000354: ffffb0b7 lui ra,0xffffb +80000358: bbc08093 addi ra,ra,-1092 # ffffabbc <_end+0x7fff8b9c> +8000035c: 00000013 nop +80000360: 00002117 auipc sp,0x2 +80000364: ca010113 addi sp,sp,-864 # 80002000 +80000368: 00111323 sh ra,6(sp) +8000036c: 00611703 lh a4,6(sp) +80000370: ffffbeb7 lui t4,0xffffb +80000374: bbce8e93 addi t4,t4,-1092 # ffffabbc <_end+0x7fff8b9c> +80000378: 21d71463 bne a4,t4,80000580 +8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000380: 00200293 li t0,2 +80000384: fc5218e3 bne tp,t0,80000354 + +80000388 : +80000388: 01000193 li gp,16 +8000038c: 00000213 li tp,0 +80000390: ffffb0b7 lui ra,0xffffb +80000394: abb08093 addi ra,ra,-1349 # ffffaabb <_end+0x7fff8a9b> +80000398: 00000013 nop +8000039c: 00002117 auipc sp,0x2 +800003a0: c6410113 addi sp,sp,-924 # 80002000 +800003a4: 00000013 nop +800003a8: 00111423 sh ra,8(sp) +800003ac: 00811703 lh a4,8(sp) +800003b0: ffffbeb7 lui t4,0xffffb +800003b4: abbe8e93 addi t4,t4,-1349 # ffffaabb <_end+0x7fff8a9b> +800003b8: 1dd71463 bne a4,t4,80000580 +800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003c0: 00200293 li t0,2 +800003c4: fc5216e3 bne tp,t0,80000390 + +800003c8 : +800003c8: 01100193 li gp,17 +800003cc: 00000213 li tp,0 +800003d0: ffffe0b7 lui ra,0xffffe +800003d4: aab08093 addi ra,ra,-1365 # ffffdaab <_end+0x7fffba8b> +800003d8: 00000013 nop +800003dc: 00000013 nop +800003e0: 00002117 auipc sp,0x2 +800003e4: c2010113 addi sp,sp,-992 # 80002000 +800003e8: 00111523 sh ra,10(sp) +800003ec: 00a11703 lh a4,10(sp) +800003f0: ffffeeb7 lui t4,0xffffe +800003f4: aabe8e93 addi t4,t4,-1365 # ffffdaab <_end+0x7fffba8b> +800003f8: 19d71463 bne a4,t4,80000580 +800003fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000400: 00200293 li t0,2 +80000404: fc5216e3 bne tp,t0,800003d0 + +80000408 : +80000408: 01200193 li gp,18 +8000040c: 00000213 li tp,0 +80000410: 00002117 auipc sp,0x2 +80000414: bf010113 addi sp,sp,-1040 # 80002000 +80000418: 000020b7 lui ra,0x2 +8000041c: 23308093 addi ra,ra,563 # 2233 <_start-0x7fffddcd> +80000420: 00111023 sh ra,0(sp) +80000424: 00011703 lh a4,0(sp) +80000428: 00002eb7 lui t4,0x2 +8000042c: 233e8e93 addi t4,t4,563 # 2233 <_start-0x7fffddcd> +80000430: 15d71863 bne a4,t4,80000580 +80000434: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000438: 00200293 li t0,2 +8000043c: fc521ae3 bne tp,t0,80000410 + +80000440 : +80000440: 01300193 li gp,19 +80000444: 00000213 li tp,0 +80000448: 00002117 auipc sp,0x2 +8000044c: bb810113 addi sp,sp,-1096 # 80002000 +80000450: 000010b7 lui ra,0x1 +80000454: 22308093 addi ra,ra,547 # 1223 <_start-0x7fffeddd> +80000458: 00000013 nop +8000045c: 00111123 sh ra,2(sp) +80000460: 00211703 lh a4,2(sp) +80000464: 00001eb7 lui t4,0x1 +80000468: 223e8e93 addi t4,t4,547 # 1223 <_start-0x7fffeddd> +8000046c: 11d71a63 bne a4,t4,80000580 +80000470: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000474: 00200293 li t0,2 +80000478: fc5218e3 bne tp,t0,80000448 + +8000047c : +8000047c: 01400193 li gp,20 +80000480: 00000213 li tp,0 +80000484: 00002117 auipc sp,0x2 +80000488: b7c10113 addi sp,sp,-1156 # 80002000 +8000048c: 000010b7 lui ra,0x1 +80000490: 12208093 addi ra,ra,290 # 1122 <_start-0x7fffeede> +80000494: 00000013 nop +80000498: 00000013 nop +8000049c: 00111223 sh ra,4(sp) +800004a0: 00411703 lh a4,4(sp) +800004a4: 00001eb7 lui t4,0x1 +800004a8: 122e8e93 addi t4,t4,290 # 1122 <_start-0x7fffeede> +800004ac: 0dd71a63 bne a4,t4,80000580 +800004b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004b4: 00200293 li t0,2 +800004b8: fc5216e3 bne tp,t0,80000484 + +800004bc : +800004bc: 01500193 li gp,21 +800004c0: 00000213 li tp,0 +800004c4: 00002117 auipc sp,0x2 +800004c8: b3c10113 addi sp,sp,-1220 # 80002000 +800004cc: 00000013 nop +800004d0: 11200093 li ra,274 +800004d4: 00111323 sh ra,6(sp) +800004d8: 00611703 lh a4,6(sp) +800004dc: 11200e93 li t4,274 +800004e0: 0bd71063 bne a4,t4,80000580 +800004e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004e8: 00200293 li t0,2 +800004ec: fc521ce3 bne tp,t0,800004c4 + +800004f0 : +800004f0: 01600193 li gp,22 +800004f4: 00000213 li tp,0 +800004f8: 00002117 auipc sp,0x2 +800004fc: b0810113 addi sp,sp,-1272 # 80002000 +80000500: 00000013 nop +80000504: 01100093 li ra,17 +80000508: 00000013 nop +8000050c: 00111423 sh ra,8(sp) +80000510: 00811703 lh a4,8(sp) +80000514: 01100e93 li t4,17 +80000518: 07d71463 bne a4,t4,80000580 +8000051c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000520: 00200293 li t0,2 +80000524: fc521ae3 bne tp,t0,800004f8 + +80000528 : +80000528: 01700193 li gp,23 +8000052c: 00000213 li tp,0 +80000530: 00002117 auipc sp,0x2 +80000534: ad010113 addi sp,sp,-1328 # 80002000 +80000538: 00000013 nop +8000053c: 00000013 nop +80000540: 000030b7 lui ra,0x3 +80000544: 00108093 addi ra,ra,1 # 3001 <_start-0x7fffcfff> +80000548: 00111523 sh ra,10(sp) +8000054c: 00a11703 lh a4,10(sp) +80000550: 00003eb7 lui t4,0x3 +80000554: 001e8e93 addi t4,t4,1 # 3001 <_start-0x7fffcfff> +80000558: 03d71463 bne a4,t4,80000580 +8000055c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000560: 00200293 li t0,2 +80000564: fc5216e3 bne tp,t0,80000530 +80000568: 0000c537 lui a0,0xc +8000056c: eef50513 addi a0,a0,-273 # beef <_start-0x7fff4111> +80000570: 00002597 auipc a1,0x2 +80000574: a9058593 addi a1,a1,-1392 # 80002000 +80000578: 00a59323 sh a0,6(a1) +8000057c: 02301063 bne zero,gp,8000059c + +80000580 : +80000580: 0ff0000f fence +80000584: 00018063 beqz gp,80000584 +80000588: 00119193 slli gp,gp,0x1 +8000058c: 0011e193 ori gp,gp,1 +80000590: 05d00893 li a7,93 +80000594: 00018513 mv a0,gp +80000598: 00000073 ecall + +8000059c : +8000059c: 0ff0000f fence +800005a0: 00100193 li gp,1 +800005a4: 05d00893 li a7,93 +800005a8: 00000513 li a0,0 +800005ac: 00000073 ecall +800005b0: c0001073 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 : +80002000: jal t4,7fffd3ee <_start-0x2c12> + +80002002 : +80002002: jal t4,7fffd3f0 <_start-0x2c10> + +80002004 : +80002004: jal t4,7fffd3f2 <_start-0x2c0e> + +80002006 : +80002006: jal t4,7fffd3f4 <_start-0x2c0c> + +80002008 : +80002008: jal t4,7fffd3f6 <_start-0x2c0a> + +8000200a : +8000200a: jal t4,7fffd3f8 <_start-0x2c08> + +8000200c : +8000200c: jal t4,7fffd3fa <_start-0x2c06> + +8000200e : +8000200e: jal t4,7fffd3fc <_start-0x2c04> + +80002010 : +80002010: jal t4,7fffd3fe <_start-0x2c02> + +80002012 : +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/simX/riscv_tests/rv32ui-p-sh.hex b/simX/riscv_tests/rv32ui-p-sh.hex index b8ceb208..aa30e733 100644 --- a/simX/riscv_tests/rv32ui-p-sh.hex +++ b/simX/riscv_tests/rv32ui-p-sh.hex @@ -2,92 +2,96 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203097200000B4 -:1000C000938040F41301A00A239020008391000044 -:1000D000930EA00A130E2000639ED14597200000C6 -:1000E000938040F237B1FFFF130101A0239120005C -:1000F00083912000B7BEFFFF938E0EA0130E300039 -:10010000639AD143972000009380C0EF3711EFBE70 -:10011000130101AA2392200083A14000B71EEFBE65 -:10012000938E0EAA130E40006396D14197200000D3 -:10013000938040ED37A1FFFF1301A100239320001E -:1001400083916000B7AEFFFF938EAE00130E500098 -:100150006392D13F972000009380A0EB1301A00A87 -:10016000239D20FE8391A0FF930EA00A130E600032 -:100170006392D13D972000009380A0E937B1FFFF43 -:10018000130101A0239E20FE8391C0FFB7BEFFFF95 -:10019000938E0EA0130E7000639ED139972000003D -:1001A000938020E737110000130101AA239F20FE4E -:1001B0008391E0FFB71E0000938E0EAA130E8000FD -:1001C000639AD137972000009380A0E437A1FFFF06 -:1001D0001301A1002390200083910000B7AEFFFF20 -:1001E000938EAE00130E90006396D13597200000D9 -:1001F000938040E23751341213018167138200FE6D -:100200002310220283910000B75E0000938E8E6758 -:10021000130EA0006390D13397200000938080DFFD -:1002200037310000130181099380B0FFA3932000B0 -:1002300017220000130222DE83110200B73E0000E5 -:10024000938E8E09130EB0006396D12F130EC0004B -:1002500013020000B7D0FFFF9380D0CD172100001C -:10026000130141DA2310110083110100B7DEFFFFF3 -:10027000938EDECD6390D12D1302120093022000E5 -:10028000E31A52FC130ED00013020000B7C0FFFFA8 -:100290009380D0CC172100001301C1D613000000B9 -:1002A0002311110083112100B7CEFFFF938EDECC06 -:1002B0006392D1291302120093022000E31852FC2A -:1002C000130EE00013020000B7C0FFFF9380C0BC14 -:1002D00017210000130101D31300000013000000D8 -:1002E0002312110083114100B7CEFFFF938ECEBCC5 -:1002F0006392D1251302120093022000E31652FCF0 -:10030000130EF00013020000B7B0FFFF9380C0BBD4 -:1003100013000000172100001301C1CE23131100A8 -:1003200083116100B7BEFFFF938ECEBB6394D121D2 -:100330001302120093022000E31852FC130E000176 -:1003400013020000B7B0FFFF9380B0AB13000000B2 -:1003500017210000130101CB13000000231411002A -:1003600083118100B7BEFFFF938EBEAB6394D11D96 -:100370001302120093022000E31652FC130E100128 -:1003800013020000B7E0FFFF9380B0AA1300000043 -:1003900013000000172100001301C1C6231511002E -:1003A0008311A100B7EEFFFF938EBEAA6394D1190B -:1003B0001302120093022000E31652FC130E2001D8 -:1003C00013020000172100001301C1C3B720000071 -:1003D000938030232310110083110100B72E0000F9 -:1003E000938E3E236398D1151302120093022000CE -:1003F000E31A52FC130E3001130200001721000013 -:10040000130141C0B7100000938030221300000098 -:100410002311110083112100B71E0000938E3E228C -:10042000639AD1111302120093022000E31852FCC8 -:10043000130E40011302000017210000130181BCBC -:10044000B71000009380201213000000130000007A -:100450002312110083114100B71E0000938E2E124B -:10046000639AD10D1302120093022000E31652FC8E -:10047000130E50011302000017210000130181B870 -:100480001300000093002011231311008311610059 -:10049000930E20116390D10B1302120093022000DF -:1004A000E31C52FC130E6001130200001721000030 -:1004B000130141B513000000930010011300000068 -:1004C0002314110083118100930E10016394D1074E -:1004D0001302120093022000E31A52FC130E700163 -:1004E00013020000172100001301C1B11300000026 -:1004F00013000000B7300000938010002315110096 -:100500008311A100B73E0000938E1E006394D103B7 -:100510001302120093022000E31652FC37C50000BC -:100520001305F5EE972500009385C5AD2393A5002F -:10053000631CC0010F00F00F63000E00131E1E00AD -:10054000136E1E00730000000F00F00F130E10005A -:1005500073000000731000C00000000000000000E5 -:10056000000000000000000000000000000000008B -:10057000000000000000000000000000000000007B -:040580000000000077 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203097200000938080EF2A +:100110001301A00A2390200003970000930EA00A69 +:1001200093012000631ED74597200000938080ED47 +:1001300037B1FFFF130101A0239120000397200096 +:10014000B7BEFFFF938E0EA093013000631AD74312 +:1001500097200000938000EB3711EFBE130101AA36 +:100160002392200003A74000B71EEFBE938E0EAA75 +:10017000930140006316D74197200000938080E8E8 +:1001800037A1FFFF1301A100239320000397600014 +:10019000B7AEFFFF938EAE00930150006312D73FBE +:1001A000972000009380E0E61301A00A239D20FE23 +:1001B0000397A0FF930EA00A930160006312D73D3E +:1001C000972000009380E0E437B1FFFF130101A006 +:1001D000239E20FE0397C0FFB7BEFFFF938E0EA0A5 +:1001E00093017000631ED73997200000938060E26E +:1001F00037110000130101AA239F20FE0397E0FF9F +:10020000B71E0000938E0EAA93018000631AD737A1 +:10021000972000009380E0DF37A1FFFF1301A100CA +:100220002390200003970000B7AEFFFF938EAE002F +:10023000930190006316D73597200000938080DDEE +:100240003751341213018167138200FE23102202FA +:1002500083920000B75E0000938E8E679301A0002A +:100260006390D233972000009380C0DA37310000CA +:10027000130181099380B0FFA3932000172200008F +:10028000130262D983120200B73E0000938E8E09DA +:100290009301B0006396D22F9301C00013020000B7 +:1002A000B7D0FFFF9380D0CD17210000130181D577 +:1002B0002310110003170100B7DEFFFF938EDECD80 +:1002C0006310D72D1302120093022000E31A52FC90 +:1002D0009301D00013020000B7C0FFFF9380D0CC81 +:1002E00017210000130101D2130000002311110097 +:1002F00003172100B7CEFFFF938EDECC6312D72900 +:100300001302120093022000E31852FC9301E00054 +:1003100013020000B7C0FFFF9380C0BC172100008C +:10032000130141CE1300000013000000231211003E +:1003300003174100B7CEFFFF938ECEBC6312D725C3 +:100340001302120093022000E31652FC9301F00006 +:1003500013020000B7B0FFFF9380C0BB1300000082 +:1003600017210000130101CA2313110003176100B4 +:10037000B7BEFFFF938ECEBB6314D72113021200CA +:1003800093022000E31852FC9301000113020000C5 +:10039000B7B0FFFF9380B0AB13000000172100003F +:1003A000130141C61300000023141100031781003C +:1003B000B7BEFFFF938EBEAB6314D71D13021200AE +:1003C00093022000E31652FC930110011302000077 +:1003D000B7E0FFFF9380B0AA1300000013000000F5 +:1003E00017210000130101C2231511000317A100FA +:1003F000B7EEFFFF938EBEAA6314D7191302120043 +:1004000093022000E31652FC930120011302000026 +:1004100017210000130101BFB72000009380302393 +:100420002310110003170100B72E0000938E3E2306 +:100430006318D7151302120093022000E31A52FC2E +:10044000930130011302000017210000130181BB4A +:10045000B710000093803022130000002311110018 +:1004600003172100B71E0000938E3E22631AD71196 +:100470001302120093022000E31852FC9301400182 +:1004800013020000172100001301C1B7B7100000CC +:1004900093802012130000001300000023121100AB +:1004A00003174100B71E0000938E2E12631AD70D5A +:1004B0001302120093022000E31652FC9301500134 +:1004C00013020000172100001301C1B31300000044 +:1004D000930020112313110003176100930E2011C4 +:1004E0006310D70B1302120093022000E31C52FC8E +:1004F000930160011302000017210000130181B075 +:1005000013000000930010011300000023141100D9 +:1005100003178100930E10016314D7071302120012 +:1005200093022000E31A52FC9301700113020000B1 +:1005300017210000130101AD13000000130000009B +:10054000B730000093801000231511000317A1009D +:10055000B73E0000938E1E006314D70313021200EF +:1005600093022000E31652FC37C500001305F5EE98 +:1005700097250000938505A92393A50063103002F9 +:100580000F00F00F638001009391110093E11100BF +:100590009308D00513850100730000000F00F00FD1 +:1005A000930110009308D0051305000073000000AC +:1005B000731000C0000000000000000000000000F8 +:0405C0000000000037 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 @@ -95,5 +99,5 @@ :081040000000000000000000A8 :10200000EFBEEFBEEFBEEFBEEFBEEFBEEFBEEFBE68 :10201000EFBEEFBE00000000000000000000000066 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-simple.dump b/simX/riscv_tests/rv32ui-p-simple.dump new file mode 100644 index 00000000..4ef40215 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-simple.dump @@ -0,0 +1,105 @@ + +rv32ui-p-simple: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret +80000108: 0ff0000f fence +8000010c: 00100193 li gp,1 +80000110: 05d00893 li a7,93 +80000114: 00000513 li a0,0 +80000118: 00000073 ecall +8000011c: c0001073 unimp +80000120: 0000 unimp +80000122: 0000 unimp +80000124: 0000 unimp +80000126: 0000 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 +80000140: 0000 unimp +80000142: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-simple.hex b/simX/riscv_tests/rv32ui-p-simple.hex index 018e25ac..e9d6cef3 100644 --- a/simX/riscv_tests/rv32ui-p-simple.hex +++ b/simX/riscv_tests/rv32ui-p-simple.hex @@ -2,24 +2,28 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F1730020300F00F00F5D -:1000C000130E100073000000731000C00000000049 -:1000D0000000000000000000000000000000000020 -:1000E0000000000000000000000000000000000010 -:1000F0000000000000000000000000000000000000 -:0401000000000000FB +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020300F00F00F93011000B1 +:100110009308D0051305000073000000731000C0A1 +:1001200000000000000000000000000000000000CF +:1001300000000000000000000000000000000000BF +:0401400000000000BB :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-sll.dump b/simX/riscv_tests/rv32ui-p-sll.dump new file mode 100644 index 00000000..8406695d --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-sll.dump @@ -0,0 +1,548 @@ + +rv32ui-p-sll: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00100093 li ra,1 +8000010c: 00000113 li sp,0 +80000110: 00209733 sll a4,ra,sp +80000114: 00100e93 li t4,1 +80000118: 00200193 li gp,2 +8000011c: 53d71e63 bne a4,t4,80000658 + +80000120 : +80000120: 00100093 li ra,1 +80000124: 00100113 li sp,1 +80000128: 00209733 sll a4,ra,sp +8000012c: 00200e93 li t4,2 +80000130: 00300193 li gp,3 +80000134: 53d71263 bne a4,t4,80000658 + +80000138 : +80000138: 00100093 li ra,1 +8000013c: 00700113 li sp,7 +80000140: 00209733 sll a4,ra,sp +80000144: 08000e93 li t4,128 +80000148: 00400193 li gp,4 +8000014c: 51d71663 bne a4,t4,80000658 + +80000150 : +80000150: 00100093 li ra,1 +80000154: 00e00113 li sp,14 +80000158: 00209733 sll a4,ra,sp +8000015c: 00004eb7 lui t4,0x4 +80000160: 00500193 li gp,5 +80000164: 4fd71a63 bne a4,t4,80000658 + +80000168 : +80000168: 00100093 li ra,1 +8000016c: 01f00113 li sp,31 +80000170: 00209733 sll a4,ra,sp +80000174: 80000eb7 lui t4,0x80000 +80000178: 00600193 li gp,6 +8000017c: 4dd71e63 bne a4,t4,80000658 + +80000180 : +80000180: fff00093 li ra,-1 +80000184: 00000113 li sp,0 +80000188: 00209733 sll a4,ra,sp +8000018c: fff00e93 li t4,-1 +80000190: 00700193 li gp,7 +80000194: 4dd71263 bne a4,t4,80000658 + +80000198 : +80000198: fff00093 li ra,-1 +8000019c: 00100113 li sp,1 +800001a0: 00209733 sll a4,ra,sp +800001a4: ffe00e93 li t4,-2 +800001a8: 00800193 li gp,8 +800001ac: 4bd71663 bne a4,t4,80000658 + +800001b0 : +800001b0: fff00093 li ra,-1 +800001b4: 00700113 li sp,7 +800001b8: 00209733 sll a4,ra,sp +800001bc: f8000e93 li t4,-128 +800001c0: 00900193 li gp,9 +800001c4: 49d71a63 bne a4,t4,80000658 + +800001c8 : +800001c8: fff00093 li ra,-1 +800001cc: 00e00113 li sp,14 +800001d0: 00209733 sll a4,ra,sp +800001d4: ffffceb7 lui t4,0xffffc +800001d8: 00a00193 li gp,10 +800001dc: 47d71e63 bne a4,t4,80000658 + +800001e0 : +800001e0: fff00093 li ra,-1 +800001e4: 01f00113 li sp,31 +800001e8: 00209733 sll a4,ra,sp +800001ec: 80000eb7 lui t4,0x80000 +800001f0: 00b00193 li gp,11 +800001f4: 47d71263 bne a4,t4,80000658 + +800001f8 : +800001f8: 212120b7 lui ra,0x21212 +800001fc: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000200: 00000113 li sp,0 +80000204: 00209733 sll a4,ra,sp +80000208: 21212eb7 lui t4,0x21212 +8000020c: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +80000210: 00c00193 li gp,12 +80000214: 45d71263 bne a4,t4,80000658 + +80000218 : +80000218: 212120b7 lui ra,0x21212 +8000021c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000220: 00100113 li sp,1 +80000224: 00209733 sll a4,ra,sp +80000228: 42424eb7 lui t4,0x42424 +8000022c: 242e8e93 addi t4,t4,578 # 42424242 <_start-0x3dbdbdbe> +80000230: 00d00193 li gp,13 +80000234: 43d71263 bne a4,t4,80000658 + +80000238 : +80000238: 212120b7 lui ra,0x21212 +8000023c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000240: 00700113 li sp,7 +80000244: 00209733 sll a4,ra,sp +80000248: 90909eb7 lui t4,0x90909 +8000024c: 080e8e93 addi t4,t4,128 # 90909080 <_end+0x10907080> +80000250: 00e00193 li gp,14 +80000254: 41d71263 bne a4,t4,80000658 + +80000258 : +80000258: 212120b7 lui ra,0x21212 +8000025c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000260: 00e00113 li sp,14 +80000264: 00209733 sll a4,ra,sp +80000268: 48484eb7 lui t4,0x48484 +8000026c: 00f00193 li gp,15 +80000270: 3fd71463 bne a4,t4,80000658 + +80000274 : +80000274: 212120b7 lui ra,0x21212 +80000278: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +8000027c: 01f00113 li sp,31 +80000280: 00209733 sll a4,ra,sp +80000284: 80000eb7 lui t4,0x80000 +80000288: 01000193 li gp,16 +8000028c: 3dd71663 bne a4,t4,80000658 + +80000290 : +80000290: 212120b7 lui ra,0x21212 +80000294: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000298: fc000113 li sp,-64 +8000029c: 00209733 sll a4,ra,sp +800002a0: 21212eb7 lui t4,0x21212 +800002a4: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +800002a8: 01100193 li gp,17 +800002ac: 3bd71663 bne a4,t4,80000658 + +800002b0 : +800002b0: 212120b7 lui ra,0x21212 +800002b4: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800002b8: fc100113 li sp,-63 +800002bc: 00209733 sll a4,ra,sp +800002c0: 42424eb7 lui t4,0x42424 +800002c4: 242e8e93 addi t4,t4,578 # 42424242 <_start-0x3dbdbdbe> +800002c8: 01200193 li gp,18 +800002cc: 39d71663 bne a4,t4,80000658 + +800002d0 : +800002d0: 212120b7 lui ra,0x21212 +800002d4: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800002d8: fc700113 li sp,-57 +800002dc: 00209733 sll a4,ra,sp +800002e0: 90909eb7 lui t4,0x90909 +800002e4: 080e8e93 addi t4,t4,128 # 90909080 <_end+0x10907080> +800002e8: 01300193 li gp,19 +800002ec: 37d71663 bne a4,t4,80000658 + +800002f0 : +800002f0: 212120b7 lui ra,0x21212 +800002f4: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800002f8: fce00113 li sp,-50 +800002fc: 00209733 sll a4,ra,sp +80000300: 48484eb7 lui t4,0x48484 +80000304: 01400193 li gp,20 +80000308: 35d71863 bne a4,t4,80000658 + +8000030c : +8000030c: 00100093 li ra,1 +80000310: 00700113 li sp,7 +80000314: 002090b3 sll ra,ra,sp +80000318: 08000e93 li t4,128 +8000031c: 01600193 li gp,22 +80000320: 33d09c63 bne ra,t4,80000658 + +80000324 : +80000324: 00100093 li ra,1 +80000328: 00e00113 li sp,14 +8000032c: 00209133 sll sp,ra,sp +80000330: 00004eb7 lui t4,0x4 +80000334: 01700193 li gp,23 +80000338: 33d11063 bne sp,t4,80000658 + +8000033c : +8000033c: 00300093 li ra,3 +80000340: 001090b3 sll ra,ra,ra +80000344: 01800e93 li t4,24 +80000348: 01800193 li gp,24 +8000034c: 31d09663 bne ra,t4,80000658 + +80000350 : +80000350: 00000213 li tp,0 +80000354: 00100093 li ra,1 +80000358: 00700113 li sp,7 +8000035c: 00209733 sll a4,ra,sp +80000360: 00070313 mv t1,a4 +80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000368: 00200293 li t0,2 +8000036c: fe5214e3 bne tp,t0,80000354 +80000370: 08000e93 li t4,128 +80000374: 01900193 li gp,25 +80000378: 2fd31063 bne t1,t4,80000658 + +8000037c : +8000037c: 00000213 li tp,0 +80000380: 00100093 li ra,1 +80000384: 00e00113 li sp,14 +80000388: 00209733 sll a4,ra,sp +8000038c: 00000013 nop +80000390: 00070313 mv t1,a4 +80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000398: 00200293 li t0,2 +8000039c: fe5212e3 bne tp,t0,80000380 +800003a0: 00004eb7 lui t4,0x4 +800003a4: 01a00193 li gp,26 +800003a8: 2bd31863 bne t1,t4,80000658 + +800003ac : +800003ac: 00000213 li tp,0 +800003b0: 00100093 li ra,1 +800003b4: 01f00113 li sp,31 +800003b8: 00209733 sll a4,ra,sp +800003bc: 00000013 nop +800003c0: 00000013 nop +800003c4: 00070313 mv t1,a4 +800003c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003cc: 00200293 li t0,2 +800003d0: fe5210e3 bne tp,t0,800003b0 +800003d4: 80000eb7 lui t4,0x80000 +800003d8: 01b00193 li gp,27 +800003dc: 27d31e63 bne t1,t4,80000658 + +800003e0 : +800003e0: 00000213 li tp,0 +800003e4: 00100093 li ra,1 +800003e8: 00700113 li sp,7 +800003ec: 00209733 sll a4,ra,sp +800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f4: 00200293 li t0,2 +800003f8: fe5216e3 bne tp,t0,800003e4 +800003fc: 08000e93 li t4,128 +80000400: 01c00193 li gp,28 +80000404: 25d71a63 bne a4,t4,80000658 + +80000408 : +80000408: 00000213 li tp,0 +8000040c: 00100093 li ra,1 +80000410: 00e00113 li sp,14 +80000414: 00000013 nop +80000418: 00209733 sll a4,ra,sp +8000041c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000420: 00200293 li t0,2 +80000424: fe5214e3 bne tp,t0,8000040c +80000428: 00004eb7 lui t4,0x4 +8000042c: 01d00193 li gp,29 +80000430: 23d71463 bne a4,t4,80000658 + +80000434 : +80000434: 00000213 li tp,0 +80000438: 00100093 li ra,1 +8000043c: 01f00113 li sp,31 +80000440: 00000013 nop +80000444: 00000013 nop +80000448: 00209733 sll a4,ra,sp +8000044c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000450: 00200293 li t0,2 +80000454: fe5212e3 bne tp,t0,80000438 +80000458: 80000eb7 lui t4,0x80000 +8000045c: 01e00193 li gp,30 +80000460: 1fd71c63 bne a4,t4,80000658 + +80000464 : +80000464: 00000213 li tp,0 +80000468: 00100093 li ra,1 +8000046c: 00000013 nop +80000470: 00700113 li sp,7 +80000474: 00209733 sll a4,ra,sp +80000478: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000047c: 00200293 li t0,2 +80000480: fe5214e3 bne tp,t0,80000468 +80000484: 08000e93 li t4,128 +80000488: 01f00193 li gp,31 +8000048c: 1dd71663 bne a4,t4,80000658 + +80000490 : +80000490: 00000213 li tp,0 +80000494: 00100093 li ra,1 +80000498: 00000013 nop +8000049c: 00e00113 li sp,14 +800004a0: 00000013 nop +800004a4: 00209733 sll a4,ra,sp +800004a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ac: 00200293 li t0,2 +800004b0: fe5212e3 bne tp,t0,80000494 +800004b4: 00004eb7 lui t4,0x4 +800004b8: 02000193 li gp,32 +800004bc: 19d71e63 bne a4,t4,80000658 + +800004c0 : +800004c0: 00000213 li tp,0 +800004c4: 00100093 li ra,1 +800004c8: 00000013 nop +800004cc: 00000013 nop +800004d0: 01f00113 li sp,31 +800004d4: 00209733 sll a4,ra,sp +800004d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004dc: 00200293 li t0,2 +800004e0: fe5212e3 bne tp,t0,800004c4 +800004e4: 80000eb7 lui t4,0x80000 +800004e8: 02100193 li gp,33 +800004ec: 17d71663 bne a4,t4,80000658 + +800004f0 : +800004f0: 00000213 li tp,0 +800004f4: 00700113 li sp,7 +800004f8: 00100093 li ra,1 +800004fc: 00209733 sll a4,ra,sp +80000500: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000504: 00200293 li t0,2 +80000508: fe5216e3 bne tp,t0,800004f4 +8000050c: 08000e93 li t4,128 +80000510: 02200193 li gp,34 +80000514: 15d71263 bne a4,t4,80000658 + +80000518 : +80000518: 00000213 li tp,0 +8000051c: 00e00113 li sp,14 +80000520: 00100093 li ra,1 +80000524: 00000013 nop +80000528: 00209733 sll a4,ra,sp +8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000530: 00200293 li t0,2 +80000534: fe5214e3 bne tp,t0,8000051c +80000538: 00004eb7 lui t4,0x4 +8000053c: 02300193 li gp,35 +80000540: 11d71c63 bne a4,t4,80000658 + +80000544 : +80000544: 00000213 li tp,0 +80000548: 01f00113 li sp,31 +8000054c: 00100093 li ra,1 +80000550: 00000013 nop +80000554: 00000013 nop +80000558: 00209733 sll a4,ra,sp +8000055c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000560: 00200293 li t0,2 +80000564: fe5212e3 bne tp,t0,80000548 +80000568: 80000eb7 lui t4,0x80000 +8000056c: 02400193 li gp,36 +80000570: 0fd71463 bne a4,t4,80000658 + +80000574 : +80000574: 00000213 li tp,0 +80000578: 00700113 li sp,7 +8000057c: 00000013 nop +80000580: 00100093 li ra,1 +80000584: 00209733 sll a4,ra,sp +80000588: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000058c: 00200293 li t0,2 +80000590: fe5214e3 bne tp,t0,80000578 +80000594: 08000e93 li t4,128 +80000598: 02500193 li gp,37 +8000059c: 0bd71e63 bne a4,t4,80000658 + +800005a0 : +800005a0: 00000213 li tp,0 +800005a4: 00e00113 li sp,14 +800005a8: 00000013 nop +800005ac: 00100093 li ra,1 +800005b0: 00000013 nop +800005b4: 00209733 sll a4,ra,sp +800005b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005bc: 00200293 li t0,2 +800005c0: fe5212e3 bne tp,t0,800005a4 +800005c4: 00004eb7 lui t4,0x4 +800005c8: 02600193 li gp,38 +800005cc: 09d71663 bne a4,t4,80000658 + +800005d0 : +800005d0: 00000213 li tp,0 +800005d4: 01f00113 li sp,31 +800005d8: 00000013 nop +800005dc: 00000013 nop +800005e0: 00100093 li ra,1 +800005e4: 00209733 sll a4,ra,sp +800005e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005ec: 00200293 li t0,2 +800005f0: fe5212e3 bne tp,t0,800005d4 +800005f4: 80000eb7 lui t4,0x80000 +800005f8: 02700193 li gp,39 +800005fc: 05d71e63 bne a4,t4,80000658 + +80000600 : +80000600: 00f00093 li ra,15 +80000604: 00101133 sll sp,zero,ra +80000608: 00000e93 li t4,0 +8000060c: 02800193 li gp,40 +80000610: 05d11463 bne sp,t4,80000658 + +80000614 : +80000614: 02000093 li ra,32 +80000618: 00009133 sll sp,ra,zero +8000061c: 02000e93 li t4,32 +80000620: 02900193 li gp,41 +80000624: 03d11a63 bne sp,t4,80000658 + +80000628 : +80000628: 000010b3 sll ra,zero,zero +8000062c: 00000e93 li t4,0 +80000630: 02a00193 li gp,42 +80000634: 03d09263 bne ra,t4,80000658 + +80000638 : +80000638: 40000093 li ra,1024 +8000063c: 00001137 lui sp,0x1 +80000640: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800> +80000644: 00209033 sll zero,ra,sp +80000648: 00000e93 li t4,0 +8000064c: 02b00193 li gp,43 +80000650: 01d01463 bne zero,t4,80000658 +80000654: 02301063 bne zero,gp,80000674 + +80000658 : +80000658: 0ff0000f fence +8000065c: 00018063 beqz gp,8000065c +80000660: 00119193 slli gp,gp,0x1 +80000664: 0011e193 ori gp,gp,1 +80000668: 05d00893 li a7,93 +8000066c: 00018513 mv a0,gp +80000670: 00000073 ecall + +80000674 : +80000674: 0ff0000f fence +80000678: 00100193 li gp,1 +8000067c: 05d00893 li a7,93 +80000680: 00000513 li a0,0 +80000684: 00000073 ecall +80000688: c0001073 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 diff --git a/simX/riscv_tests/rv32ui-p-sll.hex b/simX/riscv_tests/rv32ui-p-sll.hex index 9fdbf4a9..b7fc0f87 100644 --- a/simX/riscv_tests/rv32ui-p-sll.hex +++ b/simX/riscv_tests/rv32ui-p-sll.hex @@ -2,108 +2,116 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093001000C8 -:1000C00013010000B3912000930E1000130E2000C6 -:1000D000639ED1539300100013011000B3912000D0 -:1000E000930E2000130E30006392D1539300100042 -:1000F00013017000B3912000930E0008130E40000E -:100100006396D151930010001301E000B3912000D9 -:10011000B74E0000130E5000639AD14F93001000A9 -:100120001301F001B3912000B70E0080130E6000A0 -:10013000639ED14D9300F0FF13010000B3912000A6 -:10014000930EF0FF130E70006392D14D9300F0FFF9 -:1001500013011000B3912000930EE0FF130E8000F6 -:100160006396D14B9300F0FF13017000B391200010 -:10017000930E00F8130E9000639AD1499300F0FF9C -:100180001301E000B3912000B7CEFFFF130EA000D3 -:10019000639ED1479300F0FF1301F001B39120005B -:1001A000B70E0080130EB0006392D147B720212113 -:1001B0009380101213010000B3912000B72E21216B -:1001C000938E1E12130EC0006392D145B7202121D9 -:1001D0009380101213011000B3912000B74E4242D9 -:1001E000938E2E24130ED0006392D143B720212189 -:1001F0009380101213017000B3912000B79E90906D -:10020000938E0E08130EE0006392D141B720212196 -:10021000938010121301E000B3912000B74E4848BC -:10022000130EF0006394D13FB72021219380101268 -:100230001301F001B3912000B70E0080130E0001EE -:100240006396D13DB720212193801012130100FC49 -:10025000B3912000B72E2121938E1E12130E100190 -:100260006396D13BB720212193801012130110FC1B -:10027000B3912000B74E4242938E2E24130E2001DC -:100280006396D139B720212193801012130170FC9D -:10029000B3912000B79E9090938E0E08130E3001FC -:1002A0006396D137B7202121938010121301E0FC0F -:1002B000B3912000B74E4848130E40016398D135E2 -:1002C0009300100013017000B3902000930E0008FB -:1002D000130E6001639CD033930010001301E00003 -:1002E00033912000B74E0000130E70016310D1331C -:1002F00093003000B3901000930E8001130E800124 -:100300006396D031130200009300100013017000B7 -:10031000B391200013830100130212009302200006 -:10032000E31452FE930E0008130E90016310D32FB6 -:1003300013020000930010001301E000B3912000AD -:100340001300000013830100130212009302200027 -:10035000E31252FEB74E0000130EA0016318D32B18 -:1003600013020000930010001301F001B39120006C -:100370001300000013000000138301001302120099 -:1003800093022000E31052FEB70E0080130EB0015E -:10039000631ED327130200009300100013017000A6 -:1003A000B39120001302120093022000E31652FEC4 -:1003B000930E0008130EC001639AD12513020000AA -:1003C000930010001301E00013000000B39120001F -:1003D0001302120093022000E31452FEB74E0000F5 -:1003E000130ED0016394D123130200009300100078 -:1003F0001301F0011300000013000000B39120006E -:100400001302120093022000E31252FEB70E008086 -:10041000130EE001639CD11F130200009300100033 -:100420001300000013017000B391200013021200AA -:1004300093022000E31452FE930E0008130EF00105 -:100440006396D11D130200009300100013000000FA -:100450001301E00013000000B3912000130212000A -:1004600093022000E31252FEB74E0000130E00026A -:10047000639ED119130200009300100013000000C6 -:10048000130000001301F001B391200013021200C9 -:1004900093022000E31252FEB70E0080130E1002EA -:1004A0006396D1171302000013017000930010002F -:1004B000B39120001302120093022000E31652FEB3 -:1004C000930E0008130E20026392D1151302000050 -:1004D0001301E0009300100013000000B39120000E -:1004E0001302120093022000E31452FEB74E0000E4 -:1004F000130E3002639CD111130200001301F001AE -:10050000930010001300000013000000B3912000BE -:100510001302120093022000E31252FEB70E008075 -:10052000130E40026394D10F1302000013017000F8 -:100530001300000093001000B3912000130212007A -:1005400093022000E31452FE930E0008130E500293 -:10055000639ED10B130200001301E00013000000A2 -:100560009300100013000000B3912000130212004A -:1005700093022000E31252FEB74E0000130E6002F9 -:100580006396D109130200001301F001130000006B -:100590001300000093001000B3912000130212001A -:1005A00093022000E31252FEB70E0080130E700279 -:1005B000639ED1059300F00033111000930E0000EC -:1005C000130E80026314D1059300000233910000E2 -:1005D000930E0002130E9002631AD103B3100000B1 -:1005E000930E0000130EA0026392D003930000400C -:1005F000371100001301018033902000930E00009A -:10060000130EB0026314D001631CC0010F00F00F81 -:1006100063000E00131E1E00136E1E007300000008 -:100620000F00F00F130E100073000000731000C0D5 -:1006300000000000000000000000000000000000BA -:0406400000000000B6 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309300100013010000AC +:1001100033972000930E100093012000631ED753E5 +:10012000930010001301100033972000930E20005D +:10013000930130006312D753930010001301700035 +:1001400033972000930E0008930140006316D751A7 +:10015000930010001301E00033972000B74E000019 +:1001600093015000631AD74F930010001301F00160 +:1001700033972000B70E008093016000631ED74DB7 +:100180009300F0FF1301000033972000930EF0FF5F +:10019000930170006312D74D9300F0FF130110001C +:1001A00033972000930EE0FF930180006316D74B36 +:1001B0009300F0FF1301700033972000930E00F8B6 +:1001C00093019000631AD7499300F0FF1301E000F8 +:1001D00033972000B7CEFFFF9301A000631ED747DF +:1001E0009300F0FF1301F00133972000B70E008059 +:1001F0009301B0006312D747B720212193801012DA +:100200001301000033972000B72E2121938E1E1278 +:100210009301C0006312D745B720212193801012AB +:100220001301100033972000B74E4242938E2E24C4 +:100230009301D0006312D743B7202121938010127D +:100240001301700033972000B79E9090938E0E0894 +:100250009301E0006312D741B7202121938010124F +:100260001301E00033972000B74E48489301F00097 +:100270006314D73FB7202121938010121301F0019E +:1002800033972000B70E0080930100016316D73D1D +:10029000B720212193801012130100FC3397200016 +:1002A000B72E2121938E1E12930110016316D73BA6 +:1002B000B720212193801012130110FC33972000E6 +:1002C000B74E4242938E2E24930120016316D739F4 +:1002D000B720212193801012130170FC3397200066 +:1002E000B79E9090938E0E08930130016316D73716 +:1002F000B7202121938010121301E0FC33972000D6 +:10030000B74E4848930140016318D7359300100059 +:1003100013017000B3902000930E00089301600158 +:10032000639CD033930010001301E0003391200050 +:10033000B74E0000930170016310D1339300300079 +:10034000B3901000930E8001930180016396D03129 +:100350001302000093001000130170003397200077 +:10036000130307001302120093022000E31452FE4D +:10037000930E0008930190016310D32F1302000025 +:10038000930010001301E0003397200013000000D9 +:10039000130307001302120093022000E31252FE1F +:1003A000B74E00009301A0016318D32B1302000085 +:1003B000930010001301F001339720001300000098 +:1003C0001300000013030700130212009302200021 +:1003D000E31052FEB70E00809301B001631ED327D5 +:1003E00013020000930010001301700033972000E7 +:1003F0001302120093022000E31652FE930E00082F +:100400009301C001631AD725130200009300100066 +:100410001301E000130000003397200013021200C4 +:1004200093022000E31452FEB74E00009301D00166 +:100430006314D72313020000930010001301F0018E +:100440001300000013000000339720001302120075 +:1004500093022000E31252FEB70E00809301E001E8 +:10046000631CD71F1302000093001000130000004C +:100470001301700033972000130212009302200032 +:10048000E31452FE930E00089301F0016316D71D8A +:100490001302000093001000130000001301E0009D +:1004A0001300000033972000130212009302200073 +:1004B000E31252FEB74E000093010002631ED719EB +:1004C000130200009300100013000000130000004E +:1004D0001301F00133972000130212009302200051 +:1004E000E31252FEB70E0080930110026316D71775 +:1004F00013020000130170009300100033972000D6 +:100500001302120093022000E31652FE930E00081D +:10051000930120026312D715130200001301E000BB +:100520009300100013000000339720001302120004 +:1005300093022000E31452FEB74E000093013002F4 +:10054000631CD711130200001301F0019300100087 +:100550001300000013000000339720001302120064 +:1005600093022000E31252FEB70E00809301400276 +:100570006314D70F13020000130170001300000072 +:100580009300100033972000130212009302200002 +:10059000E31452FE930E000893015002631ED70B22 +:1005A000130200001301E00013000000930010008C +:1005B0001300000033972000130212009302200062 +:1005C000E31252FEB74E0000930160026316D70992 +:1005D000130200001301F0011300000013000000DB +:1005E00093001000339720001302120093022000A2 +:1005F000E31252FEB70E008093017002631ED7050E +:100600009300F00033111000930E0000930180025C +:100610006314D1059300000233910000930E000291 +:1006200093019002631AD103B3100000930E0000EF +:100630009301A0026392D0039300004037110000A1 +:100640001301018033902000930E00009301B0024B +:100650006314D001631030020F00F00F63800100BB +:100660009391110093E111009308D00513850100C7 +:10067000730000000F00F00F930110009308D005E5 +:100680001305000073000000731000C0000000009C +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:0406C0000000000036 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-slli.dump b/simX/riscv_tests/rv32ui-p-slli.dump new file mode 100644 index 00000000..9010d0ba --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-slli.dump @@ -0,0 +1,309 @@ + +rv32ui-p-slli: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00100093 li ra,1 +8000010c: 00009713 slli a4,ra,0x0 +80000110: 00100e93 li t4,1 +80000114: 00200193 li gp,2 +80000118: 27d71a63 bne a4,t4,8000038c + +8000011c : +8000011c: 00100093 li ra,1 +80000120: 00109713 slli a4,ra,0x1 +80000124: 00200e93 li t4,2 +80000128: 00300193 li gp,3 +8000012c: 27d71063 bne a4,t4,8000038c + +80000130 : +80000130: 00100093 li ra,1 +80000134: 00709713 slli a4,ra,0x7 +80000138: 08000e93 li t4,128 +8000013c: 00400193 li gp,4 +80000140: 25d71663 bne a4,t4,8000038c + +80000144 : +80000144: 00100093 li ra,1 +80000148: 00e09713 slli a4,ra,0xe +8000014c: 00004eb7 lui t4,0x4 +80000150: 00500193 li gp,5 +80000154: 23d71c63 bne a4,t4,8000038c + +80000158 : +80000158: 00100093 li ra,1 +8000015c: 01f09713 slli a4,ra,0x1f +80000160: 80000eb7 lui t4,0x80000 +80000164: 00600193 li gp,6 +80000168: 23d71263 bne a4,t4,8000038c + +8000016c : +8000016c: fff00093 li ra,-1 +80000170: 00009713 slli a4,ra,0x0 +80000174: fff00e93 li t4,-1 +80000178: 00700193 li gp,7 +8000017c: 21d71863 bne a4,t4,8000038c + +80000180 : +80000180: fff00093 li ra,-1 +80000184: 00109713 slli a4,ra,0x1 +80000188: ffe00e93 li t4,-2 +8000018c: 00800193 li gp,8 +80000190: 1fd71e63 bne a4,t4,8000038c + +80000194 : +80000194: fff00093 li ra,-1 +80000198: 00709713 slli a4,ra,0x7 +8000019c: f8000e93 li t4,-128 +800001a0: 00900193 li gp,9 +800001a4: 1fd71463 bne a4,t4,8000038c + +800001a8 : +800001a8: fff00093 li ra,-1 +800001ac: 00e09713 slli a4,ra,0xe +800001b0: ffffceb7 lui t4,0xffffc +800001b4: 00a00193 li gp,10 +800001b8: 1dd71a63 bne a4,t4,8000038c + +800001bc : +800001bc: fff00093 li ra,-1 +800001c0: 01f09713 slli a4,ra,0x1f +800001c4: 80000eb7 lui t4,0x80000 +800001c8: 00b00193 li gp,11 +800001cc: 1dd71063 bne a4,t4,8000038c + +800001d0 : +800001d0: 212120b7 lui ra,0x21212 +800001d4: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001d8: 00009713 slli a4,ra,0x0 +800001dc: 21212eb7 lui t4,0x21212 +800001e0: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +800001e4: 00c00193 li gp,12 +800001e8: 1bd71263 bne a4,t4,8000038c + +800001ec : +800001ec: 212120b7 lui ra,0x21212 +800001f0: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001f4: 00109713 slli a4,ra,0x1 +800001f8: 42424eb7 lui t4,0x42424 +800001fc: 242e8e93 addi t4,t4,578 # 42424242 <_start-0x3dbdbdbe> +80000200: 00d00193 li gp,13 +80000204: 19d71463 bne a4,t4,8000038c + +80000208 : +80000208: 212120b7 lui ra,0x21212 +8000020c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000210: 00709713 slli a4,ra,0x7 +80000214: 90909eb7 lui t4,0x90909 +80000218: 080e8e93 addi t4,t4,128 # 90909080 <_end+0x10907080> +8000021c: 00e00193 li gp,14 +80000220: 17d71663 bne a4,t4,8000038c + +80000224 : +80000224: 212120b7 lui ra,0x21212 +80000228: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +8000022c: 00e09713 slli a4,ra,0xe +80000230: 48484eb7 lui t4,0x48484 +80000234: 00f00193 li gp,15 +80000238: 15d71a63 bne a4,t4,8000038c + +8000023c : +8000023c: 212120b7 lui ra,0x21212 +80000240: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000244: 01f09713 slli a4,ra,0x1f +80000248: 80000eb7 lui t4,0x80000 +8000024c: 01000193 li gp,16 +80000250: 13d71e63 bne a4,t4,8000038c + +80000254 : +80000254: 00100093 li ra,1 +80000258: 00709093 slli ra,ra,0x7 +8000025c: 08000e93 li t4,128 +80000260: 01100193 li gp,17 +80000264: 13d09463 bne ra,t4,8000038c + +80000268 : +80000268: 00000213 li tp,0 +8000026c: 00100093 li ra,1 +80000270: 00709713 slli a4,ra,0x7 +80000274: 00070313 mv t1,a4 +80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000027c: 00200293 li t0,2 +80000280: fe5216e3 bne tp,t0,8000026c +80000284: 08000e93 li t4,128 +80000288: 01200193 li gp,18 +8000028c: 11d31063 bne t1,t4,8000038c + +80000290 : +80000290: 00000213 li tp,0 +80000294: 00100093 li ra,1 +80000298: 00e09713 slli a4,ra,0xe +8000029c: 00000013 nop +800002a0: 00070313 mv t1,a4 +800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a8: 00200293 li t0,2 +800002ac: fe5214e3 bne tp,t0,80000294 +800002b0: 00004eb7 lui t4,0x4 +800002b4: 01300193 li gp,19 +800002b8: 0dd31a63 bne t1,t4,8000038c + +800002bc : +800002bc: 00000213 li tp,0 +800002c0: 00100093 li ra,1 +800002c4: 01f09713 slli a4,ra,0x1f +800002c8: 00000013 nop +800002cc: 00000013 nop +800002d0: 00070313 mv t1,a4 +800002d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d8: 00200293 li t0,2 +800002dc: fe5212e3 bne tp,t0,800002c0 +800002e0: 80000eb7 lui t4,0x80000 +800002e4: 01400193 li gp,20 +800002e8: 0bd31263 bne t1,t4,8000038c + +800002ec : +800002ec: 00000213 li tp,0 +800002f0: 00100093 li ra,1 +800002f4: 00709713 slli a4,ra,0x7 +800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002fc: 00200293 li t0,2 +80000300: fe5218e3 bne tp,t0,800002f0 +80000304: 08000e93 li t4,128 +80000308: 01500193 li gp,21 +8000030c: 09d71063 bne a4,t4,8000038c + +80000310 : +80000310: 00000213 li tp,0 +80000314: 00100093 li ra,1 +80000318: 00000013 nop +8000031c: 00e09713 slli a4,ra,0xe +80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000324: 00200293 li t0,2 +80000328: fe5216e3 bne tp,t0,80000314 +8000032c: 00004eb7 lui t4,0x4 +80000330: 01600193 li gp,22 +80000334: 05d71c63 bne a4,t4,8000038c + +80000338 : +80000338: 00000213 li tp,0 +8000033c: 00100093 li ra,1 +80000340: 00000013 nop +80000344: 00000013 nop +80000348: 01f09713 slli a4,ra,0x1f +8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000350: 00200293 li t0,2 +80000354: fe5214e3 bne tp,t0,8000033c +80000358: 80000eb7 lui t4,0x80000 +8000035c: 01700193 li gp,23 +80000360: 03d71663 bne a4,t4,8000038c + +80000364 : +80000364: 01f01093 slli ra,zero,0x1f +80000368: 00000e93 li t4,0 +8000036c: 01800193 li gp,24 +80000370: 01d09e63 bne ra,t4,8000038c + +80000374 : +80000374: 02100093 li ra,33 +80000378: 01409013 slli zero,ra,0x14 +8000037c: 00000e93 li t4,0 +80000380: 01900193 li gp,25 +80000384: 01d01463 bne zero,t4,8000038c +80000388: 02301063 bne zero,gp,800003a8 + +8000038c : +8000038c: 0ff0000f fence +80000390: 00018063 beqz gp,80000390 +80000394: 00119193 slli gp,gp,0x1 +80000398: 0011e193 ori gp,gp,1 +8000039c: 05d00893 li a7,93 +800003a0: 00018513 mv a0,gp +800003a4: 00000073 ecall + +800003a8 : +800003a8: 0ff0000f fence +800003ac: 00100193 li gp,1 +800003b0: 05d00893 li a7,93 +800003b4: 00000513 li a0,0 +800003b8: 00000073 ecall +800003bc: c0001073 unimp +800003c0: 0000 unimp +800003c2: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-slli.hex b/simX/riscv_tests/rv32ui-p-slli.hex index 6b602bd0..041470d4 100644 --- a/simX/riscv_tests/rv32ui-p-slli.hex +++ b/simX/riscv_tests/rv32ui-p-slli.hex @@ -2,64 +2,68 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093001000C8 -:1000C00093910000930E1000130E2000639AD12725 -:1000D0009300100093911000930E2000130E300037 -:1000E0006390D1279300100093917000930E000845 -:1000F000130E40006396D125930010009391E00009 -:10010000B74E0000130E5000639CD12393001000E3 -:100110009391F001B70E0080130E60006392D1231B -:100120009300F0FF93910000930EF0FF130E700008 -:100130006398D1219300F0FF93911000930EE0FF9C -:10014000130E8000639ED11F9300F0FF9391700007 -:10015000930E00F8130E90006394D11F9300F0FFEC -:100160009391E000B7CEFFFF130EA000639AD11D5C -:100170009300F0FF9391F001B70E0080130EB000D2 -:100180006390D11DB720212193801012939100001C -:10019000B72E2121938E1E12130EC0006392D11B25 -:1001A000B72021219380101293911000B74E424244 -:1001B000938E2E24130ED0006394D119B7202121E1 -:1001C0009380101293917000B79E9090938E0E08BA -:1001D000130EE0006396D117B720212193801012EF -:1001E0009391E000B74E4848130EF000639AD11582 -:1001F000B7202121938010129391F001B70E008057 -:10020000130E0001639ED1139300100093907000B1 -:10021000930E0008130E10016394D0131302000014 -:1002200093001000939170001383010013021200D9 -:1002300093022000E31652FE930E0008130E2001D5 -:100240006310D31113020000930010009391E0009B -:100250001300000013830100130212009302200018 -:10026000E31452FEB74E0000130E3001631AD30D93 -:1002700013020000930010009391F001130000009E -:1002800013000000138301001302120093022000E8 -:10029000E31252FEB70E0080130E40016312D30B1F -:1002A00013020000930010009391700013021200DB -:1002B00093022000E31852FE930E0008130E500123 -:1002C0006390D10913020000930010001300000096 -:1002D0009391E0001302120093022000E31652FEF5 -:1002E000B74E0000130E6001639CD105130200009D -:1002F0009300100013000000130000009391F00120 -:100300001302120093022000E31452FEB70E008085 -:10031000130E70016396D1039310F001930E000049 -:10032000130E8001639ED0019300100213904001D0 -:10033000930E0000130E90016314D001631CC001E2 -:100340000F00F00F63000E00131E1E00136E1E0040 -:10035000730000000F00F00F130E10007300000078 -:10036000731000C00000000000000000000000004A -:10037000000000000000000000000000000000007D -:040380000000000079 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030930010001397000016 +:10011000930E100093012000631AD727930010005C +:1001200013971000930E2000930130006310D7271F +:100130009300100013977000930E00089301400085 +:100140006316D725930010001397E000B74E000008 +:1001500093015000631CD723930010001397F00104 +:10016000B70E0080930160006312D7239300F0FF65 +:1001700013970000930EF0FF930170006318D721CE +:100180009300F0FF13971000930EE0FF930180009F +:10019000631ED71F9300F0FF13977000930E00F8B3 +:1001A000930190006314D71F9300F0FF1397E000B2 +:1001B000B7CEFFFF9301A000631AD71D9300F0FF95 +:1001C0001397F001B70E00809301B0006310D71DA4 +:1001D000B72021219380101213970000B72E212100 +:1001E000938E1E129301C0006312D71BB7202121EA +:1001F0009380101213971000B74E4242938E2E2414 +:100200009301D0006314D719B720212193801012D5 +:1002100013977000B79E9090938E0E089301E000A4 +:100220006316D717B7202121938010121397E0008F +:10023000B74E48489301F000631AD715B720212123 +:10024000938010121397F001B70E00809301000104 +:10025000631ED7139300100093907000930E000854 +:10026000930110016394D013130200009300100057 +:10027000139770001303070013021200930220006B +:10028000E31652FE930E0008930120016310D31170 +:1002900013020000930010001397E0001300000009 +:1002A000130307001302120093022000E31452FE0E +:1002B000B74E000093013001631AD30D1302000002 +:1002C000930010001397F0011300000013000000CA +:1002D000130307001302120093022000E31252FEE0 +:1002E000B70E0080930140016312D30B130200008C +:1002F0009300100013977000130212009302200065 +:10030000E31852FE930E0008930150016310D709C1 +:100310001302000093001000130000001397E00088 +:100320001302120093022000E31652FEB74E0000A3 +:1003300093016001631CD7051302000093001000B5 +:1003400013000000130000001397F00113021200C5 +:1003500093022000E31452FEB70E00809301700157 +:100360006316D7039310F001930E000093018001F0 +:10037000639ED0019300100213904001930E000081 +:10038000930190016314D001631030020F00F00F4D +:10039000638001009391110093E111009308D0054F +:1003A00013850100730000000F00F00F930110008F +:1003B0009308D0051305000073000000731000C0FF +:0403C0000000000039 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-slt.dump b/simX/riscv_tests/rv32ui-p-slt.dump new file mode 100644 index 00000000..ec7b4174 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-slt.dump @@ -0,0 +1,478 @@ + +rv32ui-p-slt: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00000093 li ra,0 +8000010c: 00000113 li sp,0 +80000110: 0020a733 slt a4,ra,sp +80000114: 00000e93 li t4,0 +80000118: 00200193 li gp,2 +8000011c: 4bd71a63 bne a4,t4,800005d0 + +80000120 : +80000120: 00100093 li ra,1 +80000124: 00100113 li sp,1 +80000128: 0020a733 slt a4,ra,sp +8000012c: 00000e93 li t4,0 +80000130: 00300193 li gp,3 +80000134: 49d71e63 bne a4,t4,800005d0 + +80000138 : +80000138: 00300093 li ra,3 +8000013c: 00700113 li sp,7 +80000140: 0020a733 slt a4,ra,sp +80000144: 00100e93 li t4,1 +80000148: 00400193 li gp,4 +8000014c: 49d71263 bne a4,t4,800005d0 + +80000150 : +80000150: 00700093 li ra,7 +80000154: 00300113 li sp,3 +80000158: 0020a733 slt a4,ra,sp +8000015c: 00000e93 li t4,0 +80000160: 00500193 li gp,5 +80000164: 47d71663 bne a4,t4,800005d0 + +80000168 : +80000168: 00000093 li ra,0 +8000016c: ffff8137 lui sp,0xffff8 +80000170: 0020a733 slt a4,ra,sp +80000174: 00000e93 li t4,0 +80000178: 00600193 li gp,6 +8000017c: 45d71a63 bne a4,t4,800005d0 + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: 00000113 li sp,0 +80000188: 0020a733 slt a4,ra,sp +8000018c: 00100e93 li t4,1 +80000190: 00700193 li gp,7 +80000194: 43d71e63 bne a4,t4,800005d0 + +80000198 : +80000198: 800000b7 lui ra,0x80000 +8000019c: ffff8137 lui sp,0xffff8 +800001a0: 0020a733 slt a4,ra,sp +800001a4: 00100e93 li t4,1 +800001a8: 00800193 li gp,8 +800001ac: 43d71263 bne a4,t4,800005d0 + +800001b0 : +800001b0: 00000093 li ra,0 +800001b4: 00008137 lui sp,0x8 +800001b8: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001bc: 0020a733 slt a4,ra,sp +800001c0: 00100e93 li t4,1 +800001c4: 00900193 li gp,9 +800001c8: 41d71463 bne a4,t4,800005d0 + +800001cc : +800001cc: 800000b7 lui ra,0x80000 +800001d0: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001d4: 00000113 li sp,0 +800001d8: 0020a733 slt a4,ra,sp +800001dc: 00000e93 li t4,0 +800001e0: 00a00193 li gp,10 +800001e4: 3fd71663 bne a4,t4,800005d0 + +800001e8 : +800001e8: 800000b7 lui ra,0x80000 +800001ec: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001f0: 00008137 lui sp,0x8 +800001f4: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001f8: 0020a733 slt a4,ra,sp +800001fc: 00000e93 li t4,0 +80000200: 00b00193 li gp,11 +80000204: 3dd71663 bne a4,t4,800005d0 + +80000208 : +80000208: 800000b7 lui ra,0x80000 +8000020c: 00008137 lui sp,0x8 +80000210: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +80000214: 0020a733 slt a4,ra,sp +80000218: 00100e93 li t4,1 +8000021c: 00c00193 li gp,12 +80000220: 3bd71863 bne a4,t4,800005d0 + +80000224 : +80000224: 800000b7 lui ra,0x80000 +80000228: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +8000022c: ffff8137 lui sp,0xffff8 +80000230: 0020a733 slt a4,ra,sp +80000234: 00000e93 li t4,0 +80000238: 00d00193 li gp,13 +8000023c: 39d71a63 bne a4,t4,800005d0 + +80000240 : +80000240: 00000093 li ra,0 +80000244: fff00113 li sp,-1 +80000248: 0020a733 slt a4,ra,sp +8000024c: 00000e93 li t4,0 +80000250: 00e00193 li gp,14 +80000254: 37d71e63 bne a4,t4,800005d0 + +80000258 : +80000258: fff00093 li ra,-1 +8000025c: 00100113 li sp,1 +80000260: 0020a733 slt a4,ra,sp +80000264: 00100e93 li t4,1 +80000268: 00f00193 li gp,15 +8000026c: 37d71263 bne a4,t4,800005d0 + +80000270 : +80000270: fff00093 li ra,-1 +80000274: fff00113 li sp,-1 +80000278: 0020a733 slt a4,ra,sp +8000027c: 00000e93 li t4,0 +80000280: 01000193 li gp,16 +80000284: 35d71663 bne a4,t4,800005d0 + +80000288 : +80000288: 00e00093 li ra,14 +8000028c: 00d00113 li sp,13 +80000290: 0020a0b3 slt ra,ra,sp +80000294: 00000e93 li t4,0 +80000298: 01100193 li gp,17 +8000029c: 33d09a63 bne ra,t4,800005d0 + +800002a0 : +800002a0: 00b00093 li ra,11 +800002a4: 00d00113 li sp,13 +800002a8: 0020a133 slt sp,ra,sp +800002ac: 00100e93 li t4,1 +800002b0: 01200193 li gp,18 +800002b4: 31d11e63 bne sp,t4,800005d0 + +800002b8 : +800002b8: 00d00093 li ra,13 +800002bc: 0010a0b3 slt ra,ra,ra +800002c0: 00000e93 li t4,0 +800002c4: 01300193 li gp,19 +800002c8: 31d09463 bne ra,t4,800005d0 + +800002cc : +800002cc: 00000213 li tp,0 +800002d0: 00b00093 li ra,11 +800002d4: 00d00113 li sp,13 +800002d8: 0020a733 slt a4,ra,sp +800002dc: 00070313 mv t1,a4 +800002e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e4: 00200293 li t0,2 +800002e8: fe5214e3 bne tp,t0,800002d0 +800002ec: 00100e93 li t4,1 +800002f0: 01400193 li gp,20 +800002f4: 2dd31e63 bne t1,t4,800005d0 + +800002f8 : +800002f8: 00000213 li tp,0 +800002fc: 00e00093 li ra,14 +80000300: 00d00113 li sp,13 +80000304: 0020a733 slt a4,ra,sp +80000308: 00000013 nop +8000030c: 00070313 mv t1,a4 +80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000314: 00200293 li t0,2 +80000318: fe5212e3 bne tp,t0,800002fc +8000031c: 00000e93 li t4,0 +80000320: 01500193 li gp,21 +80000324: 2bd31663 bne t1,t4,800005d0 + +80000328 : +80000328: 00000213 li tp,0 +8000032c: 00c00093 li ra,12 +80000330: 00d00113 li sp,13 +80000334: 0020a733 slt a4,ra,sp +80000338: 00000013 nop +8000033c: 00000013 nop +80000340: 00070313 mv t1,a4 +80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000348: 00200293 li t0,2 +8000034c: fe5210e3 bne tp,t0,8000032c +80000350: 00100e93 li t4,1 +80000354: 01600193 li gp,22 +80000358: 27d31c63 bne t1,t4,800005d0 + +8000035c : +8000035c: 00000213 li tp,0 +80000360: 00e00093 li ra,14 +80000364: 00d00113 li sp,13 +80000368: 0020a733 slt a4,ra,sp +8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000370: 00200293 li t0,2 +80000374: fe5216e3 bne tp,t0,80000360 +80000378: 00000e93 li t4,0 +8000037c: 01700193 li gp,23 +80000380: 25d71863 bne a4,t4,800005d0 + +80000384 : +80000384: 00000213 li tp,0 +80000388: 00b00093 li ra,11 +8000038c: 00d00113 li sp,13 +80000390: 00000013 nop +80000394: 0020a733 slt a4,ra,sp +80000398: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000039c: 00200293 li t0,2 +800003a0: fe5214e3 bne tp,t0,80000388 +800003a4: 00100e93 li t4,1 +800003a8: 01800193 li gp,24 +800003ac: 23d71263 bne a4,t4,800005d0 + +800003b0 : +800003b0: 00000213 li tp,0 +800003b4: 00f00093 li ra,15 +800003b8: 00d00113 li sp,13 +800003bc: 00000013 nop +800003c0: 00000013 nop +800003c4: 0020a733 slt a4,ra,sp +800003c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003cc: 00200293 li t0,2 +800003d0: fe5212e3 bne tp,t0,800003b4 +800003d4: 00000e93 li t4,0 +800003d8: 01900193 li gp,25 +800003dc: 1fd71a63 bne a4,t4,800005d0 + +800003e0 : +800003e0: 00000213 li tp,0 +800003e4: 00a00093 li ra,10 +800003e8: 00000013 nop +800003ec: 00d00113 li sp,13 +800003f0: 0020a733 slt a4,ra,sp +800003f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f8: 00200293 li t0,2 +800003fc: fe5214e3 bne tp,t0,800003e4 +80000400: 00100e93 li t4,1 +80000404: 01a00193 li gp,26 +80000408: 1dd71463 bne a4,t4,800005d0 + +8000040c : +8000040c: 00000213 li tp,0 +80000410: 01000093 li ra,16 +80000414: 00000013 nop +80000418: 00d00113 li sp,13 +8000041c: 00000013 nop +80000420: 0020a733 slt a4,ra,sp +80000424: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000428: 00200293 li t0,2 +8000042c: fe5212e3 bne tp,t0,80000410 +80000430: 00000e93 li t4,0 +80000434: 01b00193 li gp,27 +80000438: 19d71c63 bne a4,t4,800005d0 + +8000043c : +8000043c: 00000213 li tp,0 +80000440: 00900093 li ra,9 +80000444: 00000013 nop +80000448: 00000013 nop +8000044c: 00d00113 li sp,13 +80000450: 0020a733 slt a4,ra,sp +80000454: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000458: 00200293 li t0,2 +8000045c: fe5212e3 bne tp,t0,80000440 +80000460: 00100e93 li t4,1 +80000464: 01c00193 li gp,28 +80000468: 17d71463 bne a4,t4,800005d0 + +8000046c : +8000046c: 00000213 li tp,0 +80000470: 00d00113 li sp,13 +80000474: 01100093 li ra,17 +80000478: 0020a733 slt a4,ra,sp +8000047c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000480: 00200293 li t0,2 +80000484: fe5216e3 bne tp,t0,80000470 +80000488: 00000e93 li t4,0 +8000048c: 01d00193 li gp,29 +80000490: 15d71063 bne a4,t4,800005d0 + +80000494 : +80000494: 00000213 li tp,0 +80000498: 00d00113 li sp,13 +8000049c: 00800093 li ra,8 +800004a0: 00000013 nop +800004a4: 0020a733 slt a4,ra,sp +800004a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ac: 00200293 li t0,2 +800004b0: fe5214e3 bne tp,t0,80000498 +800004b4: 00100e93 li t4,1 +800004b8: 01e00193 li gp,30 +800004bc: 11d71a63 bne a4,t4,800005d0 + +800004c0 : +800004c0: 00000213 li tp,0 +800004c4: 00d00113 li sp,13 +800004c8: 01200093 li ra,18 +800004cc: 00000013 nop +800004d0: 00000013 nop +800004d4: 0020a733 slt a4,ra,sp +800004d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004dc: 00200293 li t0,2 +800004e0: fe5212e3 bne tp,t0,800004c4 +800004e4: 00000e93 li t4,0 +800004e8: 01f00193 li gp,31 +800004ec: 0fd71263 bne a4,t4,800005d0 + +800004f0 : +800004f0: 00000213 li tp,0 +800004f4: 00d00113 li sp,13 +800004f8: 00000013 nop +800004fc: 00700093 li ra,7 +80000500: 0020a733 slt a4,ra,sp +80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000508: 00200293 li t0,2 +8000050c: fe5214e3 bne tp,t0,800004f4 +80000510: 00100e93 li t4,1 +80000514: 02000193 li gp,32 +80000518: 0bd71c63 bne a4,t4,800005d0 + +8000051c : +8000051c: 00000213 li tp,0 +80000520: 00d00113 li sp,13 +80000524: 00000013 nop +80000528: 01300093 li ra,19 +8000052c: 00000013 nop +80000530: 0020a733 slt a4,ra,sp +80000534: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000538: 00200293 li t0,2 +8000053c: fe5212e3 bne tp,t0,80000520 +80000540: 00000e93 li t4,0 +80000544: 02100193 li gp,33 +80000548: 09d71463 bne a4,t4,800005d0 + +8000054c : +8000054c: 00000213 li tp,0 +80000550: 00d00113 li sp,13 +80000554: 00000013 nop +80000558: 00000013 nop +8000055c: 00600093 li ra,6 +80000560: 0020a733 slt a4,ra,sp +80000564: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000568: 00200293 li t0,2 +8000056c: fe5212e3 bne tp,t0,80000550 +80000570: 00100e93 li t4,1 +80000574: 02200193 li gp,34 +80000578: 05d71c63 bne a4,t4,800005d0 + +8000057c : +8000057c: fff00093 li ra,-1 +80000580: 00102133 sgtz sp,ra +80000584: 00000e93 li t4,0 +80000588: 02300193 li gp,35 +8000058c: 05d11263 bne sp,t4,800005d0 + +80000590 : +80000590: fff00093 li ra,-1 +80000594: 0000a133 sltz sp,ra +80000598: 00100e93 li t4,1 +8000059c: 02400193 li gp,36 +800005a0: 03d11863 bne sp,t4,800005d0 + +800005a4 : +800005a4: 000020b3 sltz ra,zero +800005a8: 00000e93 li t4,0 +800005ac: 02500193 li gp,37 +800005b0: 03d09063 bne ra,t4,800005d0 + +800005b4 : +800005b4: 01000093 li ra,16 +800005b8: 01e00113 li sp,30 +800005bc: 0020a033 slt zero,ra,sp +800005c0: 00000e93 li t4,0 +800005c4: 02600193 li gp,38 +800005c8: 01d01463 bne zero,t4,800005d0 +800005cc: 02301063 bne zero,gp,800005ec + +800005d0 : +800005d0: 0ff0000f fence +800005d4: 00018063 beqz gp,800005d4 +800005d8: 00119193 slli gp,gp,0x1 +800005dc: 0011e193 ori gp,gp,1 +800005e0: 05d00893 li a7,93 +800005e4: 00018513 mv a0,gp +800005e8: 00000073 ecall + +800005ec : +800005ec: 0ff0000f fence +800005f0: 00100193 li gp,1 +800005f4: 05d00893 li a7,93 +800005f8: 00000513 li a0,0 +800005fc: 00000073 ecall +80000600: c0001073 unimp diff --git a/simX/riscv_tests/rv32ui-p-slt.hex b/simX/riscv_tests/rv32ui-p-slt.hex index abca3020..93055651 100644 --- a/simX/riscv_tests/rv32ui-p-slt.hex +++ b/simX/riscv_tests/rv32ui-p-slt.hex @@ -2,100 +2,104 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093000000D8 -:1000C00013010000B3A12000930E0000130E2000C6 -:1000D000639AD14B9300100013011000B3A12000CC -:1000E000930E0000130E3000639ED1499300300040 -:1000F00013017000B3A12000930E1000130E4000F6 -:100100006392D1499300700013013000B3A1200025 -:10011000930E0000130E50006396D1479300000029 -:100120003781FFFFB3A12000930E0000130E600083 -:10013000639AD145B700008013010000B3A12000ED -:10014000930E1000130E7000639ED143B700008021 -:100150003781FFFFB3A12000930E1000130E800023 -:100160006392D14393000000378100001301F1FF37 -:10017000B3A12000930E1000130E90006394D141A0 -:10018000B70000809380F0FF13010000B3A12000AE -:10019000930E0000130EA0006396D13FB7000080BD -:1001A0009380F0FF378100001301F1FFB3A120001D -:1001B000930E0000130EB0006396D13DB70000808F -:1001C000378100001301F1FFB3A12000930E10004E -:1001D000130EC0006398D13BB70000809380F0FFFE -:1001E0003781FFFFB3A12000930E0000130ED00053 -:1001F000639AD139930000001301F0FFB3A12000EE -:10020000930E0000130EE000639ED1379300F0FFC1 -:1002100013011000B3A12000930E1000130EF00084 -:100220006392D1379300F0FF1301F0FFB3A12000D8 -:10023000930E0000130E00016396D1359300E00089 -:100240001301D000B3A02000930E0000130E100184 -:10025000639AD0339300B0001301D00033A1200083 -:10026000930E1000130E2001631ED1319300D000B5 -:10027000B3A01000930E0000130E30016394D03130 -:10028000130200009300B0001301D000B3A12000BE -:10029000138301001302120093022000E31452FEA4 -:1002A000930E1000130E4001631ED32D13020000A5 -:1002B0009300E0001301D000B3A120001300000060 -:1002C000138301001302120093022000E31252FE76 -:1002D000930E0000130E50016316D32B130200007F -:1002E0009300C0001301D000B3A120001300000050 -:1002F0001300000013830100130212009302200078 -:10030000E31052FE930E1000130E6001631CD327FE -:10031000130200009300E0001301D000B3A12000FD -:100320001302120093022000E31652FE930E000007 -:10033000130E70016398D125130200009300B000E2 -:100340001301D00013000000B3A12000130212001B -:1003500093022000E31452FE930E1000130E80014E -:100360006392D123130200009300F0001301D00028 -:100370001300000013000000B3A1200013021200BC -:1003800093022000E31252FE930E0000130E900120 -:10039000639AD11F130200009300A0001300000015 -:1003A0001301D000B3A12000130212009302200019 -:1003B000E31452FE930E1000130EA0016394D11D9E -:1003C0001302000093000001130000001301D0008D -:1003D00013000000B3A120001302120093022000BA -:1003E000E31252FE930E0000130EB001639CD1196C -:1003F000130200009300900013000000130000009F -:100400001301D000B3A120001302120093022000B8 -:10041000E31252FE930E1000130EC0016394D11725 -:10042000130200001301D00093001001B3A12000BB -:100430001302120093022000E31652FE930E0000F6 -:10044000130ED0016390D115130200001301D000E8 -:100450009300800013000000B3A1200013021200DB -:1004600093022000E31452FE930E1000130EE001DD -:10047000639AD111130200001301D00093002001F0 -:100480001300000013000000B3A1200013021200AB -:1004900093022000E31252FE930E0000130EF001AF -:1004A0006392D10F130200001301D000130000006B -:1004B00093007000B3A120001302120093022000E9 -:1004C000E31452FE930E1000130E0002639CD10B36 -:1004D000130200001301D00013000000930030014C -:1004E00013000000B3A120001302120093022000A9 -:1004F000E31252FE930E0000130E10026394D10912 -:10050000130200001301D0001300000013000000CC -:1005100093006000B3A12000130212009302200098 -:10052000E31252FE930E1000130E2002639CD105BD -:100530009300F0FF33211000930E0000130E3002E1 -:100540006312D1059300F0FF33A10000930E100059 -:10055000130E40026318D103B3200000930E000075 -:10056000130E50026390D003930000011301E001C9 -:1005700033A02000930E0000130E60026314D0011C -:10058000631CC0010F00F00F63000E00131E1E005D -:10059000136E1E00730000000F00F00F130E10000A -:1005A00073000000731000C0000000000000000095 -:1005B000000000000000000000000000000000003B -:0405C0000000000037 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309300000013010000BC +:1001100033A72000930E000093012000631AD74BF1 +:10012000930010001301100033A72000930E00006D +:1001300093013000631ED749930030001301700013 +:1001400033A72000930E1000930140006312D7499B +:10015000930070001301300033A72000930E0000BD +:10016000930150006316D747930000003781FFFFCB +:1001700033A72000930E000093016000631AD74557 +:10018000B70000801301000033A72000930E100079 +:1001900093017000631ED743B70000803781FFFFD3 +:1001A00033A72000930E1000930180006312D74301 +:1001B00093000000378100001301F1FF33A72000F6 +:1001C000930E1000930190006314D741B700008094 +:1001D0009380F0FF1301000033A72000930E00006E +:1001E0009301A0006316D73FB70000809380F0FF13 +:1001F000378100001301F1FF33A72000930E0000A8 +:100200009301B0006316D73DB7000080378100002E +:100210001301F1FF33A72000930E10009301C000DB +:100220006318D73BB70000809380F0FF3781FFFF52 +:1002300033A72000930E00009301D000631AD73932 +:10024000930000001301F0FF33A72000930E00007D +:100250009301E000631ED7379300F0FF13011000F5 +:1002600033A72000930E10009301F0006312D737DC +:100270009300F0FF1301F0FF33A72000930E00005E +:10028000930100016316D7359300E0001301D000FD +:10029000B3A02000930E000093011001639AD033A5 +:1002A0009300B0001301D00033A12000930E100082 +:1002B00093012001631ED1319300D000B3A0100040 +:1002C000930E0000930130016394D03113020000BB +:1002D0009300B0001301D00033A7200013030700E0 +:1002E0001302120093022000E31452FE930E10003A +:1002F00093014001631ED32D130200009300E00020 +:100300001301D00033A720001300000013030700DF +:100310001302120093022000E31252FE930E00001B +:10032000930150016316D32B130200009300C00009 +:100330001301D00033A720001300000013000000B9 +:10034000130307001302120093022000E31052FE71 +:10035000930E100093016001631CD3271302000069 +:100360009300E0001301D00033A720001302120015 +:1003700093022000E31652FE930E000093017001D9 +:100380006318D725130200009300B0001301D000BA +:100390001300000033A72000130212009302200074 +:1003A000E31452FE930E1000930180016312D723D1 +:1003B000130200009300F0001301D00013000000AE +:1003C0001300000033A72000130212009302200044 +:1003D000E31252FE930E000093019001631AD71F9F +:1003E000130200009300A000130000001301D000CE +:1003F00033A720001302120093022000E31452FEE0 +:10040000930E10009301A0016314D71D1302000086 +:1004100093000001130000001301D000130000003E +:1004200033A720001302120093022000E31252FEB1 +:10043000930E00009301B001631CD7191302000052 +:100440009300900013000000130000001301D0007F +:1004500033A720001302120093022000E31252FE81 +:10046000930E10009301C0016314D717130200000C +:100470001301D0009300100133A7200013021200D3 +:1004800093022000E31652FE930E00009301D00168 +:100490006310D715130200001301D00093008000F1 +:1004A0001300000033A72000130212009302200063 +:1004B000E31452FE930E10009301E001631AD7116A +:1004C000130200001301D00093002001130000006C +:1004D0001300000033A72000130212009302200033 +:1004E000E31252FE930E00009301F0016312D70F46 +:1004F000130200001301D0001300000093007000ED +:1005000033A720001302120093022000E31452FECE +:10051000930E100093010002631CD70B130200001E +:100520001301D000130000009300300113000000FD +:1005300033A720001302120093022000E31252FEA0 +:10054000930E0000930110026314D70913020000F8 +:100550001301D0001300000013000000930060009E +:1005600033A720001302120093022000E31252FE70 +:10057000930E100093012002631CD7059300F0FF37 +:1005800033211000930E0000930130026312D10555 +:100590009300F0FF33A10000930E1000930140027E +:1005A0006318D103B3200000930E000093015002A2 +:1005B0006390D003930000011301E00133A02000F9 +:1005C000930E0000930160026314D00163103002A7 +:1005D0000F00F00F638001009391110093E111006F +:1005E0009308D00513850100730000000F00F00F81 +:1005F000930110009308D00513050000730000005C +:04060000731000C0B3 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-slti.dump b/simX/riscv_tests/rv32ui-p-slti.dump new file mode 100644 index 00000000..167a412d --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-slti.dump @@ -0,0 +1,313 @@ + +rv32ui-p-slti: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00000093 li ra,0 +8000010c: 0000a713 slti a4,ra,0 +80000110: 00000e93 li t4,0 +80000114: 00200193 li gp,2 +80000118: 27d71263 bne a4,t4,8000037c + +8000011c : +8000011c: 00100093 li ra,1 +80000120: 0010a713 slti a4,ra,1 +80000124: 00000e93 li t4,0 +80000128: 00300193 li gp,3 +8000012c: 25d71863 bne a4,t4,8000037c + +80000130 : +80000130: 00300093 li ra,3 +80000134: 0070a713 slti a4,ra,7 +80000138: 00100e93 li t4,1 +8000013c: 00400193 li gp,4 +80000140: 23d71e63 bne a4,t4,8000037c + +80000144 : +80000144: 00700093 li ra,7 +80000148: 0030a713 slti a4,ra,3 +8000014c: 00000e93 li t4,0 +80000150: 00500193 li gp,5 +80000154: 23d71463 bne a4,t4,8000037c + +80000158 : +80000158: 00000093 li ra,0 +8000015c: 8000a713 slti a4,ra,-2048 +80000160: 00000e93 li t4,0 +80000164: 00600193 li gp,6 +80000168: 21d71a63 bne a4,t4,8000037c + +8000016c : +8000016c: 800000b7 lui ra,0x80000 +80000170: 0000a713 slti a4,ra,0 +80000174: 00100e93 li t4,1 +80000178: 00700193 li gp,7 +8000017c: 21d71063 bne a4,t4,8000037c + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: 8000a713 slti a4,ra,-2048 +80000188: 00100e93 li t4,1 +8000018c: 00800193 li gp,8 +80000190: 1fd71663 bne a4,t4,8000037c + +80000194 : +80000194: 00000093 li ra,0 +80000198: 7ff0a713 slti a4,ra,2047 +8000019c: 00100e93 li t4,1 +800001a0: 00900193 li gp,9 +800001a4: 1dd71c63 bne a4,t4,8000037c + +800001a8 : +800001a8: 800000b7 lui ra,0x80000 +800001ac: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001b0: 0000a713 slti a4,ra,0 +800001b4: 00000e93 li t4,0 +800001b8: 00a00193 li gp,10 +800001bc: 1dd71063 bne a4,t4,8000037c + +800001c0 : +800001c0: 800000b7 lui ra,0x80000 +800001c4: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001c8: 7ff0a713 slti a4,ra,2047 +800001cc: 00000e93 li t4,0 +800001d0: 00b00193 li gp,11 +800001d4: 1bd71463 bne a4,t4,8000037c + +800001d8 : +800001d8: 800000b7 lui ra,0x80000 +800001dc: 7ff0a713 slti a4,ra,2047 +800001e0: 00100e93 li t4,1 +800001e4: 00c00193 li gp,12 +800001e8: 19d71a63 bne a4,t4,8000037c + +800001ec : +800001ec: 800000b7 lui ra,0x80000 +800001f0: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001f4: 8000a713 slti a4,ra,-2048 +800001f8: 00000e93 li t4,0 +800001fc: 00d00193 li gp,13 +80000200: 17d71e63 bne a4,t4,8000037c + +80000204 : +80000204: 00000093 li ra,0 +80000208: fff0a713 slti a4,ra,-1 +8000020c: 00000e93 li t4,0 +80000210: 00e00193 li gp,14 +80000214: 17d71463 bne a4,t4,8000037c + +80000218 : +80000218: fff00093 li ra,-1 +8000021c: 0010a713 slti a4,ra,1 +80000220: 00100e93 li t4,1 +80000224: 00f00193 li gp,15 +80000228: 15d71a63 bne a4,t4,8000037c + +8000022c : +8000022c: fff00093 li ra,-1 +80000230: fff0a713 slti a4,ra,-1 +80000234: 00000e93 li t4,0 +80000238: 01000193 li gp,16 +8000023c: 15d71063 bne a4,t4,8000037c + +80000240 : +80000240: 00b00093 li ra,11 +80000244: 00d0a093 slti ra,ra,13 +80000248: 00100e93 li t4,1 +8000024c: 01100193 li gp,17 +80000250: 13d09663 bne ra,t4,8000037c + +80000254 : +80000254: 00000213 li tp,0 +80000258: 00f00093 li ra,15 +8000025c: 00a0a713 slti a4,ra,10 +80000260: 00070313 mv t1,a4 +80000264: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000268: 00200293 li t0,2 +8000026c: fe5216e3 bne tp,t0,80000258 +80000270: 00000e93 li t4,0 +80000274: 01200193 li gp,18 +80000278: 11d31263 bne t1,t4,8000037c + +8000027c : +8000027c: 00000213 li tp,0 +80000280: 00a00093 li ra,10 +80000284: 0100a713 slti a4,ra,16 +80000288: 00000013 nop +8000028c: 00070313 mv t1,a4 +80000290: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000294: 00200293 li t0,2 +80000298: fe5214e3 bne tp,t0,80000280 +8000029c: 00100e93 li t4,1 +800002a0: 01300193 li gp,19 +800002a4: 0dd31c63 bne t1,t4,8000037c + +800002a8 : +800002a8: 00000213 li tp,0 +800002ac: 01000093 li ra,16 +800002b0: 0090a713 slti a4,ra,9 +800002b4: 00000013 nop +800002b8: 00000013 nop +800002bc: 00070313 mv t1,a4 +800002c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c4: 00200293 li t0,2 +800002c8: fe5212e3 bne tp,t0,800002ac +800002cc: 00000e93 li t4,0 +800002d0: 01400193 li gp,20 +800002d4: 0bd31463 bne t1,t4,8000037c + +800002d8 : +800002d8: 00000213 li tp,0 +800002dc: 00b00093 li ra,11 +800002e0: 00f0a713 slti a4,ra,15 +800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e8: 00200293 li t0,2 +800002ec: fe5218e3 bne tp,t0,800002dc +800002f0: 00100e93 li t4,1 +800002f4: 01500193 li gp,21 +800002f8: 09d71263 bne a4,t4,8000037c + +800002fc : +800002fc: 00000213 li tp,0 +80000300: 01100093 li ra,17 +80000304: 00000013 nop +80000308: 0080a713 slti a4,ra,8 +8000030c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000310: 00200293 li t0,2 +80000314: fe5216e3 bne tp,t0,80000300 +80000318: 00000e93 li t4,0 +8000031c: 01600193 li gp,22 +80000320: 05d71e63 bne a4,t4,8000037c + +80000324 : +80000324: 00000213 li tp,0 +80000328: 00c00093 li ra,12 +8000032c: 00000013 nop +80000330: 00000013 nop +80000334: 00e0a713 slti a4,ra,14 +80000338: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000033c: 00200293 li t0,2 +80000340: fe5214e3 bne tp,t0,80000328 +80000344: 00100e93 li t4,1 +80000348: 01700193 li gp,23 +8000034c: 03d71863 bne a4,t4,8000037c + +80000350 : +80000350: fff02093 slti ra,zero,-1 +80000354: 00000e93 li t4,0 +80000358: 01800193 li gp,24 +8000035c: 03d09063 bne ra,t4,8000037c + +80000360 : +80000360: 00ff00b7 lui ra,0xff0 +80000364: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000368: fff0a013 slti zero,ra,-1 +8000036c: 00000e93 li t4,0 +80000370: 01900193 li gp,25 +80000374: 01d01463 bne zero,t4,8000037c +80000378: 02301063 bne zero,gp,80000398 + +8000037c : +8000037c: 0ff0000f fence +80000380: 00018063 beqz gp,80000380 +80000384: 00119193 slli gp,gp,0x1 +80000388: 0011e193 ori gp,gp,1 +8000038c: 05d00893 li a7,93 +80000390: 00018513 mv a0,gp +80000394: 00000073 ecall + +80000398 : +80000398: 0ff0000f fence +8000039c: 00100193 li gp,1 +800003a0: 05d00893 li a7,93 +800003a4: 00000513 li a0,0 +800003a8: 00000073 ecall +800003ac: c0001073 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/simX/riscv_tests/rv32ui-p-slti.hex b/simX/riscv_tests/rv32ui-p-slti.hex index 8f6fdbbf..cbd90222 100644 --- a/simX/riscv_tests/rv32ui-p-slti.hex +++ b/simX/riscv_tests/rv32ui-p-slti.hex @@ -2,64 +2,68 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093000000D8 -:1000C00093A10000930E0000130E20006392D1272D -:1000D0009300100093A11000930E0000130E300047 -:1000E0006398D1259300300093A17000930E100007 -:1000F000130E4000639ED1239300700093A1300043 -:10010000930E0000130E50006394D123930000005F -:1001100093A10080930E0000130E6000639AD1211A -:10012000B700008093A10000930E1000130E700022 -:100130006390D121B700008093A10080930E10003E -:10014000130E80006396D11F9300000093A1F07FEF -:10015000930E1000130E9000639CD11DB700008019 -:100160009380F0FF93A10000930E0000130EA000F7 -:100170006390D11DB70000809380F0FF93A1F07FC2 -:10018000930E0000130EB0006394D11BB7000080E3 -:1001900093A1F07F930E1000130EC000639AD11943 -:1001A000B70000809380F0FF93A10080930E0000C1 -:1001B000130ED000639ED1179300000093A1F0FFAF -:1001C000930E0000130EE0006394D1179300F0FF2C -:1001D00093A11000930E1000130EF000639AD11536 -:1001E0009300F0FF93A1F0FF930E0000130E0001A7 -:1001F0006390D1159300B00093A0D000930E10002F -:10020000130E10016396D013130200009300F00048 -:1002100093A1A00013830100130212009302200097 -:10022000E31652FE930E0000130E20016312D31149 -:10023000130200009300A00093A10001130000002E -:10024000138301001302120093022000E31452FEF4 -:10025000930E1000130E3001631CD30D1302000027 -:100260009300000193A19000130000001300000010 -:10027000138301001302120093022000E31252FEC6 -:10028000930E0000130E40016314D30B1302000001 -:100290009300B00093A1F00013021200930220001B -:1002A000E31852FE930E1000130E50016392D10911 -:1002B00013020000930010011300000093A18000BE -:1002C0001302120093022000E31652FE930E000068 -:1002D000130E6001639ED105130200009300C0005D -:1002E000130000001300000093A1E00013021200AD -:1002F00093022000E31452FE930E1000130E7001BF -:100300006398D1039320F0FF930E0000130E800139 -:100310006390D003B700FF009380F00F13A0F0FFAD -:10032000930E0000130E90016314D001631CC001F2 -:100330000F00F00F63000E00131E1E00136E1E0050 -:10034000730000000F00F00F130E10007300000088 -:10035000731000C00000000000000000000000005A -:10036000000000000000000000000000000000008D -:10037000000000000000000000000000000000007D -:040380000000000079 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309300000013A7000016 +:10011000930E0000930120006312D7279300100074 +:1001200013A71000930E0000930130006318D72529 +:100130009300300013A77000930E1000930140004D +:10014000631ED7239300700013A73000930E0000A6 +:10015000930150006314D7239300000013A700807D +:10016000930E000093016000631AD721B70000804E +:1001700013A70000930E1000930170006310D721A5 +:10018000B700008013A70080930E10009301800039 +:100190006316D71F9300000013A7F07F930E100083 +:1001A00093019000631CD71DB70000809380F0FF7F +:1001B00013A70000930E00009301A0006310D71D49 +:1001C000B70000809380F0FF13A7F07F930E00002C +:1001D0009301B0006314D71BB700008013A7F07F12 +:1001E000930E10009301C000631AD719B700008066 +:1001F0009380F0FF13A70080930E00009301D000BE +:10020000631ED7179300000013A7F0FF930E0000A2 +:100210009301E0006314D7179300F0FF13A71000B9 +:10022000930E10009301F000631AD7159300F0FFAE +:1002300013A7F0FF930E0000930100016310D71580 +:100240009300B00093A0D000930E10009301100112 +:100250006396D013130200009300F00013A7A000D0 +:10026000130307001302120093022000E31652FE4C +:10027000930E0000930120016312D31113020000BA +:100280009300A00013A70001130000001303070050 +:100290001302120093022000E31452FE930E10008A +:1002A00093013001631CD30D130200009300000181 +:1002B00013A79000130000001300000013030700B1 +:1002C0001302120093022000E31252FE930E00006C +:1002D000930140016314D30B130200009300B0009C +:1002E00013A7F0001302120093022000E31852FE3D +:1002F000930E1000930150016312D70913020000FE +:10030000930010011300000013A7800013021200D5 +:1003100093022000E31652FE930E00009301600149 +:10032000631ED705130200009300C00013000000F5 +:100330001300000013A7E000130212009302200034 +:10034000E31452FE930E1000930170016318D7035B +:100350009320F0FF930E0000930180016390D0037F +:10036000B700FF009380F00F13A0F0FF930E000082 +:10037000930190016314D001631030020F00F00F5D +:10038000638001009391110093E111009308D0055F +:1003900013850100730000000F00F00F930110009F +:1003A0009308D0051305000073000000731000C00F +:1003B000000000000000000000000000000000003D +:0403C0000000000039 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-sltiu.dump b/simX/riscv_tests/rv32ui-p-sltiu.dump new file mode 100644 index 00000000..20c5b338 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-sltiu.dump @@ -0,0 +1,313 @@ + +rv32ui-p-sltiu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00000093 li ra,0 +8000010c: 0000b713 sltiu a4,ra,0 +80000110: 00000e93 li t4,0 +80000114: 00200193 li gp,2 +80000118: 27d71263 bne a4,t4,8000037c + +8000011c : +8000011c: 00100093 li ra,1 +80000120: 0010b713 seqz a4,ra +80000124: 00000e93 li t4,0 +80000128: 00300193 li gp,3 +8000012c: 25d71863 bne a4,t4,8000037c + +80000130 : +80000130: 00300093 li ra,3 +80000134: 0070b713 sltiu a4,ra,7 +80000138: 00100e93 li t4,1 +8000013c: 00400193 li gp,4 +80000140: 23d71e63 bne a4,t4,8000037c + +80000144 : +80000144: 00700093 li ra,7 +80000148: 0030b713 sltiu a4,ra,3 +8000014c: 00000e93 li t4,0 +80000150: 00500193 li gp,5 +80000154: 23d71463 bne a4,t4,8000037c + +80000158 : +80000158: 00000093 li ra,0 +8000015c: 8000b713 sltiu a4,ra,-2048 +80000160: 00100e93 li t4,1 +80000164: 00600193 li gp,6 +80000168: 21d71a63 bne a4,t4,8000037c + +8000016c : +8000016c: 800000b7 lui ra,0x80000 +80000170: 0000b713 sltiu a4,ra,0 +80000174: 00000e93 li t4,0 +80000178: 00700193 li gp,7 +8000017c: 21d71063 bne a4,t4,8000037c + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: 8000b713 sltiu a4,ra,-2048 +80000188: 00100e93 li t4,1 +8000018c: 00800193 li gp,8 +80000190: 1fd71663 bne a4,t4,8000037c + +80000194 : +80000194: 00000093 li ra,0 +80000198: 7ff0b713 sltiu a4,ra,2047 +8000019c: 00100e93 li t4,1 +800001a0: 00900193 li gp,9 +800001a4: 1dd71c63 bne a4,t4,8000037c + +800001a8 : +800001a8: 800000b7 lui ra,0x80000 +800001ac: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001b0: 0000b713 sltiu a4,ra,0 +800001b4: 00000e93 li t4,0 +800001b8: 00a00193 li gp,10 +800001bc: 1dd71063 bne a4,t4,8000037c + +800001c0 : +800001c0: 800000b7 lui ra,0x80000 +800001c4: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001c8: 7ff0b713 sltiu a4,ra,2047 +800001cc: 00000e93 li t4,0 +800001d0: 00b00193 li gp,11 +800001d4: 1bd71463 bne a4,t4,8000037c + +800001d8 : +800001d8: 800000b7 lui ra,0x80000 +800001dc: 7ff0b713 sltiu a4,ra,2047 +800001e0: 00000e93 li t4,0 +800001e4: 00c00193 li gp,12 +800001e8: 19d71a63 bne a4,t4,8000037c + +800001ec : +800001ec: 800000b7 lui ra,0x80000 +800001f0: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001f4: 8000b713 sltiu a4,ra,-2048 +800001f8: 00100e93 li t4,1 +800001fc: 00d00193 li gp,13 +80000200: 17d71e63 bne a4,t4,8000037c + +80000204 : +80000204: 00000093 li ra,0 +80000208: fff0b713 sltiu a4,ra,-1 +8000020c: 00100e93 li t4,1 +80000210: 00e00193 li gp,14 +80000214: 17d71463 bne a4,t4,8000037c + +80000218 : +80000218: fff00093 li ra,-1 +8000021c: 0010b713 seqz a4,ra +80000220: 00000e93 li t4,0 +80000224: 00f00193 li gp,15 +80000228: 15d71a63 bne a4,t4,8000037c + +8000022c : +8000022c: fff00093 li ra,-1 +80000230: fff0b713 sltiu a4,ra,-1 +80000234: 00000e93 li t4,0 +80000238: 01000193 li gp,16 +8000023c: 15d71063 bne a4,t4,8000037c + +80000240 : +80000240: 00b00093 li ra,11 +80000244: 00d0b093 sltiu ra,ra,13 +80000248: 00100e93 li t4,1 +8000024c: 01100193 li gp,17 +80000250: 13d09663 bne ra,t4,8000037c + +80000254 : +80000254: 00000213 li tp,0 +80000258: 00f00093 li ra,15 +8000025c: 00a0b713 sltiu a4,ra,10 +80000260: 00070313 mv t1,a4 +80000264: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000268: 00200293 li t0,2 +8000026c: fe5216e3 bne tp,t0,80000258 +80000270: 00000e93 li t4,0 +80000274: 01200193 li gp,18 +80000278: 11d31263 bne t1,t4,8000037c + +8000027c : +8000027c: 00000213 li tp,0 +80000280: 00a00093 li ra,10 +80000284: 0100b713 sltiu a4,ra,16 +80000288: 00000013 nop +8000028c: 00070313 mv t1,a4 +80000290: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000294: 00200293 li t0,2 +80000298: fe5214e3 bne tp,t0,80000280 +8000029c: 00100e93 li t4,1 +800002a0: 01300193 li gp,19 +800002a4: 0dd31c63 bne t1,t4,8000037c + +800002a8 : +800002a8: 00000213 li tp,0 +800002ac: 01000093 li ra,16 +800002b0: 0090b713 sltiu a4,ra,9 +800002b4: 00000013 nop +800002b8: 00000013 nop +800002bc: 00070313 mv t1,a4 +800002c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c4: 00200293 li t0,2 +800002c8: fe5212e3 bne tp,t0,800002ac +800002cc: 00000e93 li t4,0 +800002d0: 01400193 li gp,20 +800002d4: 0bd31463 bne t1,t4,8000037c + +800002d8 : +800002d8: 00000213 li tp,0 +800002dc: 00b00093 li ra,11 +800002e0: 00f0b713 sltiu a4,ra,15 +800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e8: 00200293 li t0,2 +800002ec: fe5218e3 bne tp,t0,800002dc +800002f0: 00100e93 li t4,1 +800002f4: 01500193 li gp,21 +800002f8: 09d71263 bne a4,t4,8000037c + +800002fc : +800002fc: 00000213 li tp,0 +80000300: 01100093 li ra,17 +80000304: 00000013 nop +80000308: 0080b713 sltiu a4,ra,8 +8000030c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000310: 00200293 li t0,2 +80000314: fe5216e3 bne tp,t0,80000300 +80000318: 00000e93 li t4,0 +8000031c: 01600193 li gp,22 +80000320: 05d71e63 bne a4,t4,8000037c + +80000324 : +80000324: 00000213 li tp,0 +80000328: 00c00093 li ra,12 +8000032c: 00000013 nop +80000330: 00000013 nop +80000334: 00e0b713 sltiu a4,ra,14 +80000338: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000033c: 00200293 li t0,2 +80000340: fe5214e3 bne tp,t0,80000328 +80000344: 00100e93 li t4,1 +80000348: 01700193 li gp,23 +8000034c: 03d71863 bne a4,t4,8000037c + +80000350 : +80000350: fff03093 sltiu ra,zero,-1 +80000354: 00100e93 li t4,1 +80000358: 01800193 li gp,24 +8000035c: 03d09063 bne ra,t4,8000037c + +80000360 : +80000360: 00ff00b7 lui ra,0xff0 +80000364: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000368: fff0b013 sltiu zero,ra,-1 +8000036c: 00000e93 li t4,0 +80000370: 01900193 li gp,25 +80000374: 01d01463 bne zero,t4,8000037c +80000378: 02301063 bne zero,gp,80000398 + +8000037c : +8000037c: 0ff0000f fence +80000380: 00018063 beqz gp,80000380 +80000384: 00119193 slli gp,gp,0x1 +80000388: 0011e193 ori gp,gp,1 +8000038c: 05d00893 li a7,93 +80000390: 00018513 mv a0,gp +80000394: 00000073 ecall + +80000398 : +80000398: 0ff0000f fence +8000039c: 00100193 li gp,1 +800003a0: 05d00893 li a7,93 +800003a4: 00000513 li a0,0 +800003a8: 00000073 ecall +800003ac: c0001073 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/simX/riscv_tests/rv32ui-p-sltiu.hex b/simX/riscv_tests/rv32ui-p-sltiu.hex index 7d9a537d..1e88f1bd 100644 --- a/simX/riscv_tests/rv32ui-p-sltiu.hex +++ b/simX/riscv_tests/rv32ui-p-sltiu.hex @@ -2,64 +2,68 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093000000D8 -:1000C00093B10000930E0000130E20006392D1271D -:1000D0009300100093B11000930E0000130E300037 -:1000E0006398D1259300300093B17000930E1000F7 -:1000F000130E4000639ED1239300700093B1300033 -:10010000930E0000130E50006394D123930000005F -:1001100093B10080930E1000130E6000639AD121FA -:10012000B700008093B10000930E0000130E700022 -:100130006390D121B700008093B10080930E10002E -:10014000130E80006396D11F9300000093B1F07FDF -:10015000930E1000130E9000639CD11DB700008019 -:100160009380F0FF93B10000930E0000130EA000E7 -:100170006390D11DB70000809380F0FF93B1F07FB2 -:10018000930E0000130EB0006394D11BB7000080E3 -:1001900093B1F07F930E0000130EC000639AD11943 -:1001A000B70000809380F0FF93B10080930E1000A1 -:1001B000130ED000639ED1179300000093B1F0FF9F -:1001C000930E1000130EE0006394D1179300F0FF1C -:1001D00093B11000930E0000130EF000639AD11536 -:1001E0009300F0FF93B1F0FF930E0000130E000197 -:1001F0006390D1159300B00093B0D000930E10001F -:10020000130E10016396D013130200009300F00048 -:1002100093B1A00013830100130212009302200087 -:10022000E31652FE930E0000130E20016312D31149 -:10023000130200009300A00093B10001130000001E -:10024000138301001302120093022000E31452FEF4 -:10025000930E1000130E3001631CD30D1302000027 -:100260009300000193B19000130000001300000000 -:10027000138301001302120093022000E31252FEC6 -:10028000930E0000130E40016314D30B1302000001 -:100290009300B00093B1F00013021200930220000B -:1002A000E31852FE930E1000130E50016392D10911 -:1002B00013020000930010011300000093B18000AE -:1002C0001302120093022000E31652FE930E000068 -:1002D000130E6001639ED105130200009300C0005D -:1002E000130000001300000093B1E000130212009D -:1002F00093022000E31452FE930E1000130E7001BF -:100300006398D1039330F0FF930E1000130E800119 -:100310006390D003B700FF009380F00F13B0F0FF9D -:10032000930E0000130E90016314D001631CC001F2 -:100330000F00F00F63000E00131E1E00136E1E0050 -:10034000730000000F00F00F130E10007300000088 -:10035000731000C00000000000000000000000005A -:10036000000000000000000000000000000000008D -:10037000000000000000000000000000000000007D -:040380000000000079 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309300000013B7000006 +:10011000930E0000930120006312D7279300100074 +:1001200013B71000930E0000930130006318D72519 +:100130009300300013B77000930E1000930140003D +:10014000631ED7239300700013B73000930E000096 +:10015000930150006314D7239300000013B700806D +:10016000930E100093016000631AD721B70000803E +:1001700013B70000930E0000930170006310D721A5 +:10018000B700008013B70080930E10009301800029 +:100190006316D71F9300000013B7F07F930E100073 +:1001A00093019000631CD71DB70000809380F0FF7F +:1001B00013B70000930E00009301A0006310D71D39 +:1001C000B70000809380F0FF13B7F07F930E00001C +:1001D0009301B0006314D71BB700008013B7F07F02 +:1001E000930E00009301C000631AD719B700008076 +:1001F0009380F0FF13B70080930E10009301D0009E +:10020000631ED7179300000013B7F0FF930E100082 +:100210009301E0006314D7179300F0FF13B71000A9 +:10022000930E00009301F000631AD7159300F0FFBE +:1002300013B7F0FF930E0000930100016310D71570 +:100240009300B00093B0D000930E10009301100102 +:100250006396D013130200009300F00013B7A000C0 +:10026000130307001302120093022000E31652FE4C +:10027000930E0000930120016312D31113020000BA +:100280009300A00013B70001130000001303070040 +:100290001302120093022000E31452FE930E10008A +:1002A00093013001631CD30D130200009300000181 +:1002B00013B79000130000001300000013030700A1 +:1002C0001302120093022000E31252FE930E00006C +:1002D000930140016314D30B130200009300B0009C +:1002E00013B7F0001302120093022000E31852FE2D +:1002F000930E1000930150016312D70913020000FE +:10030000930010011300000013B7800013021200C5 +:1003100093022000E31652FE930E00009301600149 +:10032000631ED705130200009300C00013000000F5 +:100330001300000013B7E000130212009302200024 +:10034000E31452FE930E1000930170016318D7035B +:100350009330F0FF930E1000930180016390D0035F +:10036000B700FF009380F00F13B0F0FF930E000072 +:10037000930190016314D001631030020F00F00F5D +:10038000638001009391110093E111009308D0055F +:1003900013850100730000000F00F00F930110009F +:1003A0009308D0051305000073000000731000C00F +:1003B000000000000000000000000000000000003D +:0403C0000000000039 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-sltu.dump b/simX/riscv_tests/rv32ui-p-sltu.dump new file mode 100644 index 00000000..a9852fa2 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-sltu.dump @@ -0,0 +1,478 @@ + +rv32ui-p-sltu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00000093 li ra,0 +8000010c: 00000113 li sp,0 +80000110: 0020b733 sltu a4,ra,sp +80000114: 00000e93 li t4,0 +80000118: 00200193 li gp,2 +8000011c: 4bd71a63 bne a4,t4,800005d0 + +80000120 : +80000120: 00100093 li ra,1 +80000124: 00100113 li sp,1 +80000128: 0020b733 sltu a4,ra,sp +8000012c: 00000e93 li t4,0 +80000130: 00300193 li gp,3 +80000134: 49d71e63 bne a4,t4,800005d0 + +80000138 : +80000138: 00300093 li ra,3 +8000013c: 00700113 li sp,7 +80000140: 0020b733 sltu a4,ra,sp +80000144: 00100e93 li t4,1 +80000148: 00400193 li gp,4 +8000014c: 49d71263 bne a4,t4,800005d0 + +80000150 : +80000150: 00700093 li ra,7 +80000154: 00300113 li sp,3 +80000158: 0020b733 sltu a4,ra,sp +8000015c: 00000e93 li t4,0 +80000160: 00500193 li gp,5 +80000164: 47d71663 bne a4,t4,800005d0 + +80000168 : +80000168: 00000093 li ra,0 +8000016c: ffff8137 lui sp,0xffff8 +80000170: 0020b733 sltu a4,ra,sp +80000174: 00100e93 li t4,1 +80000178: 00600193 li gp,6 +8000017c: 45d71a63 bne a4,t4,800005d0 + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: 00000113 li sp,0 +80000188: 0020b733 sltu a4,ra,sp +8000018c: 00000e93 li t4,0 +80000190: 00700193 li gp,7 +80000194: 43d71e63 bne a4,t4,800005d0 + +80000198 : +80000198: 800000b7 lui ra,0x80000 +8000019c: ffff8137 lui sp,0xffff8 +800001a0: 0020b733 sltu a4,ra,sp +800001a4: 00100e93 li t4,1 +800001a8: 00800193 li gp,8 +800001ac: 43d71263 bne a4,t4,800005d0 + +800001b0 : +800001b0: 00000093 li ra,0 +800001b4: 00008137 lui sp,0x8 +800001b8: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001bc: 0020b733 sltu a4,ra,sp +800001c0: 00100e93 li t4,1 +800001c4: 00900193 li gp,9 +800001c8: 41d71463 bne a4,t4,800005d0 + +800001cc : +800001cc: 800000b7 lui ra,0x80000 +800001d0: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001d4: 00000113 li sp,0 +800001d8: 0020b733 sltu a4,ra,sp +800001dc: 00000e93 li t4,0 +800001e0: 00a00193 li gp,10 +800001e4: 3fd71663 bne a4,t4,800005d0 + +800001e8 : +800001e8: 800000b7 lui ra,0x80000 +800001ec: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001f0: 00008137 lui sp,0x8 +800001f4: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001f8: 0020b733 sltu a4,ra,sp +800001fc: 00000e93 li t4,0 +80000200: 00b00193 li gp,11 +80000204: 3dd71663 bne a4,t4,800005d0 + +80000208 : +80000208: 800000b7 lui ra,0x80000 +8000020c: 00008137 lui sp,0x8 +80000210: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +80000214: 0020b733 sltu a4,ra,sp +80000218: 00000e93 li t4,0 +8000021c: 00c00193 li gp,12 +80000220: 3bd71863 bne a4,t4,800005d0 + +80000224 : +80000224: 800000b7 lui ra,0x80000 +80000228: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +8000022c: ffff8137 lui sp,0xffff8 +80000230: 0020b733 sltu a4,ra,sp +80000234: 00100e93 li t4,1 +80000238: 00d00193 li gp,13 +8000023c: 39d71a63 bne a4,t4,800005d0 + +80000240 : +80000240: 00000093 li ra,0 +80000244: fff00113 li sp,-1 +80000248: 0020b733 sltu a4,ra,sp +8000024c: 00100e93 li t4,1 +80000250: 00e00193 li gp,14 +80000254: 37d71e63 bne a4,t4,800005d0 + +80000258 : +80000258: fff00093 li ra,-1 +8000025c: 00100113 li sp,1 +80000260: 0020b733 sltu a4,ra,sp +80000264: 00000e93 li t4,0 +80000268: 00f00193 li gp,15 +8000026c: 37d71263 bne a4,t4,800005d0 + +80000270 : +80000270: fff00093 li ra,-1 +80000274: fff00113 li sp,-1 +80000278: 0020b733 sltu a4,ra,sp +8000027c: 00000e93 li t4,0 +80000280: 01000193 li gp,16 +80000284: 35d71663 bne a4,t4,800005d0 + +80000288 : +80000288: 00e00093 li ra,14 +8000028c: 00d00113 li sp,13 +80000290: 0020b0b3 sltu ra,ra,sp +80000294: 00000e93 li t4,0 +80000298: 01100193 li gp,17 +8000029c: 33d09a63 bne ra,t4,800005d0 + +800002a0 : +800002a0: 00b00093 li ra,11 +800002a4: 00d00113 li sp,13 +800002a8: 0020b133 sltu sp,ra,sp +800002ac: 00100e93 li t4,1 +800002b0: 01200193 li gp,18 +800002b4: 31d11e63 bne sp,t4,800005d0 + +800002b8 : +800002b8: 00d00093 li ra,13 +800002bc: 0010b0b3 sltu ra,ra,ra +800002c0: 00000e93 li t4,0 +800002c4: 01300193 li gp,19 +800002c8: 31d09463 bne ra,t4,800005d0 + +800002cc : +800002cc: 00000213 li tp,0 +800002d0: 00b00093 li ra,11 +800002d4: 00d00113 li sp,13 +800002d8: 0020b733 sltu a4,ra,sp +800002dc: 00070313 mv t1,a4 +800002e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e4: 00200293 li t0,2 +800002e8: fe5214e3 bne tp,t0,800002d0 +800002ec: 00100e93 li t4,1 +800002f0: 01400193 li gp,20 +800002f4: 2dd31e63 bne t1,t4,800005d0 + +800002f8 : +800002f8: 00000213 li tp,0 +800002fc: 00e00093 li ra,14 +80000300: 00d00113 li sp,13 +80000304: 0020b733 sltu a4,ra,sp +80000308: 00000013 nop +8000030c: 00070313 mv t1,a4 +80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000314: 00200293 li t0,2 +80000318: fe5212e3 bne tp,t0,800002fc +8000031c: 00000e93 li t4,0 +80000320: 01500193 li gp,21 +80000324: 2bd31663 bne t1,t4,800005d0 + +80000328 : +80000328: 00000213 li tp,0 +8000032c: 00c00093 li ra,12 +80000330: 00d00113 li sp,13 +80000334: 0020b733 sltu a4,ra,sp +80000338: 00000013 nop +8000033c: 00000013 nop +80000340: 00070313 mv t1,a4 +80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000348: 00200293 li t0,2 +8000034c: fe5210e3 bne tp,t0,8000032c +80000350: 00100e93 li t4,1 +80000354: 01600193 li gp,22 +80000358: 27d31c63 bne t1,t4,800005d0 + +8000035c : +8000035c: 00000213 li tp,0 +80000360: 00e00093 li ra,14 +80000364: 00d00113 li sp,13 +80000368: 0020b733 sltu a4,ra,sp +8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000370: 00200293 li t0,2 +80000374: fe5216e3 bne tp,t0,80000360 +80000378: 00000e93 li t4,0 +8000037c: 01700193 li gp,23 +80000380: 25d71863 bne a4,t4,800005d0 + +80000384 : +80000384: 00000213 li tp,0 +80000388: 00b00093 li ra,11 +8000038c: 00d00113 li sp,13 +80000390: 00000013 nop +80000394: 0020b733 sltu a4,ra,sp +80000398: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000039c: 00200293 li t0,2 +800003a0: fe5214e3 bne tp,t0,80000388 +800003a4: 00100e93 li t4,1 +800003a8: 01800193 li gp,24 +800003ac: 23d71263 bne a4,t4,800005d0 + +800003b0 : +800003b0: 00000213 li tp,0 +800003b4: 00f00093 li ra,15 +800003b8: 00d00113 li sp,13 +800003bc: 00000013 nop +800003c0: 00000013 nop +800003c4: 0020b733 sltu a4,ra,sp +800003c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003cc: 00200293 li t0,2 +800003d0: fe5212e3 bne tp,t0,800003b4 +800003d4: 00000e93 li t4,0 +800003d8: 01900193 li gp,25 +800003dc: 1fd71a63 bne a4,t4,800005d0 + +800003e0 : +800003e0: 00000213 li tp,0 +800003e4: 00a00093 li ra,10 +800003e8: 00000013 nop +800003ec: 00d00113 li sp,13 +800003f0: 0020b733 sltu a4,ra,sp +800003f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f8: 00200293 li t0,2 +800003fc: fe5214e3 bne tp,t0,800003e4 +80000400: 00100e93 li t4,1 +80000404: 01a00193 li gp,26 +80000408: 1dd71463 bne a4,t4,800005d0 + +8000040c : +8000040c: 00000213 li tp,0 +80000410: 01000093 li ra,16 +80000414: 00000013 nop +80000418: 00d00113 li sp,13 +8000041c: 00000013 nop +80000420: 0020b733 sltu a4,ra,sp +80000424: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000428: 00200293 li t0,2 +8000042c: fe5212e3 bne tp,t0,80000410 +80000430: 00000e93 li t4,0 +80000434: 01b00193 li gp,27 +80000438: 19d71c63 bne a4,t4,800005d0 + +8000043c : +8000043c: 00000213 li tp,0 +80000440: 00900093 li ra,9 +80000444: 00000013 nop +80000448: 00000013 nop +8000044c: 00d00113 li sp,13 +80000450: 0020b733 sltu a4,ra,sp +80000454: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000458: 00200293 li t0,2 +8000045c: fe5212e3 bne tp,t0,80000440 +80000460: 00100e93 li t4,1 +80000464: 01c00193 li gp,28 +80000468: 17d71463 bne a4,t4,800005d0 + +8000046c : +8000046c: 00000213 li tp,0 +80000470: 00d00113 li sp,13 +80000474: 01100093 li ra,17 +80000478: 0020b733 sltu a4,ra,sp +8000047c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000480: 00200293 li t0,2 +80000484: fe5216e3 bne tp,t0,80000470 +80000488: 00000e93 li t4,0 +8000048c: 01d00193 li gp,29 +80000490: 15d71063 bne a4,t4,800005d0 + +80000494 : +80000494: 00000213 li tp,0 +80000498: 00d00113 li sp,13 +8000049c: 00800093 li ra,8 +800004a0: 00000013 nop +800004a4: 0020b733 sltu a4,ra,sp +800004a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ac: 00200293 li t0,2 +800004b0: fe5214e3 bne tp,t0,80000498 +800004b4: 00100e93 li t4,1 +800004b8: 01e00193 li gp,30 +800004bc: 11d71a63 bne a4,t4,800005d0 + +800004c0 : +800004c0: 00000213 li tp,0 +800004c4: 00d00113 li sp,13 +800004c8: 01200093 li ra,18 +800004cc: 00000013 nop +800004d0: 00000013 nop +800004d4: 0020b733 sltu a4,ra,sp +800004d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004dc: 00200293 li t0,2 +800004e0: fe5212e3 bne tp,t0,800004c4 +800004e4: 00000e93 li t4,0 +800004e8: 01f00193 li gp,31 +800004ec: 0fd71263 bne a4,t4,800005d0 + +800004f0 : +800004f0: 00000213 li tp,0 +800004f4: 00d00113 li sp,13 +800004f8: 00000013 nop +800004fc: 00700093 li ra,7 +80000500: 0020b733 sltu a4,ra,sp +80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000508: 00200293 li t0,2 +8000050c: fe5214e3 bne tp,t0,800004f4 +80000510: 00100e93 li t4,1 +80000514: 02000193 li gp,32 +80000518: 0bd71c63 bne a4,t4,800005d0 + +8000051c : +8000051c: 00000213 li tp,0 +80000520: 00d00113 li sp,13 +80000524: 00000013 nop +80000528: 01300093 li ra,19 +8000052c: 00000013 nop +80000530: 0020b733 sltu a4,ra,sp +80000534: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000538: 00200293 li t0,2 +8000053c: fe5212e3 bne tp,t0,80000520 +80000540: 00000e93 li t4,0 +80000544: 02100193 li gp,33 +80000548: 09d71463 bne a4,t4,800005d0 + +8000054c : +8000054c: 00000213 li tp,0 +80000550: 00d00113 li sp,13 +80000554: 00000013 nop +80000558: 00000013 nop +8000055c: 00600093 li ra,6 +80000560: 0020b733 sltu a4,ra,sp +80000564: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000568: 00200293 li t0,2 +8000056c: fe5212e3 bne tp,t0,80000550 +80000570: 00100e93 li t4,1 +80000574: 02200193 li gp,34 +80000578: 05d71c63 bne a4,t4,800005d0 + +8000057c : +8000057c: fff00093 li ra,-1 +80000580: 00103133 snez sp,ra +80000584: 00100e93 li t4,1 +80000588: 02300193 li gp,35 +8000058c: 05d11263 bne sp,t4,800005d0 + +80000590 : +80000590: fff00093 li ra,-1 +80000594: 0000b133 sltu sp,ra,zero +80000598: 00000e93 li t4,0 +8000059c: 02400193 li gp,36 +800005a0: 03d11863 bne sp,t4,800005d0 + +800005a4 : +800005a4: 000030b3 snez ra,zero +800005a8: 00000e93 li t4,0 +800005ac: 02500193 li gp,37 +800005b0: 03d09063 bne ra,t4,800005d0 + +800005b4 : +800005b4: 01000093 li ra,16 +800005b8: 01e00113 li sp,30 +800005bc: 0020b033 sltu zero,ra,sp +800005c0: 00000e93 li t4,0 +800005c4: 02600193 li gp,38 +800005c8: 01d01463 bne zero,t4,800005d0 +800005cc: 02301063 bne zero,gp,800005ec + +800005d0 : +800005d0: 0ff0000f fence +800005d4: 00018063 beqz gp,800005d4 +800005d8: 00119193 slli gp,gp,0x1 +800005dc: 0011e193 ori gp,gp,1 +800005e0: 05d00893 li a7,93 +800005e4: 00018513 mv a0,gp +800005e8: 00000073 ecall + +800005ec : +800005ec: 0ff0000f fence +800005f0: 00100193 li gp,1 +800005f4: 05d00893 li a7,93 +800005f8: 00000513 li a0,0 +800005fc: 00000073 ecall +80000600: c0001073 unimp diff --git a/simX/riscv_tests/rv32ui-p-sltu.hex b/simX/riscv_tests/rv32ui-p-sltu.hex index a94616d4..6598e6d2 100644 --- a/simX/riscv_tests/rv32ui-p-sltu.hex +++ b/simX/riscv_tests/rv32ui-p-sltu.hex @@ -2,100 +2,104 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093000000D8 -:1000C00013010000B3B12000930E0000130E2000B6 -:1000D000639AD14B9300100013011000B3B12000BC -:1000E000930E0000130E3000639ED1499300300040 -:1000F00013017000B3B12000930E1000130E4000E6 -:100100006392D1499300700013013000B3B1200015 -:10011000930E0000130E50006396D1479300000029 -:100120003781FFFFB3B12000930E1000130E600063 -:10013000639AD145B700008013010000B3B12000DD -:10014000930E0000130E7000639ED143B700008031 -:100150003781FFFFB3B12000930E1000130E800013 -:100160006392D14393000000378100001301F1FF37 -:10017000B3B12000930E1000130E90006394D14190 -:10018000B70000809380F0FF13010000B3B120009E -:10019000930E0000130EA0006396D13FB7000080BD -:1001A0009380F0FF378100001301F1FFB3B120000D -:1001B000930E0000130EB0006396D13DB70000808F -:1001C000378100001301F1FFB3B12000930E00004E -:1001D000130EC0006398D13BB70000809380F0FFFE -:1001E0003781FFFFB3B12000930E1000130ED00033 -:1001F000639AD139930000001301F0FFB3B12000DE -:10020000930E1000130EE000639ED1379300F0FFB1 -:1002100013011000B3B12000930E0000130EF00084 -:100220006392D1379300F0FF1301F0FFB3B12000C8 -:10023000930E0000130E00016396D1359300E00089 -:100240001301D000B3B02000930E0000130E100174 -:10025000639AD0339300B0001301D00033B1200073 -:10026000930E1000130E2001631ED1319300D000B5 -:10027000B3B01000930E0000130E30016394D03120 -:10028000130200009300B0001301D000B3B12000AE -:10029000138301001302120093022000E31452FEA4 -:1002A000930E1000130E4001631ED32D13020000A5 -:1002B0009300E0001301D000B3B120001300000050 -:1002C000138301001302120093022000E31252FE76 -:1002D000930E0000130E50016316D32B130200007F -:1002E0009300C0001301D000B3B120001300000040 -:1002F0001300000013830100130212009302200078 -:10030000E31052FE930E1000130E6001631CD327FE -:10031000130200009300E0001301D000B3B12000ED -:100320001302120093022000E31652FE930E000007 -:10033000130E70016398D125130200009300B000E2 -:100340001301D00013000000B3B12000130212000B -:1003500093022000E31452FE930E1000130E80014E -:100360006392D123130200009300F0001301D00028 -:100370001300000013000000B3B1200013021200AC -:1003800093022000E31252FE930E0000130E900120 -:10039000639AD11F130200009300A0001300000015 -:1003A0001301D000B3B12000130212009302200009 -:1003B000E31452FE930E1000130EA0016394D11D9E -:1003C0001302000093000001130000001301D0008D -:1003D00013000000B3B120001302120093022000AA -:1003E000E31252FE930E0000130EB001639CD1196C -:1003F000130200009300900013000000130000009F -:100400001301D000B3B120001302120093022000A8 -:10041000E31252FE930E1000130EC0016394D11725 -:10042000130200001301D00093001001B3B12000AB -:100430001302120093022000E31652FE930E0000F6 -:10044000130ED0016390D115130200001301D000E8 -:100450009300800013000000B3B1200013021200CB -:1004600093022000E31452FE930E1000130EE001DD -:10047000639AD111130200001301D00093002001F0 -:100480001300000013000000B3B12000130212009B -:1004900093022000E31252FE930E0000130EF001AF -:1004A0006392D10F130200001301D000130000006B -:1004B00093007000B3B120001302120093022000D9 -:1004C000E31452FE930E1000130E0002639CD10B36 -:1004D000130200001301D00013000000930030014C -:1004E00013000000B3B12000130212009302200099 -:1004F000E31252FE930E0000130E10026394D10912 -:10050000130200001301D0001300000013000000CC -:1005100093006000B3B12000130212009302200088 -:10052000E31252FE930E1000130E2002639CD105BD -:100530009300F0FF33311000930E1000130E3002C1 -:100540006312D1059300F0FF33B10000930E000059 -:10055000130E40026318D103B3300000930E000065 -:10056000130E50026390D003930000011301E001C9 -:1005700033B02000930E0000130E60026314D0010C -:10058000631CC0010F00F00F63000E00131E1E005D -:10059000136E1E00730000000F00F00F130E10000A -:1005A00073000000731000C0000000000000000095 -:1005B000000000000000000000000000000000003B -:0405C0000000000037 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309300000013010000BC +:1001100033B72000930E000093012000631AD74BE1 +:10012000930010001301100033B72000930E00005D +:1001300093013000631ED749930030001301700013 +:1001400033B72000930E1000930140006312D7498B +:10015000930070001301300033B72000930E0000AD +:10016000930150006316D747930000003781FFFFCB +:1001700033B72000930E100093016000631AD74537 +:10018000B70000801301000033B72000930E000079 +:1001900093017000631ED743B70000803781FFFFD3 +:1001A00033B72000930E1000930180006312D743F1 +:1001B00093000000378100001301F1FF33B72000E6 +:1001C000930E1000930190006314D741B700008094 +:1001D0009380F0FF1301000033B72000930E00005E +:1001E0009301A0006316D73FB70000809380F0FF13 +:1001F000378100001301F1FF33B72000930E000098 +:100200009301B0006316D73DB7000080378100002E +:100210001301F1FF33B72000930E00009301C000DB +:100220006318D73BB70000809380F0FF3781FFFF52 +:1002300033B72000930E10009301D000631AD73912 +:10024000930000001301F0FF33B72000930E10005D +:100250009301E000631ED7379300F0FF13011000F5 +:1002600033B72000930E00009301F0006312D737DC +:100270009300F0FF1301F0FF33B72000930E00004E +:10028000930100016316D7359300E0001301D000FD +:10029000B3B02000930E000093011001639AD03395 +:1002A0009300B0001301D00033B12000930E100072 +:1002B00093012001631ED1319300D000B3B0100030 +:1002C000930E0000930130016394D03113020000BB +:1002D0009300B0001301D00033B7200013030700D0 +:1002E0001302120093022000E31452FE930E10003A +:1002F00093014001631ED32D130200009300E00020 +:100300001301D00033B720001300000013030700CF +:100310001302120093022000E31252FE930E00001B +:10032000930150016316D32B130200009300C00009 +:100330001301D00033B720001300000013000000A9 +:10034000130307001302120093022000E31052FE71 +:10035000930E100093016001631CD3271302000069 +:100360009300E0001301D00033B720001302120005 +:1003700093022000E31652FE930E000093017001D9 +:100380006318D725130200009300B0001301D000BA +:100390001300000033B72000130212009302200064 +:1003A000E31452FE930E1000930180016312D723D1 +:1003B000130200009300F0001301D00013000000AE +:1003C0001300000033B72000130212009302200034 +:1003D000E31252FE930E000093019001631AD71F9F +:1003E000130200009300A000130000001301D000CE +:1003F00033B720001302120093022000E31452FED0 +:10040000930E10009301A0016314D71D1302000086 +:1004100093000001130000001301D000130000003E +:1004200033B720001302120093022000E31252FEA1 +:10043000930E00009301B001631CD7191302000052 +:100440009300900013000000130000001301D0007F +:1004500033B720001302120093022000E31252FE71 +:10046000930E10009301C0016314D717130200000C +:100470001301D0009300100133B7200013021200C3 +:1004800093022000E31652FE930E00009301D00168 +:100490006310D715130200001301D00093008000F1 +:1004A0001300000033B72000130212009302200053 +:1004B000E31452FE930E10009301E001631AD7116A +:1004C000130200001301D00093002001130000006C +:1004D0001300000033B72000130212009302200023 +:1004E000E31252FE930E00009301F0016312D70F46 +:1004F000130200001301D0001300000093007000ED +:1005000033B720001302120093022000E31452FEBE +:10051000930E100093010002631CD70B130200001E +:100520001301D000130000009300300113000000FD +:1005300033B720001302120093022000E31252FE90 +:10054000930E0000930110026314D70913020000F8 +:100550001301D0001300000013000000930060009E +:1005600033B720001302120093022000E31252FE60 +:10057000930E100093012002631CD7059300F0FF37 +:1005800033311000930E1000930130026312D10535 +:100590009300F0FF33B10000930E0000930140027E +:1005A0006318D103B3300000930E00009301500292 +:1005B0006390D003930000011301E00133B02000E9 +:1005C000930E0000930160026314D00163103002A7 +:1005D0000F00F00F638001009391110093E111006F +:1005E0009308D00513850100730000000F00F00F81 +:1005F000930110009308D00513050000730000005C +:04060000731000C0B3 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-sra.dump b/simX/riscv_tests/rv32ui-p-sra.dump new file mode 100644 index 00000000..3654a09d --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-sra.dump @@ -0,0 +1,563 @@ + +rv32ui-p-sra: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 800000b7 lui ra,0x80000 +8000010c: 00000113 li sp,0 +80000110: 4020d733 sra a4,ra,sp +80000114: 80000eb7 lui t4,0x80000 +80000118: 00200193 li gp,2 +8000011c: 59d71463 bne a4,t4,800006a4 + +80000120 : +80000120: 800000b7 lui ra,0x80000 +80000124: 00100113 li sp,1 +80000128: 4020d733 sra a4,ra,sp +8000012c: c0000eb7 lui t4,0xc0000 +80000130: 00300193 li gp,3 +80000134: 57d71863 bne a4,t4,800006a4 + +80000138 : +80000138: 800000b7 lui ra,0x80000 +8000013c: 00700113 li sp,7 +80000140: 4020d733 sra a4,ra,sp +80000144: ff000eb7 lui t4,0xff000 +80000148: 00400193 li gp,4 +8000014c: 55d71c63 bne a4,t4,800006a4 + +80000150 : +80000150: 800000b7 lui ra,0x80000 +80000154: 00e00113 li sp,14 +80000158: 4020d733 sra a4,ra,sp +8000015c: fffe0eb7 lui t4,0xfffe0 +80000160: 00500193 li gp,5 +80000164: 55d71063 bne a4,t4,800006a4 + +80000168 : +80000168: 800000b7 lui ra,0x80000 +8000016c: 00108093 addi ra,ra,1 # 80000001 <_end+0xffffe001> +80000170: 01f00113 li sp,31 +80000174: 4020d733 sra a4,ra,sp +80000178: fff00e93 li t4,-1 +8000017c: 00600193 li gp,6 +80000180: 53d71263 bne a4,t4,800006a4 + +80000184 : +80000184: 800000b7 lui ra,0x80000 +80000188: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +8000018c: 00000113 li sp,0 +80000190: 4020d733 sra a4,ra,sp +80000194: 80000eb7 lui t4,0x80000 +80000198: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdfff> +8000019c: 00700193 li gp,7 +800001a0: 51d71263 bne a4,t4,800006a4 + +800001a4 : +800001a4: 800000b7 lui ra,0x80000 +800001a8: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001ac: 00100113 li sp,1 +800001b0: 4020d733 sra a4,ra,sp +800001b4: 40000eb7 lui t4,0x40000 +800001b8: fffe8e93 addi t4,t4,-1 # 3fffffff <_start-0x40000001> +800001bc: 00800193 li gp,8 +800001c0: 4fd71263 bne a4,t4,800006a4 + +800001c4 : +800001c4: 800000b7 lui ra,0x80000 +800001c8: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001cc: 00700113 li sp,7 +800001d0: 4020d733 sra a4,ra,sp +800001d4: 01000eb7 lui t4,0x1000 +800001d8: fffe8e93 addi t4,t4,-1 # ffffff <_start-0x7f000001> +800001dc: 00900193 li gp,9 +800001e0: 4dd71263 bne a4,t4,800006a4 + +800001e4 : +800001e4: 800000b7 lui ra,0x80000 +800001e8: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001ec: 00e00113 li sp,14 +800001f0: 4020d733 sra a4,ra,sp +800001f4: 00020eb7 lui t4,0x20 +800001f8: fffe8e93 addi t4,t4,-1 # 1ffff <_start-0x7ffe0001> +800001fc: 00a00193 li gp,10 +80000200: 4bd71263 bne a4,t4,800006a4 + +80000204 : +80000204: 800000b7 lui ra,0x80000 +80000208: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +8000020c: 01f00113 li sp,31 +80000210: 4020d733 sra a4,ra,sp +80000214: 00000e93 li t4,0 +80000218: 00b00193 li gp,11 +8000021c: 49d71463 bne a4,t4,800006a4 + +80000220 : +80000220: 818180b7 lui ra,0x81818 +80000224: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +80000228: 00000113 li sp,0 +8000022c: 4020d733 sra a4,ra,sp +80000230: 81818eb7 lui t4,0x81818 +80000234: 181e8e93 addi t4,t4,385 # 81818181 <_end+0x1816181> +80000238: 00c00193 li gp,12 +8000023c: 47d71463 bne a4,t4,800006a4 + +80000240 : +80000240: 818180b7 lui ra,0x81818 +80000244: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +80000248: 00100113 li sp,1 +8000024c: 4020d733 sra a4,ra,sp +80000250: c0c0ceb7 lui t4,0xc0c0c +80000254: 0c0e8e93 addi t4,t4,192 # c0c0c0c0 <_end+0x40c0a0c0> +80000258: 00d00193 li gp,13 +8000025c: 45d71463 bne a4,t4,800006a4 + +80000260 : +80000260: 818180b7 lui ra,0x81818 +80000264: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +80000268: 00700113 li sp,7 +8000026c: 4020d733 sra a4,ra,sp +80000270: ff030eb7 lui t4,0xff030 +80000274: 303e8e93 addi t4,t4,771 # ff030303 <_end+0x7f02e303> +80000278: 00e00193 li gp,14 +8000027c: 43d71463 bne a4,t4,800006a4 + +80000280 : +80000280: 818180b7 lui ra,0x81818 +80000284: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +80000288: 00e00113 li sp,14 +8000028c: 4020d733 sra a4,ra,sp +80000290: fffe0eb7 lui t4,0xfffe0 +80000294: 606e8e93 addi t4,t4,1542 # fffe0606 <_end+0x7ffde606> +80000298: 00f00193 li gp,15 +8000029c: 41d71463 bne a4,t4,800006a4 + +800002a0 : +800002a0: 818180b7 lui ra,0x81818 +800002a4: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +800002a8: 01f00113 li sp,31 +800002ac: 4020d733 sra a4,ra,sp +800002b0: fff00e93 li t4,-1 +800002b4: 01000193 li gp,16 +800002b8: 3fd71663 bne a4,t4,800006a4 + +800002bc : +800002bc: 818180b7 lui ra,0x81818 +800002c0: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +800002c4: fc000113 li sp,-64 +800002c8: 4020d733 sra a4,ra,sp +800002cc: 81818eb7 lui t4,0x81818 +800002d0: 181e8e93 addi t4,t4,385 # 81818181 <_end+0x1816181> +800002d4: 01100193 li gp,17 +800002d8: 3dd71663 bne a4,t4,800006a4 + +800002dc : +800002dc: 818180b7 lui ra,0x81818 +800002e0: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +800002e4: fc100113 li sp,-63 +800002e8: 4020d733 sra a4,ra,sp +800002ec: c0c0ceb7 lui t4,0xc0c0c +800002f0: 0c0e8e93 addi t4,t4,192 # c0c0c0c0 <_end+0x40c0a0c0> +800002f4: 01200193 li gp,18 +800002f8: 3bd71663 bne a4,t4,800006a4 + +800002fc : +800002fc: 818180b7 lui ra,0x81818 +80000300: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +80000304: fc700113 li sp,-57 +80000308: 4020d733 sra a4,ra,sp +8000030c: ff030eb7 lui t4,0xff030 +80000310: 303e8e93 addi t4,t4,771 # ff030303 <_end+0x7f02e303> +80000314: 01300193 li gp,19 +80000318: 39d71663 bne a4,t4,800006a4 + +8000031c : +8000031c: 818180b7 lui ra,0x81818 +80000320: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +80000324: fce00113 li sp,-50 +80000328: 4020d733 sra a4,ra,sp +8000032c: fffe0eb7 lui t4,0xfffe0 +80000330: 606e8e93 addi t4,t4,1542 # fffe0606 <_end+0x7ffde606> +80000334: 01400193 li gp,20 +80000338: 37d71663 bne a4,t4,800006a4 + +8000033c : +8000033c: 818180b7 lui ra,0x81818 +80000340: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +80000344: fff00113 li sp,-1 +80000348: 4020d733 sra a4,ra,sp +8000034c: fff00e93 li t4,-1 +80000350: 01500193 li gp,21 +80000354: 35d71863 bne a4,t4,800006a4 + +80000358 : +80000358: 800000b7 lui ra,0x80000 +8000035c: 00700113 li sp,7 +80000360: 4020d0b3 sra ra,ra,sp +80000364: ff000eb7 lui t4,0xff000 +80000368: 01600193 li gp,22 +8000036c: 33d09c63 bne ra,t4,800006a4 + +80000370 : +80000370: 800000b7 lui ra,0x80000 +80000374: 00e00113 li sp,14 +80000378: 4020d133 sra sp,ra,sp +8000037c: fffe0eb7 lui t4,0xfffe0 +80000380: 01700193 li gp,23 +80000384: 33d11063 bne sp,t4,800006a4 + +80000388 : +80000388: 00700093 li ra,7 +8000038c: 4010d0b3 sra ra,ra,ra +80000390: 00000e93 li t4,0 +80000394: 01800193 li gp,24 +80000398: 31d09663 bne ra,t4,800006a4 + +8000039c : +8000039c: 00000213 li tp,0 +800003a0: 800000b7 lui ra,0x80000 +800003a4: 00700113 li sp,7 +800003a8: 4020d733 sra a4,ra,sp +800003ac: 00070313 mv t1,a4 +800003b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003b4: 00200293 li t0,2 +800003b8: fe5214e3 bne tp,t0,800003a0 +800003bc: ff000eb7 lui t4,0xff000 +800003c0: 01900193 li gp,25 +800003c4: 2fd31063 bne t1,t4,800006a4 + +800003c8 : +800003c8: 00000213 li tp,0 +800003cc: 800000b7 lui ra,0x80000 +800003d0: 00e00113 li sp,14 +800003d4: 4020d733 sra a4,ra,sp +800003d8: 00000013 nop +800003dc: 00070313 mv t1,a4 +800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003e4: 00200293 li t0,2 +800003e8: fe5212e3 bne tp,t0,800003cc +800003ec: fffe0eb7 lui t4,0xfffe0 +800003f0: 01a00193 li gp,26 +800003f4: 2bd31863 bne t1,t4,800006a4 + +800003f8 : +800003f8: 00000213 li tp,0 +800003fc: 800000b7 lui ra,0x80000 +80000400: 01f00113 li sp,31 +80000404: 4020d733 sra a4,ra,sp +80000408: 00000013 nop +8000040c: 00000013 nop +80000410: 00070313 mv t1,a4 +80000414: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000418: 00200293 li t0,2 +8000041c: fe5210e3 bne tp,t0,800003fc +80000420: fff00e93 li t4,-1 +80000424: 01b00193 li gp,27 +80000428: 27d31e63 bne t1,t4,800006a4 + +8000042c : +8000042c: 00000213 li tp,0 +80000430: 800000b7 lui ra,0x80000 +80000434: 00700113 li sp,7 +80000438: 4020d733 sra a4,ra,sp +8000043c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000440: 00200293 li t0,2 +80000444: fe5216e3 bne tp,t0,80000430 +80000448: ff000eb7 lui t4,0xff000 +8000044c: 01c00193 li gp,28 +80000450: 25d71a63 bne a4,t4,800006a4 + +80000454 : +80000454: 00000213 li tp,0 +80000458: 800000b7 lui ra,0x80000 +8000045c: 00e00113 li sp,14 +80000460: 00000013 nop +80000464: 4020d733 sra a4,ra,sp +80000468: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000046c: 00200293 li t0,2 +80000470: fe5214e3 bne tp,t0,80000458 +80000474: fffe0eb7 lui t4,0xfffe0 +80000478: 01d00193 li gp,29 +8000047c: 23d71463 bne a4,t4,800006a4 + +80000480 : +80000480: 00000213 li tp,0 +80000484: 800000b7 lui ra,0x80000 +80000488: 01f00113 li sp,31 +8000048c: 00000013 nop +80000490: 00000013 nop +80000494: 4020d733 sra a4,ra,sp +80000498: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000049c: 00200293 li t0,2 +800004a0: fe5212e3 bne tp,t0,80000484 +800004a4: fff00e93 li t4,-1 +800004a8: 01e00193 li gp,30 +800004ac: 1fd71c63 bne a4,t4,800006a4 + +800004b0 : +800004b0: 00000213 li tp,0 +800004b4: 800000b7 lui ra,0x80000 +800004b8: 00000013 nop +800004bc: 00700113 li sp,7 +800004c0: 4020d733 sra a4,ra,sp +800004c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004c8: 00200293 li t0,2 +800004cc: fe5214e3 bne tp,t0,800004b4 +800004d0: ff000eb7 lui t4,0xff000 +800004d4: 01f00193 li gp,31 +800004d8: 1dd71663 bne a4,t4,800006a4 + +800004dc : +800004dc: 00000213 li tp,0 +800004e0: 800000b7 lui ra,0x80000 +800004e4: 00000013 nop +800004e8: 00e00113 li sp,14 +800004ec: 00000013 nop +800004f0: 4020d733 sra a4,ra,sp +800004f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004f8: 00200293 li t0,2 +800004fc: fe5212e3 bne tp,t0,800004e0 +80000500: fffe0eb7 lui t4,0xfffe0 +80000504: 02000193 li gp,32 +80000508: 19d71e63 bne a4,t4,800006a4 + +8000050c : +8000050c: 00000213 li tp,0 +80000510: 800000b7 lui ra,0x80000 +80000514: 00000013 nop +80000518: 00000013 nop +8000051c: 01f00113 li sp,31 +80000520: 4020d733 sra a4,ra,sp +80000524: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000528: 00200293 li t0,2 +8000052c: fe5212e3 bne tp,t0,80000510 +80000530: fff00e93 li t4,-1 +80000534: 02100193 li gp,33 +80000538: 17d71663 bne a4,t4,800006a4 + +8000053c : +8000053c: 00000213 li tp,0 +80000540: 00700113 li sp,7 +80000544: 800000b7 lui ra,0x80000 +80000548: 4020d733 sra a4,ra,sp +8000054c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000550: 00200293 li t0,2 +80000554: fe5216e3 bne tp,t0,80000540 +80000558: ff000eb7 lui t4,0xff000 +8000055c: 02200193 li gp,34 +80000560: 15d71263 bne a4,t4,800006a4 + +80000564 : +80000564: 00000213 li tp,0 +80000568: 00e00113 li sp,14 +8000056c: 800000b7 lui ra,0x80000 +80000570: 00000013 nop +80000574: 4020d733 sra a4,ra,sp +80000578: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000057c: 00200293 li t0,2 +80000580: fe5214e3 bne tp,t0,80000568 +80000584: fffe0eb7 lui t4,0xfffe0 +80000588: 02300193 li gp,35 +8000058c: 11d71c63 bne a4,t4,800006a4 + +80000590 : +80000590: 00000213 li tp,0 +80000594: 01f00113 li sp,31 +80000598: 800000b7 lui ra,0x80000 +8000059c: 00000013 nop +800005a0: 00000013 nop +800005a4: 4020d733 sra a4,ra,sp +800005a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005ac: 00200293 li t0,2 +800005b0: fe5212e3 bne tp,t0,80000594 +800005b4: fff00e93 li t4,-1 +800005b8: 02400193 li gp,36 +800005bc: 0fd71463 bne a4,t4,800006a4 + +800005c0 : +800005c0: 00000213 li tp,0 +800005c4: 00700113 li sp,7 +800005c8: 00000013 nop +800005cc: 800000b7 lui ra,0x80000 +800005d0: 4020d733 sra a4,ra,sp +800005d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005d8: 00200293 li t0,2 +800005dc: fe5214e3 bne tp,t0,800005c4 +800005e0: ff000eb7 lui t4,0xff000 +800005e4: 02500193 li gp,37 +800005e8: 0bd71e63 bne a4,t4,800006a4 + +800005ec : +800005ec: 00000213 li tp,0 +800005f0: 00e00113 li sp,14 +800005f4: 00000013 nop +800005f8: 800000b7 lui ra,0x80000 +800005fc: 00000013 nop +80000600: 4020d733 sra a4,ra,sp +80000604: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000608: 00200293 li t0,2 +8000060c: fe5212e3 bne tp,t0,800005f0 +80000610: fffe0eb7 lui t4,0xfffe0 +80000614: 02600193 li gp,38 +80000618: 09d71663 bne a4,t4,800006a4 + +8000061c : +8000061c: 00000213 li tp,0 +80000620: 01f00113 li sp,31 +80000624: 00000013 nop +80000628: 00000013 nop +8000062c: 800000b7 lui ra,0x80000 +80000630: 4020d733 sra a4,ra,sp +80000634: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000638: 00200293 li t0,2 +8000063c: fe5212e3 bne tp,t0,80000620 +80000640: fff00e93 li t4,-1 +80000644: 02700193 li gp,39 +80000648: 05d71e63 bne a4,t4,800006a4 + +8000064c : +8000064c: 00f00093 li ra,15 +80000650: 40105133 sra sp,zero,ra +80000654: 00000e93 li t4,0 +80000658: 02800193 li gp,40 +8000065c: 05d11463 bne sp,t4,800006a4 + +80000660 : +80000660: 02000093 li ra,32 +80000664: 4000d133 sra sp,ra,zero +80000668: 02000e93 li t4,32 +8000066c: 02900193 li gp,41 +80000670: 03d11a63 bne sp,t4,800006a4 + +80000674 : +80000674: 400050b3 sra ra,zero,zero +80000678: 00000e93 li t4,0 +8000067c: 02a00193 li gp,42 +80000680: 03d09263 bne ra,t4,800006a4 + +80000684 : +80000684: 40000093 li ra,1024 +80000688: 00001137 lui sp,0x1 +8000068c: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800> +80000690: 4020d033 sra zero,ra,sp +80000694: 00000e93 li t4,0 +80000698: 02b00193 li gp,43 +8000069c: 01d01463 bne zero,t4,800006a4 +800006a0: 02301063 bne zero,gp,800006c0 + +800006a4 : +800006a4: 0ff0000f fence +800006a8: 00018063 beqz gp,800006a8 +800006ac: 00119193 slli gp,gp,0x1 +800006b0: 0011e193 ori gp,gp,1 +800006b4: 05d00893 li a7,93 +800006b8: 00018513 mv a0,gp +800006bc: 00000073 ecall + +800006c0 : +800006c0: 0ff0000f fence +800006c4: 00100193 li gp,1 +800006c8: 05d00893 li a7,93 +800006cc: 00000513 li a0,0 +800006d0: 00000073 ecall +800006d4: c0001073 unimp +800006d8: 0000 unimp +800006da: 0000 unimp +800006dc: 0000 unimp +800006de: 0000 unimp +800006e0: 0000 unimp +800006e2: 0000 unimp +800006e4: 0000 unimp +800006e6: 0000 unimp +800006e8: 0000 unimp +800006ea: 0000 unimp +800006ec: 0000 unimp +800006ee: 0000 unimp +800006f0: 0000 unimp +800006f2: 0000 unimp +800006f4: 0000 unimp +800006f6: 0000 unimp +800006f8: 0000 unimp +800006fa: 0000 unimp +800006fc: 0000 unimp +800006fe: 0000 unimp +80000700: 0000 unimp +80000702: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-sra.hex b/simX/riscv_tests/rv32ui-p-sra.hex index ac2ca2bb..358fc65f 100644 --- a/simX/riscv_tests/rv32ui-p-sra.hex +++ b/simX/riscv_tests/rv32ui-p-sra.hex @@ -2,112 +2,120 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030B700008034 -:1000C00013010000B3D12040B70E0080130E2000B2 -:1000D0006394D159B700008013011000B3D12040C0 -:1000E000B70E00C0130E30006398D157B7000080E0 -:1000F00013017000B3D12040B70E00FF130E400073 -:10010000639CD155B70000801301E000B3D12040BB -:10011000B70EFEFF130E50006390D155B70000805C -:10012000938010001301F001B3D12040930EF0FF33 -:10013000130E60006392D153B70000809380F0FFEC -:1001400013010000B3D12040B70E0080938EFEFF54 -:10015000130E70006392D151B70000809380F0FFBE -:1001600013011000B3D12040B70E0040938EFEFF64 -:10017000130E80006392D14FB70000809380F0FF90 -:1001800013017000B3D12040B70E0001938EFEFF23 -:10019000130E90006392D14DB70000809380F0FF62 -:1001A0001301E000B3D12040B70E0200938EFEFF92 -:1001B000130EA0006392D14BB70000809380F0FF34 -:1001C0001301F001B3D12040930E0000130EB000D4 -:1001D0006394D149B7808181938010181301000086 -:1001E000B3D12040B78E8181938E1E18130EC000AC -:1001F0006394D147B7808181938010181301100058 -:10020000B3D12040B7CEC0C0938E0E0C130ED000D9 -:100210006394D145B78081819380101813017000D9 -:10022000B3D12040B70E03FF938E3E30130EE00093 -:100230006394D143B7808181938010181301E0004B -:10024000B3D12040B70EFEFF938E6E60130EF00008 -:100250006394D141B7808181938010181301F0011C -:10026000B3D12040930EF0FF130E00016396D13FEF -:10027000B780818193801018130100FCB3D1204016 -:10028000B78E8181938E1E18130E10016396D13D97 -:10029000B780818193801018130110FCB3D12040E6 -:1002A000B7CEC0C0938E0E0C130E20016396D13BC7 -:1002B000B780818193801018130170FCB3D1204066 -:1002C000B70E03FF938E3E30130E30016396D13983 -:1002D000B7808181938010181301E0FCB3D12040D6 -:1002E000B70EFEFF938E6E60130E40016396D137FA -:1002F000B7808181938010181301F0FFB3D12040A3 -:10030000930EF0FF130E50016398D135B7000080B3 -:1003100013017000B3D02040B70E00FF130E600130 -:10032000639CD033B70000801301E00033D120403C -:10033000B70EFEFF130E70016310D13393007000EF -:10034000B3D01040930E0000130E80016396D0319D -:1003500013020000B700008013017000B3D12040E9 -:10036000138301001302120093022000E31452FED3 -:10037000B70E00FF130E90016310D32F130200007D -:10038000B70000801301E000B3D12040130000004B -:10039000138301001302120093022000E31252FEA5 -:1003A000B70EFEFF130EA0016318D32B130200003B -:1003B000B70000801301F001B3D12040130000000A -:1003C00013000000138301001302120093022000A7 -:1003D000E31052FE930EF0FF130EB001631ED327FD -:1003E00013020000B700008013017000B3D1204059 -:1003F0001302120093022000E31652FEB70E00FF14 -:10040000130EC001639AD12513020000B7000080CB -:100410001301E00013000000B3D1204013021200CA -:1004200093022000E31452FEB70EFEFF130ED0011C -:100430006394D12313020000B70000801301F00180 -:100440001300000013000000B3D12040130212007B -:1004500093022000E31252FE930EF0FF130EE00110 -:10046000639CD11F13020000B7000080130000003E -:1004700013017000B3D12040130212009302200038 -:10048000E31452FEB70E00FF130EF0016396D11D68 -:1004900013020000B7000080130000001301E00009 -:1004A00013000000B3D12040130212009302200079 -:1004B000E31252FEB70EFEFF130E0002639ED11927 -:1004C00013020000B70000801300000013000000BA -:1004D0001301F001B3D12040130212009302200057 -:1004E000E31252FE930EF0FF130E10026396D11723 -:1004F0001302000013017000B7000080B3D1204048 -:100500001302120093022000E31652FEB70E00FF02 -:10051000130E20026392D115130200001301E000B4 -:10052000B700008013000000B3D120401302120076 -:1005300093022000E31452FEB70EFEFF130E3002AA -:10054000639CD111130200001301F001B700008079 -:100550001300000013000000B3D12040130212006A -:1005600093022000E31252FE930EF0FF130E40029E -:100570006394D10F130200001301700013000000F8 -:10058000B7000080B3D12040130212009302200074 -:10059000E31452FEB70E00FF130E5002639ED10B00 -:1005A000130200001301E00013000000B7000080F8 -:1005B00013000000B3D12040130212009302200068 -:1005C000E31252FEB70EFEFF130E60026396D109CE -:1005D000130200001301F0011300000013000000DB -:1005E000B7000080B3D12040130212009302200014 -:1005F000E31252FE930EF0FF130E7002639ED105BC -:100600009300F00033511040930E0000130E80024F -:100610006314D1059300000233D10040930E000211 -:10062000130E9002631AD103B3500040930E0000E2 -:10063000130EA0026392D003930000403711000014 -:100640001301018033D02040930E0000130EB0023E -:100650006314D001631CC0010F00F00F63000E0093 -:10066000131E1E00136E1E00730000000F00F00F1B -:10067000130E100073000000731000C00000000093 -:040680000000000076 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030B70000801301000018 +:1001100033D72040B70E0080930120006314D759D5 +:10012000B70000801301100033D72040B70E00C085 +:10013000930130006318D757B70000801301700097 +:1001400033D72040B70E00FF93014000631CD75502 +:10015000B70000801301E00033D72040B70EFEFF48 +:10016000930150006310D755B700008093801000B2 +:100170001301F00133D72040930EF0FF930160008C +:100180006312D753B70000809380F0FF1301000083 +:1001900033D72040B70E0080938EFEFF930170008E +:1001A0006312D751B70000809380F0FF1301100055 +:1001B00033D72040B70E0040938EFEFF930180009E +:1001C0006312D74FB70000809380F0FF13017000D7 +:1001D00033D72040B70E0001938EFEFF93019000AD +:1001E0006312D74DB70000809380F0FF1301E00049 +:1001F00033D72040B70E0200938EFEFF9301A0007C +:100200006312D74BB70000809380F0FF1301F00119 +:1002100033D72040930E00009301B0006314D749F8 +:10022000B7808181938010181301000033D72040DC +:10023000B78E8181938E1E189301C0006314D74737 +:10024000B7808181938010181301100033D72040AC +:10025000B7CEC0C0938E0E0C9301D0006314D74567 +:10026000B7808181938010181301700033D720402C +:10027000B70E03FF938E3E309301E0006314D74323 +:10028000B7808181938010181301E00033D720409C +:10029000B70EFEFF938E6E609301F0006314D7419A +:1002A000B7808181938010181301F00133D720406B +:1002B000930EF0FF930100016316D73FB780818151 +:1002C00093801018130100FC33D72040B78E818132 +:1002D000938E1E18930110016316D73DB78081815C +:1002E00093801018130110FC33D72040B7CEC0C044 +:1002F000938E0E0C930120016316D73BB78081814A +:1003000093801018130170FC33D72040B70E03FF01 +:10031000938E3E30930130016316D739B7808181C7 +:10032000938010181301E0FC33D72040B70EFEFF76 +:10033000938E6E60930140016316D737B780818139 +:10034000938010181301F0FF33D72040930EF0FF75 +:10035000930150016318D735B70000801301700076 +:10036000B3D02040B70E00FF93016001639CD033EF +:10037000B70000801301E00033D12040B70EFEFF2C +:10038000930170016310D13393007000B3D010401B +:10039000930E0000930180016396D0311302000098 +:1003A000B70000801301700033D72040130307000B +:1003B0001302120093022000E31452FEB70E00FF56 +:1003C000930190016310D32F13020000B700008047 +:1003D0001301E00033D7204013000000130307008F +:1003E0001302120093022000E31252FEB70EFEFF2A +:1003F0009301A0016318D32B13020000B700008003 +:100400001301F00133D72040130000001300000057 +:10041000130307001302120093022000E31052FEA0 +:10042000930EF0FF9301B001631ED3271302000067 +:10043000B70000801301700033D720401302120070 +:1004400093022000E31652FEB70E00FF9301C00195 +:10045000631AD72513020000B70000801301E000E3 +:100460001300000033D72040130212009302200033 +:10047000E31452FEB70EFEFF9301D0016314D7239D +:1004800013020000B70000801301F0011300000008 +:100490001300000033D72040130212009302200003 +:1004A000E31252FE930EF0FF9301E001631CD71F8D +:1004B00013020000B7000080130000001301700059 +:1004C00033D720401302120093022000E31452FE9F +:1004D000B70E00FF9301F0016316D71D1302000051 +:1004E000B7000080130000001301E00013000000BB +:1004F00033D720401302120093022000E31252FE71 +:10050000B70EFEFF93010002631ED719130200000D +:10051000B700008013000000130000001301F00179 +:1005200033D720401302120093022000E31252FE40 +:10053000930EF0FF930110026316D7171302000009 +:1005400013017000B700008033D72040130212005F +:1005500093022000E31652FEB70E00FF9301200223 +:100560006312D715130200001301E000B7000080EA +:100570001300000033D72040130212009302200022 +:10058000E31452FEB70EFEFF93013002631CD71135 +:10059000130200001301F001B700008013000000F7 +:1005A0001300000033D720401302120093022000F2 +:1005B000E31252FE930EF0FF930140026314D70F33 +:1005C000130200001301700013000000B700008048 +:1005D00033D720401302120093022000E31452FE8E +:1005E000B70E00FF93015002631ED70B13020000E9 +:1005F0001301E00013000000B700008013000000AA +:1006000033D720401302120093022000E31252FE5F +:10061000B70EFEFF930160026316D70913020000B4 +:100620001301F0011300000013000000B700008068 +:1006300033D720401302120093022000E31252FE2F +:10064000930EF0FF93017002631ED7059300F00034 +:1006500033511040930E0000930180026314D105C2 +:100660009300000233D10040930E000293019002E8 +:10067000631AD103B3500040930E00009301A0020F +:100680006392D003930000403711000013010180F2 +:1006900033D02040930E00009301B0026314D001C8 +:1006A000631030020F00F00F63800100939111007E +:1006B00093E111009308D005138501007300000039 +:1006C0000F00F00F930110009308D00513050000F0 +:1006D00073000000731000C0000000000000000064 +:1006E000000000000000000000000000000000000A +:1006F00000000000000000000000000000000000FA +:0407000000000000F5 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-srai.dump b/simX/riscv_tests/rv32ui-p-srai.dump new file mode 100644 index 00000000..d13cc125 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-srai.dump @@ -0,0 +1,328 @@ + +rv32ui-p-srai: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00000093 li ra,0 +8000010c: 4000d713 srai a4,ra,0x0 +80000110: 00000e93 li t4,0 +80000114: 00200193 li gp,2 +80000118: 2bd71463 bne a4,t4,800003c0 + +8000011c : +8000011c: 800000b7 lui ra,0x80000 +80000120: 4010d713 srai a4,ra,0x1 +80000124: c0000eb7 lui t4,0xc0000 +80000128: 00300193 li gp,3 +8000012c: 29d71a63 bne a4,t4,800003c0 + +80000130 : +80000130: 800000b7 lui ra,0x80000 +80000134: 4070d713 srai a4,ra,0x7 +80000138: ff000eb7 lui t4,0xff000 +8000013c: 00400193 li gp,4 +80000140: 29d71063 bne a4,t4,800003c0 + +80000144 : +80000144: 800000b7 lui ra,0x80000 +80000148: 40e0d713 srai a4,ra,0xe +8000014c: fffe0eb7 lui t4,0xfffe0 +80000150: 00500193 li gp,5 +80000154: 27d71663 bne a4,t4,800003c0 + +80000158 : +80000158: 800000b7 lui ra,0x80000 +8000015c: 00108093 addi ra,ra,1 # 80000001 <_end+0xffffe001> +80000160: 41f0d713 srai a4,ra,0x1f +80000164: fff00e93 li t4,-1 +80000168: 00600193 li gp,6 +8000016c: 25d71a63 bne a4,t4,800003c0 + +80000170 : +80000170: 800000b7 lui ra,0x80000 +80000174: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +80000178: 4000d713 srai a4,ra,0x0 +8000017c: 80000eb7 lui t4,0x80000 +80000180: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdfff> +80000184: 00700193 li gp,7 +80000188: 23d71c63 bne a4,t4,800003c0 + +8000018c : +8000018c: 800000b7 lui ra,0x80000 +80000190: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +80000194: 4010d713 srai a4,ra,0x1 +80000198: 40000eb7 lui t4,0x40000 +8000019c: fffe8e93 addi t4,t4,-1 # 3fffffff <_start-0x40000001> +800001a0: 00800193 li gp,8 +800001a4: 21d71e63 bne a4,t4,800003c0 + +800001a8 : +800001a8: 800000b7 lui ra,0x80000 +800001ac: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001b0: 4070d713 srai a4,ra,0x7 +800001b4: 01000eb7 lui t4,0x1000 +800001b8: fffe8e93 addi t4,t4,-1 # ffffff <_start-0x7f000001> +800001bc: 00900193 li gp,9 +800001c0: 21d71063 bne a4,t4,800003c0 + +800001c4 : +800001c4: 800000b7 lui ra,0x80000 +800001c8: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001cc: 40e0d713 srai a4,ra,0xe +800001d0: 00020eb7 lui t4,0x20 +800001d4: fffe8e93 addi t4,t4,-1 # 1ffff <_start-0x7ffe0001> +800001d8: 00a00193 li gp,10 +800001dc: 1fd71263 bne a4,t4,800003c0 + +800001e0 : +800001e0: 800000b7 lui ra,0x80000 +800001e4: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001e8: 41f0d713 srai a4,ra,0x1f +800001ec: 00000e93 li t4,0 +800001f0: 00b00193 li gp,11 +800001f4: 1dd71663 bne a4,t4,800003c0 + +800001f8 : +800001f8: 818180b7 lui ra,0x81818 +800001fc: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +80000200: 4000d713 srai a4,ra,0x0 +80000204: 81818eb7 lui t4,0x81818 +80000208: 181e8e93 addi t4,t4,385 # 81818181 <_end+0x1816181> +8000020c: 00c00193 li gp,12 +80000210: 1bd71863 bne a4,t4,800003c0 + +80000214 : +80000214: 818180b7 lui ra,0x81818 +80000218: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +8000021c: 4010d713 srai a4,ra,0x1 +80000220: c0c0ceb7 lui t4,0xc0c0c +80000224: 0c0e8e93 addi t4,t4,192 # c0c0c0c0 <_end+0x40c0a0c0> +80000228: 00d00193 li gp,13 +8000022c: 19d71a63 bne a4,t4,800003c0 + +80000230 : +80000230: 818180b7 lui ra,0x81818 +80000234: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +80000238: 4070d713 srai a4,ra,0x7 +8000023c: ff030eb7 lui t4,0xff030 +80000240: 303e8e93 addi t4,t4,771 # ff030303 <_end+0x7f02e303> +80000244: 00e00193 li gp,14 +80000248: 17d71c63 bne a4,t4,800003c0 + +8000024c : +8000024c: 818180b7 lui ra,0x81818 +80000250: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +80000254: 40e0d713 srai a4,ra,0xe +80000258: fffe0eb7 lui t4,0xfffe0 +8000025c: 606e8e93 addi t4,t4,1542 # fffe0606 <_end+0x7ffde606> +80000260: 00f00193 li gp,15 +80000264: 15d71e63 bne a4,t4,800003c0 + +80000268 : +80000268: 818180b7 lui ra,0x81818 +8000026c: 18108093 addi ra,ra,385 # 81818181 <_end+0x1816181> +80000270: 41f0d713 srai a4,ra,0x1f +80000274: fff00e93 li t4,-1 +80000278: 01000193 li gp,16 +8000027c: 15d71263 bne a4,t4,800003c0 + +80000280 : +80000280: 800000b7 lui ra,0x80000 +80000284: 4070d093 srai ra,ra,0x7 +80000288: ff000eb7 lui t4,0xff000 +8000028c: 01100193 li gp,17 +80000290: 13d09863 bne ra,t4,800003c0 + +80000294 : +80000294: 00000213 li tp,0 +80000298: 800000b7 lui ra,0x80000 +8000029c: 4070d713 srai a4,ra,0x7 +800002a0: 00070313 mv t1,a4 +800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a8: 00200293 li t0,2 +800002ac: fe5216e3 bne tp,t0,80000298 +800002b0: ff000eb7 lui t4,0xff000 +800002b4: 01200193 li gp,18 +800002b8: 11d31463 bne t1,t4,800003c0 + +800002bc : +800002bc: 00000213 li tp,0 +800002c0: 800000b7 lui ra,0x80000 +800002c4: 40e0d713 srai a4,ra,0xe +800002c8: 00000013 nop +800002cc: 00070313 mv t1,a4 +800002d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d4: 00200293 li t0,2 +800002d8: fe5214e3 bne tp,t0,800002c0 +800002dc: fffe0eb7 lui t4,0xfffe0 +800002e0: 01300193 li gp,19 +800002e4: 0dd31e63 bne t1,t4,800003c0 + +800002e8 : +800002e8: 00000213 li tp,0 +800002ec: 800000b7 lui ra,0x80000 +800002f0: 00108093 addi ra,ra,1 # 80000001 <_end+0xffffe001> +800002f4: 41f0d713 srai a4,ra,0x1f +800002f8: 00000013 nop +800002fc: 00000013 nop +80000300: 00070313 mv t1,a4 +80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000308: 00200293 li t0,2 +8000030c: fe5210e3 bne tp,t0,800002ec +80000310: fff00e93 li t4,-1 +80000314: 01400193 li gp,20 +80000318: 0bd31463 bne t1,t4,800003c0 + +8000031c : +8000031c: 00000213 li tp,0 +80000320: 800000b7 lui ra,0x80000 +80000324: 4070d713 srai a4,ra,0x7 +80000328: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000032c: 00200293 li t0,2 +80000330: fe5218e3 bne tp,t0,80000320 +80000334: ff000eb7 lui t4,0xff000 +80000338: 01500193 li gp,21 +8000033c: 09d71263 bne a4,t4,800003c0 + +80000340 : +80000340: 00000213 li tp,0 +80000344: 800000b7 lui ra,0x80000 +80000348: 00000013 nop +8000034c: 40e0d713 srai a4,ra,0xe +80000350: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000354: 00200293 li t0,2 +80000358: fe5216e3 bne tp,t0,80000344 +8000035c: fffe0eb7 lui t4,0xfffe0 +80000360: 01600193 li gp,22 +80000364: 05d71e63 bne a4,t4,800003c0 + +80000368 : +80000368: 00000213 li tp,0 +8000036c: 800000b7 lui ra,0x80000 +80000370: 00108093 addi ra,ra,1 # 80000001 <_end+0xffffe001> +80000374: 00000013 nop +80000378: 00000013 nop +8000037c: 41f0d713 srai a4,ra,0x1f +80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000384: 00200293 li t0,2 +80000388: fe5212e3 bne tp,t0,8000036c +8000038c: fff00e93 li t4,-1 +80000390: 01700193 li gp,23 +80000394: 03d71663 bne a4,t4,800003c0 + +80000398 : +80000398: 40405093 srai ra,zero,0x4 +8000039c: 00000e93 li t4,0 +800003a0: 01800193 li gp,24 +800003a4: 01d09e63 bne ra,t4,800003c0 + +800003a8 : +800003a8: 02100093 li ra,33 +800003ac: 40a0d013 srai zero,ra,0xa +800003b0: 00000e93 li t4,0 +800003b4: 01900193 li gp,25 +800003b8: 01d01463 bne zero,t4,800003c0 +800003bc: 02301063 bne zero,gp,800003dc + +800003c0 : +800003c0: 0ff0000f fence +800003c4: 00018063 beqz gp,800003c4 +800003c8: 00119193 slli gp,gp,0x1 +800003cc: 0011e193 ori gp,gp,1 +800003d0: 05d00893 li a7,93 +800003d4: 00018513 mv a0,gp +800003d8: 00000073 ecall + +800003dc : +800003dc: 0ff0000f fence +800003e0: 00100193 li gp,1 +800003e4: 05d00893 li a7,93 +800003e8: 00000513 li a0,0 +800003ec: 00000073 ecall +800003f0: c0001073 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/simX/riscv_tests/rv32ui-p-srai.hex b/simX/riscv_tests/rv32ui-p-srai.hex index 6f388a08..cc124fab 100644 --- a/simX/riscv_tests/rv32ui-p-srai.hex +++ b/simX/riscv_tests/rv32ui-p-srai.hex @@ -2,68 +2,72 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093000000D8 -:1000C00093D10040930E0000130E20006394D12BB7 -:1000D000B700008093D11040B70E00C0130E30005F -:1000E000639AD129B700008093D17040B70E00FF0A -:1000F000130E40006390D129B700008093D1E040F7 -:10010000B70EFEFF130E50006396D127B700008094 -:100110009380100093D1F041930EF0FF130E600016 -:10012000639AD125B70000809380F0FF93D10040FF -:10013000B70E0080938EFEFF130E7000639CD123D8 -:10014000B70000809380F0FF93D11040B70E0040BD -:10015000938EFEFF130E8000639ED121B7000080B6 -:100160009380F0FF93D17040B70E0001938EFEFF95 -:10017000130E90006390D121B70000809380F0FFB0 -:1001800093D1E040B70E0200938EFEFF130EA00045 -:100190006392D11FB70000809380F0FF93D1F041AC -:1001A000930E0000130EB0006396D11DB7808181BD -:1001B0009380101893D10040B78E8181938E1E18C2 -:1001C000130EC0006398D11BB780818193801018F3 -:1001D00093D11040B7CEC0C0938E0E0C130ED0003A -:1001E000639AD119B78081819380101893D17040A0 -:1001F000B70E03FF938E3E30130EE000639CD117C1 -:10020000B78081819380101893D1E040B70EFEFF34 -:10021000938E6E60130EF000639ED115B7808181BE -:100220009380101893D1F041930EF0FF130E00014C -:100230006392D115B700008093D07040B70E00FFD5 -:10024000130E10016398D01313020000B700008052 -:1002500093D1704013830100130212009302200017 -:10026000E31652FEB70E00FF130E20016314D311E4 -:1002700013020000B700008093D1E040130000009B -:10028000138301001302120093022000E31452FEB4 -:10029000B70EFEFF130E3001631ED30D13020000D4 -:1002A000B70000809380100093D1F041130000004C -:1002B00013000000138301001302120093022000B8 -:1002C000E31052FE930EF0FF130E40016314D30BA4 -:1002D00013020000B700008093D170401302120097 -:1002E00093022000E31852FEB70E00FF130E5001D8 -:1002F0006392D10913020000B700008013000000D0 -:1003000093D1E0401302120093022000E31652FE44 -:10031000B70EFEFF130E6001639ED10513020000AD -:10032000B70000809380100013000000130000004D -:1003300093D1F0411302120093022000E31252FE07 -:10034000930EF0FF130E70016396D103935040405B -:10035000930E0000130E8001639ED00193001002E3 -:1003600013D0A040930E0000130E90016314D0012F -:10037000631CC0010F00F00F63000E00131E1E006F -:10038000136E1E00730000000F00F00F130E10001C -:1003900073000000731000C00000000000000000A7 -:1003A000000000000000000000000000000000004D -:1003B000000000000000000000000000000000003D -:0403C0000000000039 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309300000013D70040A6 +:10011000930E0000930120006314D72BB7000080DA +:1001200013D71040B70E00C093013000631AD729CF +:10013000B700008013D77040B70E00FF9301400056 +:100140006310D729B700008013D7E040B70EFEFF39 +:10015000930150006316D727B700008093801000EA +:1001600013D7F041930EF0FF93016000631AD72577 +:10017000B70000809380F0FF13D70040B70E0080D7 +:10018000938EFEFF93017000631CD723B70000809D +:100190009380F0FF13D71040B70E0040938EFEFF00 +:1001A00093018000631ED721B70000809380F0FF89 +:1001B00013D77040B70E0001938EFEFF930190009D +:1001C0006310D721B70000809380F0FF13D7E04081 +:1001D000B70E0200938EFEFF9301A0006312D71F9B +:1001E000B70000809380F0FF13D7F041930E00001A +:1001F0009301B0006316D71DB780818193801018DA +:1002000013D70040B78E8181938E1E189301C000D2 +:100210006318D71BB78081819380101813D71040C3 +:10022000B7CEC0C0938E0E0C9301D000631AD719BD +:10023000B78081819380101813D77040B70E03FFE9 +:10024000938E3E309301E000631CD717B780818105 +:100250009380101813D7E040B70EFEFF938E6E60A8 +:100260009301F000631ED715B78081819380101829 +:1002700013D7F041930EF0FF930100016312D715DD +:10028000B700008093D07040B70E00FF93011001BB +:100290006398D01313020000B700008013D770409A +:1002A000130307001302120093022000E31652FE0C +:1002B000B70E00FF930120016314D3111302000055 +:1002C000B700008013D7E0401300000013030700BD +:1002D0001302120093022000E31452FEB70EFEFF39 +:1002E00093013001631ED30D13020000B70000809C +:1002F0009380100013D7F04113000000130000009A +:10030000130307001302120093022000E31052FEB1 +:10031000930EF0FF930140016314D30B130200000E +:10032000B700008013D77040130212009302200020 +:10033000E31852FEB70E00FF930150016312D70974 +:1003400013020000B70000801300000013D7E04044 +:100350001302120093022000E31652FEB70EFEFFB6 +:1003600093016001631ED70513020000B7000080EF +:1003700093801000130000001300000013D7F04119 +:100380001302120093022000E31252FE930EF0FFBC +:10039000930170016316D70393504040930E000001 +:1003A00093018001639ED0019300100213D0A040FE +:1003B000930E0000930190016314D001631030028A +:1003C0000F00F00F638001009391110093E1110081 +:1003D0009308D00513850100730000000F00F00F93 +:1003E000930110009308D00513050000730000006E +:1003F000731000C0000000000000000000000000BA +:0404000000000000F8 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-srl.dump b/simX/riscv_tests/rv32ui-p-srl.dump new file mode 100644 index 00000000..9ae5758f --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-srl.dump @@ -0,0 +1,537 @@ + +rv32ui-p-srl: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 800000b7 lui ra,0x80000 +8000010c: 00000113 li sp,0 +80000110: 0020d733 srl a4,ra,sp +80000114: 80000eb7 lui t4,0x80000 +80000118: 00200193 li gp,2 +8000011c: 57d71863 bne a4,t4,8000068c + +80000120 : +80000120: 800000b7 lui ra,0x80000 +80000124: 00100113 li sp,1 +80000128: 0020d733 srl a4,ra,sp +8000012c: 40000eb7 lui t4,0x40000 +80000130: 00300193 li gp,3 +80000134: 55d71c63 bne a4,t4,8000068c + +80000138 : +80000138: 800000b7 lui ra,0x80000 +8000013c: 00700113 li sp,7 +80000140: 0020d733 srl a4,ra,sp +80000144: 01000eb7 lui t4,0x1000 +80000148: 00400193 li gp,4 +8000014c: 55d71063 bne a4,t4,8000068c + +80000150 : +80000150: 800000b7 lui ra,0x80000 +80000154: 00e00113 li sp,14 +80000158: 0020d733 srl a4,ra,sp +8000015c: 00020eb7 lui t4,0x20 +80000160: 00500193 li gp,5 +80000164: 53d71463 bne a4,t4,8000068c + +80000168 : +80000168: 800000b7 lui ra,0x80000 +8000016c: 00108093 addi ra,ra,1 # 80000001 <_end+0xffffe001> +80000170: 01f00113 li sp,31 +80000174: 0020d733 srl a4,ra,sp +80000178: 00100e93 li t4,1 +8000017c: 00600193 li gp,6 +80000180: 51d71663 bne a4,t4,8000068c + +80000184 : +80000184: fff00093 li ra,-1 +80000188: 00000113 li sp,0 +8000018c: 0020d733 srl a4,ra,sp +80000190: fff00e93 li t4,-1 +80000194: 00700193 li gp,7 +80000198: 4fd71a63 bne a4,t4,8000068c + +8000019c : +8000019c: fff00093 li ra,-1 +800001a0: 00100113 li sp,1 +800001a4: 0020d733 srl a4,ra,sp +800001a8: 80000eb7 lui t4,0x80000 +800001ac: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdfff> +800001b0: 00800193 li gp,8 +800001b4: 4dd71c63 bne a4,t4,8000068c + +800001b8 : +800001b8: fff00093 li ra,-1 +800001bc: 00700113 li sp,7 +800001c0: 0020d733 srl a4,ra,sp +800001c4: 02000eb7 lui t4,0x2000 +800001c8: fffe8e93 addi t4,t4,-1 # 1ffffff <_start-0x7e000001> +800001cc: 00900193 li gp,9 +800001d0: 4bd71e63 bne a4,t4,8000068c + +800001d4 : +800001d4: fff00093 li ra,-1 +800001d8: 00e00113 li sp,14 +800001dc: 0020d733 srl a4,ra,sp +800001e0: 00040eb7 lui t4,0x40 +800001e4: fffe8e93 addi t4,t4,-1 # 3ffff <_start-0x7ffc0001> +800001e8: 00a00193 li gp,10 +800001ec: 4bd71063 bne a4,t4,8000068c + +800001f0 : +800001f0: fff00093 li ra,-1 +800001f4: 01f00113 li sp,31 +800001f8: 0020d733 srl a4,ra,sp +800001fc: 00100e93 li t4,1 +80000200: 00b00193 li gp,11 +80000204: 49d71463 bne a4,t4,8000068c + +80000208 : +80000208: 212120b7 lui ra,0x21212 +8000020c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000210: 00000113 li sp,0 +80000214: 0020d733 srl a4,ra,sp +80000218: 21212eb7 lui t4,0x21212 +8000021c: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +80000220: 00c00193 li gp,12 +80000224: 47d71463 bne a4,t4,8000068c + +80000228 : +80000228: 212120b7 lui ra,0x21212 +8000022c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000230: 00100113 li sp,1 +80000234: 0020d733 srl a4,ra,sp +80000238: 10909eb7 lui t4,0x10909 +8000023c: 090e8e93 addi t4,t4,144 # 10909090 <_start-0x6f6f6f70> +80000240: 00d00193 li gp,13 +80000244: 45d71463 bne a4,t4,8000068c + +80000248 : +80000248: 212120b7 lui ra,0x21212 +8000024c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000250: 00700113 li sp,7 +80000254: 0020d733 srl a4,ra,sp +80000258: 00424eb7 lui t4,0x424 +8000025c: 242e8e93 addi t4,t4,578 # 424242 <_start-0x7fbdbdbe> +80000260: 00e00193 li gp,14 +80000264: 43d71463 bne a4,t4,8000068c + +80000268 : +80000268: 212120b7 lui ra,0x21212 +8000026c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000270: 00e00113 li sp,14 +80000274: 0020d733 srl a4,ra,sp +80000278: 00008eb7 lui t4,0x8 +8000027c: 484e8e93 addi t4,t4,1156 # 8484 <_start-0x7fff7b7c> +80000280: 00f00193 li gp,15 +80000284: 41d71463 bne a4,t4,8000068c + +80000288 : +80000288: 212120b7 lui ra,0x21212 +8000028c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000290: 01f00113 li sp,31 +80000294: 0020d733 srl a4,ra,sp +80000298: 00000e93 li t4,0 +8000029c: 01000193 li gp,16 +800002a0: 3fd71663 bne a4,t4,8000068c + +800002a4 : +800002a4: 212120b7 lui ra,0x21212 +800002a8: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800002ac: fc000113 li sp,-64 +800002b0: 0020d733 srl a4,ra,sp +800002b4: 21212eb7 lui t4,0x21212 +800002b8: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +800002bc: 01100193 li gp,17 +800002c0: 3dd71663 bne a4,t4,8000068c + +800002c4 : +800002c4: 212120b7 lui ra,0x21212 +800002c8: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800002cc: fc100113 li sp,-63 +800002d0: 0020d733 srl a4,ra,sp +800002d4: 10909eb7 lui t4,0x10909 +800002d8: 090e8e93 addi t4,t4,144 # 10909090 <_start-0x6f6f6f70> +800002dc: 01200193 li gp,18 +800002e0: 3bd71663 bne a4,t4,8000068c + +800002e4 : +800002e4: 212120b7 lui ra,0x21212 +800002e8: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800002ec: fc700113 li sp,-57 +800002f0: 0020d733 srl a4,ra,sp +800002f4: 00424eb7 lui t4,0x424 +800002f8: 242e8e93 addi t4,t4,578 # 424242 <_start-0x7fbdbdbe> +800002fc: 01300193 li gp,19 +80000300: 39d71663 bne a4,t4,8000068c + +80000304 : +80000304: 212120b7 lui ra,0x21212 +80000308: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +8000030c: fce00113 li sp,-50 +80000310: 0020d733 srl a4,ra,sp +80000314: 00008eb7 lui t4,0x8 +80000318: 484e8e93 addi t4,t4,1156 # 8484 <_start-0x7fff7b7c> +8000031c: 01400193 li gp,20 +80000320: 37d71663 bne a4,t4,8000068c + +80000324 : +80000324: 212120b7 lui ra,0x21212 +80000328: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +8000032c: fff00113 li sp,-1 +80000330: 0020d733 srl a4,ra,sp +80000334: 00000e93 li t4,0 +80000338: 01500193 li gp,21 +8000033c: 35d71863 bne a4,t4,8000068c + +80000340 : +80000340: 800000b7 lui ra,0x80000 +80000344: 00700113 li sp,7 +80000348: 0020d0b3 srl ra,ra,sp +8000034c: 01000eb7 lui t4,0x1000 +80000350: 01600193 li gp,22 +80000354: 33d09c63 bne ra,t4,8000068c + +80000358 : +80000358: 800000b7 lui ra,0x80000 +8000035c: 00e00113 li sp,14 +80000360: 0020d133 srl sp,ra,sp +80000364: 00020eb7 lui t4,0x20 +80000368: 01700193 li gp,23 +8000036c: 33d11063 bne sp,t4,8000068c + +80000370 : +80000370: 00700093 li ra,7 +80000374: 0010d0b3 srl ra,ra,ra +80000378: 00000e93 li t4,0 +8000037c: 01800193 li gp,24 +80000380: 31d09663 bne ra,t4,8000068c + +80000384 : +80000384: 00000213 li tp,0 +80000388: 800000b7 lui ra,0x80000 +8000038c: 00700113 li sp,7 +80000390: 0020d733 srl a4,ra,sp +80000394: 00070313 mv t1,a4 +80000398: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000039c: 00200293 li t0,2 +800003a0: fe5214e3 bne tp,t0,80000388 +800003a4: 01000eb7 lui t4,0x1000 +800003a8: 01900193 li gp,25 +800003ac: 2fd31063 bne t1,t4,8000068c + +800003b0 : +800003b0: 00000213 li tp,0 +800003b4: 800000b7 lui ra,0x80000 +800003b8: 00e00113 li sp,14 +800003bc: 0020d733 srl a4,ra,sp +800003c0: 00000013 nop +800003c4: 00070313 mv t1,a4 +800003c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003cc: 00200293 li t0,2 +800003d0: fe5212e3 bne tp,t0,800003b4 +800003d4: 00020eb7 lui t4,0x20 +800003d8: 01a00193 li gp,26 +800003dc: 2bd31863 bne t1,t4,8000068c + +800003e0 : +800003e0: 00000213 li tp,0 +800003e4: 800000b7 lui ra,0x80000 +800003e8: 01f00113 li sp,31 +800003ec: 0020d733 srl a4,ra,sp +800003f0: 00000013 nop +800003f4: 00000013 nop +800003f8: 00070313 mv t1,a4 +800003fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000400: 00200293 li t0,2 +80000404: fe5210e3 bne tp,t0,800003e4 +80000408: 00100e93 li t4,1 +8000040c: 01b00193 li gp,27 +80000410: 27d31e63 bne t1,t4,8000068c + +80000414 : +80000414: 00000213 li tp,0 +80000418: 800000b7 lui ra,0x80000 +8000041c: 00700113 li sp,7 +80000420: 0020d733 srl a4,ra,sp +80000424: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000428: 00200293 li t0,2 +8000042c: fe5216e3 bne tp,t0,80000418 +80000430: 01000eb7 lui t4,0x1000 +80000434: 01c00193 li gp,28 +80000438: 25d71a63 bne a4,t4,8000068c + +8000043c : +8000043c: 00000213 li tp,0 +80000440: 800000b7 lui ra,0x80000 +80000444: 00e00113 li sp,14 +80000448: 00000013 nop +8000044c: 0020d733 srl a4,ra,sp +80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000454: 00200293 li t0,2 +80000458: fe5214e3 bne tp,t0,80000440 +8000045c: 00020eb7 lui t4,0x20 +80000460: 01d00193 li gp,29 +80000464: 23d71463 bne a4,t4,8000068c + +80000468 : +80000468: 00000213 li tp,0 +8000046c: 800000b7 lui ra,0x80000 +80000470: 01f00113 li sp,31 +80000474: 00000013 nop +80000478: 00000013 nop +8000047c: 0020d733 srl a4,ra,sp +80000480: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000484: 00200293 li t0,2 +80000488: fe5212e3 bne tp,t0,8000046c +8000048c: 00100e93 li t4,1 +80000490: 01e00193 li gp,30 +80000494: 1fd71c63 bne a4,t4,8000068c + +80000498 : +80000498: 00000213 li tp,0 +8000049c: 800000b7 lui ra,0x80000 +800004a0: 00000013 nop +800004a4: 00700113 li sp,7 +800004a8: 0020d733 srl a4,ra,sp +800004ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004b0: 00200293 li t0,2 +800004b4: fe5214e3 bne tp,t0,8000049c +800004b8: 01000eb7 lui t4,0x1000 +800004bc: 01f00193 li gp,31 +800004c0: 1dd71663 bne a4,t4,8000068c + +800004c4 : +800004c4: 00000213 li tp,0 +800004c8: 800000b7 lui ra,0x80000 +800004cc: 00000013 nop +800004d0: 00e00113 li sp,14 +800004d4: 00000013 nop +800004d8: 0020d733 srl a4,ra,sp +800004dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004e0: 00200293 li t0,2 +800004e4: fe5212e3 bne tp,t0,800004c8 +800004e8: 00020eb7 lui t4,0x20 +800004ec: 02000193 li gp,32 +800004f0: 19d71e63 bne a4,t4,8000068c + +800004f4 : +800004f4: 00000213 li tp,0 +800004f8: 800000b7 lui ra,0x80000 +800004fc: 00000013 nop +80000500: 00000013 nop +80000504: 01f00113 li sp,31 +80000508: 0020d733 srl a4,ra,sp +8000050c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000510: 00200293 li t0,2 +80000514: fe5212e3 bne tp,t0,800004f8 +80000518: 00100e93 li t4,1 +8000051c: 02100193 li gp,33 +80000520: 17d71663 bne a4,t4,8000068c + +80000524 : +80000524: 00000213 li tp,0 +80000528: 00700113 li sp,7 +8000052c: 800000b7 lui ra,0x80000 +80000530: 0020d733 srl a4,ra,sp +80000534: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000538: 00200293 li t0,2 +8000053c: fe5216e3 bne tp,t0,80000528 +80000540: 01000eb7 lui t4,0x1000 +80000544: 02200193 li gp,34 +80000548: 15d71263 bne a4,t4,8000068c + +8000054c : +8000054c: 00000213 li tp,0 +80000550: 00e00113 li sp,14 +80000554: 800000b7 lui ra,0x80000 +80000558: 00000013 nop +8000055c: 0020d733 srl a4,ra,sp +80000560: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000564: 00200293 li t0,2 +80000568: fe5214e3 bne tp,t0,80000550 +8000056c: 00020eb7 lui t4,0x20 +80000570: 02300193 li gp,35 +80000574: 11d71c63 bne a4,t4,8000068c + +80000578 : +80000578: 00000213 li tp,0 +8000057c: 01f00113 li sp,31 +80000580: 800000b7 lui ra,0x80000 +80000584: 00000013 nop +80000588: 00000013 nop +8000058c: 0020d733 srl a4,ra,sp +80000590: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000594: 00200293 li t0,2 +80000598: fe5212e3 bne tp,t0,8000057c +8000059c: 00100e93 li t4,1 +800005a0: 02400193 li gp,36 +800005a4: 0fd71463 bne a4,t4,8000068c + +800005a8 : +800005a8: 00000213 li tp,0 +800005ac: 00700113 li sp,7 +800005b0: 00000013 nop +800005b4: 800000b7 lui ra,0x80000 +800005b8: 0020d733 srl a4,ra,sp +800005bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005c0: 00200293 li t0,2 +800005c4: fe5214e3 bne tp,t0,800005ac +800005c8: 01000eb7 lui t4,0x1000 +800005cc: 02500193 li gp,37 +800005d0: 0bd71e63 bne a4,t4,8000068c + +800005d4 : +800005d4: 00000213 li tp,0 +800005d8: 00e00113 li sp,14 +800005dc: 00000013 nop +800005e0: 800000b7 lui ra,0x80000 +800005e4: 00000013 nop +800005e8: 0020d733 srl a4,ra,sp +800005ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005f0: 00200293 li t0,2 +800005f4: fe5212e3 bne tp,t0,800005d8 +800005f8: 00020eb7 lui t4,0x20 +800005fc: 02600193 li gp,38 +80000600: 09d71663 bne a4,t4,8000068c + +80000604 : +80000604: 00000213 li tp,0 +80000608: 01f00113 li sp,31 +8000060c: 00000013 nop +80000610: 00000013 nop +80000614: 800000b7 lui ra,0x80000 +80000618: 0020d733 srl a4,ra,sp +8000061c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000620: 00200293 li t0,2 +80000624: fe5212e3 bne tp,t0,80000608 +80000628: 00100e93 li t4,1 +8000062c: 02700193 li gp,39 +80000630: 05d71e63 bne a4,t4,8000068c + +80000634 : +80000634: 00f00093 li ra,15 +80000638: 00105133 srl sp,zero,ra +8000063c: 00000e93 li t4,0 +80000640: 02800193 li gp,40 +80000644: 05d11463 bne sp,t4,8000068c + +80000648 : +80000648: 02000093 li ra,32 +8000064c: 0000d133 srl sp,ra,zero +80000650: 02000e93 li t4,32 +80000654: 02900193 li gp,41 +80000658: 03d11a63 bne sp,t4,8000068c + +8000065c : +8000065c: 000050b3 srl ra,zero,zero +80000660: 00000e93 li t4,0 +80000664: 02a00193 li gp,42 +80000668: 03d09263 bne ra,t4,8000068c + +8000066c : +8000066c: 40000093 li ra,1024 +80000670: 00001137 lui sp,0x1 +80000674: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800> +80000678: 0020d033 srl zero,ra,sp +8000067c: 00000e93 li t4,0 +80000680: 02b00193 li gp,43 +80000684: 01d01463 bne zero,t4,8000068c +80000688: 02301063 bne zero,gp,800006a8 + +8000068c : +8000068c: 0ff0000f fence +80000690: 00018063 beqz gp,80000690 +80000694: 00119193 slli gp,gp,0x1 +80000698: 0011e193 ori gp,gp,1 +8000069c: 05d00893 li a7,93 +800006a0: 00018513 mv a0,gp +800006a4: 00000073 ecall + +800006a8 : +800006a8: 0ff0000f fence +800006ac: 00100193 li gp,1 +800006b0: 05d00893 li a7,93 +800006b4: 00000513 li a0,0 +800006b8: 00000073 ecall +800006bc: c0001073 unimp +800006c0: 0000 unimp +800006c2: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-srl.hex b/simX/riscv_tests/rv32ui-p-srl.hex index 8f09b9ec..b85f2a47 100644 --- a/simX/riscv_tests/rv32ui-p-srl.hex +++ b/simX/riscv_tests/rv32ui-p-srl.hex @@ -2,112 +2,116 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030B700008034 -:1000C00013010000B3D12000B70E0080130E2000F2 -:1000D0006398D157B700008013011000B3D12000FE -:1000E000B70E0040130E3000639CD155B70000805E -:1000F00013017000B3D12000B70E0001130E4000B1 -:100100006390D155B70000801301E000B3D1200007 -:10011000B70E0200130E50006394D153B700008055 -:10012000938010001301F001B3D12000930E100052 -:10013000130E60006396D1519300F0FF130100008D -:10014000B3D12000930EF0FF130E7000639AD14FCD -:100150009300F0FF13011000B3D12000B70E008010 -:10016000938EFEFF130E8000639CD14D9300F0FF31 -:1001700013017000B3D12000B70E0002938EFEFF72 -:10018000130E9000639ED14B9300F0FF1301E0002B -:10019000B3D12000B70E0400938EFEFF130EA00013 -:1001A0006390D14B9300F0FF1301F001B3D1200015 -:1001B000930E1000130EB0006394D149B720212193 -:1001C0009380101213010000B3D12000B72E21211B -:1001D000938E1E12130EC0006394D147B7202121C5 -:1001E0009380101213011000B3D12000B79E90101D -:1001F000938E0E09130ED0006394D145B7202121B0 -:100200009380101213017000B3D12000B74E42004A -:10021000938E2E24130EE0006394D143B720212146 -:10022000938010121301E000B3D12000B78E0000BC -:10023000938E4E48130EF0006394D141B7202121D4 -:10024000938010121301F001B3D12000930E00002F -:10025000130E00016396D13FB72021219380101225 -:10026000130100FCB3D12000B72E2121938E1E1262 -:10027000130E10016396D13DB720212193801012F7 -:10028000130110FCB3D12000B79E9010938E0E097D -:10029000130E20016396D13BB720212193801012C9 -:1002A000130170FCB3D12000B74E4200938E2E2470 -:1002B000130E30016396D139B7202121938010129B -:1002C0001301E0FCB3D12000B78E0000938E4E489E -:1002D000130E40016396D137B7202121938010126D -:1002E0001301F0FFB3D12000930E0000130E500154 -:1002F0006398D135B700008013017000B3D020009F -:10030000B70E0001130E6001639CD033B70000806C -:100310001301E00033D12000B70E0200130E70016C -:100320006310D13393007000B3D01000930E00001F -:10033000130E80016396D03113020000B7000080D5 -:1003400013017000B3D120001383010013021200C7 -:1003500093022000E31452FEB70E0001130E900129 -:100360006310D32F13020000B70000801301E000D8 -:10037000B3D1200013000000138301001302120008 -:1003800093022000E31252FEB70E0200130EA001EA -:100390006318D32B13020000B70000801301F00193 -:1003A000B3D12000130000001300000013830100EC -:1003B0001302120093022000E31052FE930E10006D -:1003C000130EB001631ED32713020000B700008094 -:1003D00013017000B3D12000130212009302200019 -:1003E000E31652FEB70E0001130EC001639AD12529 -:1003F00013020000B70000801301E00013000000AA -:10040000B3D120001302120093022000E31452FE25 -:10041000B70E0200130ED0016394D1231302000023 -:10042000B70000801301F00113000000130000006A -:10043000B3D120001302120093022000E31252FEF7 -:10044000930E1000130EE001639CD11F13020000F5 -:10045000B70000801300000013017000B3D120002A -:100460001302120093022000E31452FEB70E0001A3 -:10047000130EF0016396D11D13020000B700008037 -:10048000130000001301E00013000000B3D12000AE -:100490001302120093022000E31252FEB70E020074 -:1004A000130E0002639ED11913020000B7000080F2 -:1004B00013000000130000001301F001B3D120006D -:1004C0001302120093022000E31252FE930E10005A -:1004D000130E10026396D11713020000130170006F -:1004E000B7000080B3D12000130212009302200055 -:1004F000E31652FEB70E0001130E20026392D115CF -:10050000130200001301E000B70000801300000098 -:10051000B3D120001302120093022000E31452FE14 -:10052000B70E0200130E3002639CD11113020000BB -:100530001301F001B7000080130000001300000059 -:10054000B3D120001302120093022000E31252FEE6 -:10055000930E1000130E40026394D10F130200009B -:100560001301700013000000B7000080B3D1200019 -:100570001302120093022000E31452FEB70E000192 -:10058000130E5002639ED10B130200001301E00012 -:1005900013000000B700008013000000B3D120005A -:1005A0001302120093022000E31252FEB70E020063 -:1005B000130E60026396D109130200001301F001CB -:1005C0001300000013000000B7000080B3D120002A -:1005D0001302120093022000E31252FE930E100049 -:1005E000130E7002639ED1059300F000335110008A -:1005F000930E0000130E80026314D10593000002D5 -:1006000033D10000930E0002130E9002631AD1033F -:10061000B3500000930E0000130EA0026392D003AB -:1006200093000040371100001301018033D02000F7 -:10063000930E0000130EB0026314D001631CC001BE -:100640000F00F00F63000E00131E1E00136E1E003D -:10065000730000000F00F00F130E10007300000075 -:10066000731000C000000000000000000000000047 -:10067000000000000000000000000000000000007A -:040680000000000076 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030B70000801301000018 +:1001100033D72000B70E0080930120006318D75713 +:10012000B70000801301100033D72000B70E004045 +:1001300093013000631CD755B70000801301700095 +:1001400033D72000B70E0001930140006310D7554C +:10015000B70000801301E00033D72000B70E020083 +:10016000930150006314D753B700008093801000B0 +:100170001301F00133D72000930E100093016000AB +:100180006316D7519300F0FF1301000033D720000E +:10019000930EF0FF93017000631AD74F9300F0FFA6 +:1001A0001301100033D72000B70E0080938EFEFF9E +:1001B00093018000631CD74D9300F0FF1301700082 +:1001C00033D72000B70E0002938EFEFF93019000FC +:1001D000631ED74B9300F0FF1301E00033D72000DC +:1001E000B70E0400938EFEFF9301A0006310D74B5F +:1001F0009300F0FF1301F00133D72000930E10009D +:100200009301B0006314D749B720212193801012C5 +:100210001301000033D72000B72E2121938E1E1228 +:100220009301C0006314D747B72021219380101297 +:100230001301100033D72000B79E9010938E0E0943 +:100240009301D0006314D745B72021219380101269 +:100250001301700033D72000B74E4200938E2E2436 +:100260009301E0006314D743B7202121938010123B +:100270001301E00033D72000B78E0000938E4E4864 +:100280009301F0006314D741B7202121938010120D +:100290001301F00133D72000930E000093010001F9 +:1002A0006316D73FB720212193801012130100FC61 +:1002B00033D72000B72E2121938E1E1293011001F7 +:1002C0006316D73DB720212193801012130110FC33 +:1002D00033D72000B79E9010938E0E099301200112 +:1002E0006316D73BB720212193801012130170FCB5 +:1002F00033D72000B74E4200938E2E249301300155 +:100300006316D739B7202121938010121301E0FC26 +:1003100033D72000B78E0000938E4E4893014001E2 +:100320006316D737B7202121938010121301F0FFF5 +:1003300033D72000930E0000930150016318D73586 +:10034000B700008013017000B3D02000B70E000189 +:1003500093016001639CD033B70000801301E0007B +:1003600033D12000B70E0200930170016310D13326 +:1003700093007000B3D01000930E00009301800131 +:100380006396D03113020000B700008013017000A3 +:1003900033D720001303070013021200930220003A +:1003A000E31452FEB70E0001930190016310D32FA6 +:1003B00013020000B70000801301E00033D72000D3 +:1003C0001300000013030700130212009302200021 +:1003D000E31252FEB70E02009301A0016318D32B63 +:1003E00013020000B70000801301F00133D7200092 +:1003F0001300000013000000130307001302120093 +:1004000093022000E31052FE930E10009301B001FE +:10041000631ED32713020000B70000801301700091 +:1004200033D720001302120093022000E31652FE7D +:10043000B70E00019301C001631AD7251302000013 +:10044000B70000801301E0001300000033D7200044 +:100450001302120093022000E31452FEB70E0200B2 +:100460009301D0016314D72313020000B70000806A +:100470001301F001130000001300000033D7200027 +:100480001302120093022000E31252FE930E10009A +:100490009301E001631CD71F13020000B700008026 +:1004A000130000001301700033D720001302120064 +:1004B00093022000E31452FEB70E00019301F001F5 +:1004C0006316D71D13020000B70000801300000060 +:1004D0001301E0001300000033D7200013021200C4 +:1004E00093022000E31252FEB70E020093010002B5 +:1004F000631ED71913020000B7000080130000002C +:10050000130000001301F00133D720001302120082 +:1005100093022000E31252FE930E1000930110028A +:100520006316D7171302000013017000B700008094 +:1005300033D720001302120093022000E31652FE6C +:10054000B70E0001930120026312D71513020000B9 +:100550001301E000B70000801300000033D7200033 +:100560001302120093022000E31452FEB70E0200A1 +:1005700093013002631CD711130200001301F00134 +:10058000B7000080130000001300000033D72000E4 +:100590001302120093022000E31252FE930E100089 +:1005A000930140026314D70F13020000130170007F +:1005B00013000000B700008033D7200013021200A0 +:1005C00093022000E31452FEB70E00019301500283 +:1005D000631ED70B130200001301E000130000009C +:1005E000B70000801300000033D720001302120070 +:1005F00093022000E31252FEB70E02009301600244 +:100600006316D709130200001301F0011300000064 +:1006100013000000B700008033D72000130212003F +:1006200093022000E31252FE930E10009301700219 +:10063000631ED7059300F00033511000930E0000A5 +:10064000930180026314D1059300000233D10000AE +:10065000930E000293019002631AD103B35000007D +:10066000930E00009301A0026392D0039300004018 +:10067000371100001301018033D02000930E0000D9 +:100680009301B0026314D001631030020F00F00F29 +:10069000638001009391110093E111009308D0054C +:1006A00013850100730000000F00F00F930110008C +:1006B0009308D0051305000073000000731000C0FC +:0406C0000000000036 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-srli.dump b/simX/riscv_tests/rv32ui-p-srli.dump new file mode 100644 index 00000000..c426bcdf --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-srli.dump @@ -0,0 +1,334 @@ + +rv32ui-p-srli: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 800000b7 lui ra,0x80000 +8000010c: 0000d713 srli a4,ra,0x0 +80000110: 80000eb7 lui t4,0x80000 +80000114: 00200193 li gp,2 +80000118: 29d71863 bne a4,t4,800003a8 + +8000011c : +8000011c: 800000b7 lui ra,0x80000 +80000120: 0010d713 srli a4,ra,0x1 +80000124: 40000eb7 lui t4,0x40000 +80000128: 00300193 li gp,3 +8000012c: 27d71e63 bne a4,t4,800003a8 + +80000130 : +80000130: 800000b7 lui ra,0x80000 +80000134: 0070d713 srli a4,ra,0x7 +80000138: 01000eb7 lui t4,0x1000 +8000013c: 00400193 li gp,4 +80000140: 27d71463 bne a4,t4,800003a8 + +80000144 : +80000144: 800000b7 lui ra,0x80000 +80000148: 00e0d713 srli a4,ra,0xe +8000014c: 00020eb7 lui t4,0x20 +80000150: 00500193 li gp,5 +80000154: 25d71a63 bne a4,t4,800003a8 + +80000158 : +80000158: 800000b7 lui ra,0x80000 +8000015c: 00108093 addi ra,ra,1 # 80000001 <_end+0xffffe001> +80000160: 01f0d713 srli a4,ra,0x1f +80000164: 00100e93 li t4,1 +80000168: 00600193 li gp,6 +8000016c: 23d71e63 bne a4,t4,800003a8 + +80000170 : +80000170: fff00093 li ra,-1 +80000174: 0000d713 srli a4,ra,0x0 +80000178: fff00e93 li t4,-1 +8000017c: 00700193 li gp,7 +80000180: 23d71463 bne a4,t4,800003a8 + +80000184 : +80000184: fff00093 li ra,-1 +80000188: 0010d713 srli a4,ra,0x1 +8000018c: 80000eb7 lui t4,0x80000 +80000190: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdfff> +80000194: 00800193 li gp,8 +80000198: 21d71863 bne a4,t4,800003a8 + +8000019c : +8000019c: fff00093 li ra,-1 +800001a0: 0070d713 srli a4,ra,0x7 +800001a4: 02000eb7 lui t4,0x2000 +800001a8: fffe8e93 addi t4,t4,-1 # 1ffffff <_start-0x7e000001> +800001ac: 00900193 li gp,9 +800001b0: 1fd71c63 bne a4,t4,800003a8 + +800001b4 : +800001b4: fff00093 li ra,-1 +800001b8: 00e0d713 srli a4,ra,0xe +800001bc: 00040eb7 lui t4,0x40 +800001c0: fffe8e93 addi t4,t4,-1 # 3ffff <_start-0x7ffc0001> +800001c4: 00a00193 li gp,10 +800001c8: 1fd71063 bne a4,t4,800003a8 + +800001cc : +800001cc: fff00093 li ra,-1 +800001d0: 01f0d713 srli a4,ra,0x1f +800001d4: 00100e93 li t4,1 +800001d8: 00b00193 li gp,11 +800001dc: 1dd71663 bne a4,t4,800003a8 + +800001e0 : +800001e0: 212120b7 lui ra,0x21212 +800001e4: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001e8: 0000d713 srli a4,ra,0x0 +800001ec: 21212eb7 lui t4,0x21212 +800001f0: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +800001f4: 00c00193 li gp,12 +800001f8: 1bd71863 bne a4,t4,800003a8 + +800001fc : +800001fc: 212120b7 lui ra,0x21212 +80000200: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000204: 0010d713 srli a4,ra,0x1 +80000208: 10909eb7 lui t4,0x10909 +8000020c: 090e8e93 addi t4,t4,144 # 10909090 <_start-0x6f6f6f70> +80000210: 00d00193 li gp,13 +80000214: 19d71a63 bne a4,t4,800003a8 + +80000218 : +80000218: 212120b7 lui ra,0x21212 +8000021c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000220: 0070d713 srli a4,ra,0x7 +80000224: 00424eb7 lui t4,0x424 +80000228: 242e8e93 addi t4,t4,578 # 424242 <_start-0x7fbdbdbe> +8000022c: 00e00193 li gp,14 +80000230: 17d71c63 bne a4,t4,800003a8 + +80000234 : +80000234: 212120b7 lui ra,0x21212 +80000238: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +8000023c: 00e0d713 srli a4,ra,0xe +80000240: 00008eb7 lui t4,0x8 +80000244: 484e8e93 addi t4,t4,1156 # 8484 <_start-0x7fff7b7c> +80000248: 00f00193 li gp,15 +8000024c: 15d71e63 bne a4,t4,800003a8 + +80000250 : +80000250: 212120b7 lui ra,0x21212 +80000254: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000258: 01f0d713 srli a4,ra,0x1f +8000025c: 00000e93 li t4,0 +80000260: 01000193 li gp,16 +80000264: 15d71263 bne a4,t4,800003a8 + +80000268 : +80000268: 800000b7 lui ra,0x80000 +8000026c: 0070d093 srli ra,ra,0x7 +80000270: 01000eb7 lui t4,0x1000 +80000274: 01100193 li gp,17 +80000278: 13d09863 bne ra,t4,800003a8 + +8000027c : +8000027c: 00000213 li tp,0 +80000280: 800000b7 lui ra,0x80000 +80000284: 0070d713 srli a4,ra,0x7 +80000288: 00070313 mv t1,a4 +8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000290: 00200293 li t0,2 +80000294: fe5216e3 bne tp,t0,80000280 +80000298: 01000eb7 lui t4,0x1000 +8000029c: 01200193 li gp,18 +800002a0: 11d31463 bne t1,t4,800003a8 + +800002a4 : +800002a4: 00000213 li tp,0 +800002a8: 800000b7 lui ra,0x80000 +800002ac: 00e0d713 srli a4,ra,0xe +800002b0: 00000013 nop +800002b4: 00070313 mv t1,a4 +800002b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002bc: 00200293 li t0,2 +800002c0: fe5214e3 bne tp,t0,800002a8 +800002c4: 00020eb7 lui t4,0x20 +800002c8: 01300193 li gp,19 +800002cc: 0dd31e63 bne t1,t4,800003a8 + +800002d0 : +800002d0: 00000213 li tp,0 +800002d4: 800000b7 lui ra,0x80000 +800002d8: 00108093 addi ra,ra,1 # 80000001 <_end+0xffffe001> +800002dc: 01f0d713 srli a4,ra,0x1f +800002e0: 00000013 nop +800002e4: 00000013 nop +800002e8: 00070313 mv t1,a4 +800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f0: 00200293 li t0,2 +800002f4: fe5210e3 bne tp,t0,800002d4 +800002f8: 00100e93 li t4,1 +800002fc: 01400193 li gp,20 +80000300: 0bd31463 bne t1,t4,800003a8 + +80000304 : +80000304: 00000213 li tp,0 +80000308: 800000b7 lui ra,0x80000 +8000030c: 0070d713 srli a4,ra,0x7 +80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000314: 00200293 li t0,2 +80000318: fe5218e3 bne tp,t0,80000308 +8000031c: 01000eb7 lui t4,0x1000 +80000320: 01500193 li gp,21 +80000324: 09d71263 bne a4,t4,800003a8 + +80000328 : +80000328: 00000213 li tp,0 +8000032c: 800000b7 lui ra,0x80000 +80000330: 00000013 nop +80000334: 00e0d713 srli a4,ra,0xe +80000338: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000033c: 00200293 li t0,2 +80000340: fe5216e3 bne tp,t0,8000032c +80000344: 00020eb7 lui t4,0x20 +80000348: 01600193 li gp,22 +8000034c: 05d71e63 bne a4,t4,800003a8 + +80000350 : +80000350: 00000213 li tp,0 +80000354: 800000b7 lui ra,0x80000 +80000358: 00108093 addi ra,ra,1 # 80000001 <_end+0xffffe001> +8000035c: 00000013 nop +80000360: 00000013 nop +80000364: 01f0d713 srli a4,ra,0x1f +80000368: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000036c: 00200293 li t0,2 +80000370: fe5212e3 bne tp,t0,80000354 +80000374: 00100e93 li t4,1 +80000378: 01700193 li gp,23 +8000037c: 03d71663 bne a4,t4,800003a8 + +80000380 : +80000380: 00405093 srli ra,zero,0x4 +80000384: 00000e93 li t4,0 +80000388: 01800193 li gp,24 +8000038c: 01d09e63 bne ra,t4,800003a8 + +80000390 : +80000390: 02100093 li ra,33 +80000394: 00a0d013 srli zero,ra,0xa +80000398: 00000e93 li t4,0 +8000039c: 01900193 li gp,25 +800003a0: 01d01463 bne zero,t4,800003a8 +800003a4: 02301063 bne zero,gp,800003c4 + +800003a8 : +800003a8: 0ff0000f fence +800003ac: 00018063 beqz gp,800003ac +800003b0: 00119193 slli gp,gp,0x1 +800003b4: 0011e193 ori gp,gp,1 +800003b8: 05d00893 li a7,93 +800003bc: 00018513 mv a0,gp +800003c0: 00000073 ecall + +800003c4 : +800003c4: 0ff0000f fence +800003c8: 00100193 li gp,1 +800003cc: 05d00893 li a7,93 +800003d0: 00000513 li a0,0 +800003d4: 00000073 ecall +800003d8: c0001073 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/simX/riscv_tests/rv32ui-p-srli.hex b/simX/riscv_tests/rv32ui-p-srli.hex index b36084e3..a7f79ab4 100644 --- a/simX/riscv_tests/rv32ui-p-srli.hex +++ b/simX/riscv_tests/rv32ui-p-srli.hex @@ -2,64 +2,72 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030B700008034 -:1000C00093D10000B70E0080130E20006398D12951 -:1000D000B700008093D11000B70E0040130E30001F -:1000E000639ED127B700008093D17000B70E000146 -:1000F000130E40006394D127B700008093D1E00035 -:10010000B70E0200130E5000639AD125B70000808D -:100110009380100093D1F001930E1000130E600035 -:10012000639ED1239300F0FF93D10000930EF0FF64 -:10013000130E70006394D1239300F0FF93D110004D -:10014000B70E0080938EFEFF130E80006398D121BE -:100150009300F0FF93D17000B70E0002938EFEFF64 -:10016000130E9000639CD11F9300F0FF93D1E00029 -:10017000B70E0400938EFEFF130EA0006390D11FF4 -:100180009300F0FF93D1F001930E1000130EB00016 -:100190006396D11DB72021219380101293D10000C6 -:1001A000B72E2121938E1E12130EC0006398D11B0F -:1001B000B72021219380101293D11000B79E901088 -:1001C000938E0E09130ED000639AD119B720212106 -:1001D0009380101293D17000B74E4200938E2E245C -:1001E000130EE000639CD117B720212193801012D9 -:1001F00093D1E000B78E0000938E4E48130EF000AE -:10020000639ED115B72021219380101293D1F00164 -:10021000930E0000130E00016392D115B700008009 -:1002200093D07000B70E0001130E10016398D01325 -:1002300013020000B700008093D170001383010007 -:100240001302120093022000E31652FEB70E0001C3 -:10025000130E20016314D31113020000B7000080B5 -:1002600093D1E00013000000138301001302120079 -:1002700093022000E31452FEB70E0200130E300169 -:10028000631ED30D13020000B7000080938010009E -:1002900093D1F0011300000013000000138301004C -:1002A0001302120093022000E31052FE930E10007E -:1002B000130E40016314D30B13020000B70000803B -:1002C00093D170001302120093022000E31852FE33 -:1002D000B70E0001130E50016392D1091302000002 -:1002E000B70000801300000093D1E0001302120059 -:1002F00093022000E31652FEB70E0200130E6001B7 -:10030000639ED10513020000B700008093801000A7 -:10031000130000001300000093D1F001130212003B -:1003200093022000E31252FE930E1000130E700190 -:100330006396D10393504000930E0000130E80018A -:10034000639ED0019300100213D0A000930E000012 -:10035000130E90016314D001631CC0010F00F00F55 -:1003600063000E00131E1E00136E1E0073000000BB -:100370000F00F00F130E100073000000731000C088 -:040380000000000079 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030B700008013D7000042 +:10011000B70E0080930120006318D729B700008034 +:1001200013D71000B70E004093013000631ED7278D +:10013000B700008013D77000B70E00019301400094 +:100140006314D727B700008013D7E000B70E020072 +:1001500093015000631AD725B700008093801000E8 +:1001600013D7F001930E100093016000631ED72394 +:100170009300F0FF13D70000930EF0FF930170007F +:100180006314D7239300F0FF13D71000B70E00803D +:10019000938EFEFF930180006318D7219300F0FF38 +:1001A00013D77000B70E0002938EFEFF93019000EC +:1001B000631CD71F9300F0FF13D7E000B70E0400B5 +:1001C000938EFEFF9301A0006310D71F9300F0FFF2 +:1001D00013D7F001930E10009301B0006316D71DE2 +:1001E000B72021219380101213D70000B72E2121B0 +:1001F000938E1E129301C0006318D71BB7202121D4 +:100200009380101213D71000B79E9010938E0E0992 +:100210009301D000631AD719B720212193801012BF +:1002200013D77000B74E4200938E2E249301E00046 +:10023000631CD717B72021219380101213D7E00039 +:10024000B78E0000938E4E489301F000631ED715C1 +:10025000B72021219380101213D7F001930E0000D4 +:10026000930100016312D715B700008093D070008E +:10027000B70E0001930110016398D0131302000020 +:10028000B700008013D77000130307001302120099 +:1002900093022000E31652FEB70E000193012001E5 +:1002A0006314D31113020000B700008013D7E000DD +:1002B0001300000013030700130212009302200032 +:1002C000E31452FEB70E020093013001631ED30DFA +:1002D00013020000B70000809380100013D7F001D4 +:1002E00013000000130000001303070013021200A4 +:1002F00093022000E31052FE930E10009301400180 +:100300006314D30B13020000B700008013D77000F2 +:100310001302120093022000E31852FEB70E0001F0 +:10032000930150016312D70913020000B700008047 +:100330001300000013D7E000130212009302200004 +:10034000E31652FEB70E020093016001631ED7054B +:1003500013020000B700008093801000130000001B +:100360001300000013D7F0011302120093022000C3 +:10037000E31252FE930E1000930170016316D7032F +:1003800093504000930E000093018001639ED001C2 +:100390009300100213D0A000930E0000930190016F +:1003A0006314D001631030020F00F00F638001006E +:1003B0009391110093E111009308D005138501007A +:1003C000730000000F00F00F930110009308D00598 +:1003D0001305000073000000731000C0000000004F +:1003E000000000000000000000000000000000000D +:1003F00000000000000000000000000000000000FD +:0404000000000000F8 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-sub.dump b/simX/riscv_tests/rv32ui-p-sub.dump new file mode 100644 index 00000000..fd797213 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-sub.dump @@ -0,0 +1,478 @@ + +rv32ui-p-sub: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00000093 li ra,0 +8000010c: 00000113 li sp,0 +80000110: 40208733 sub a4,ra,sp +80000114: 00000e93 li t4,0 +80000118: 00200193 li gp,2 +8000011c: 4bd71663 bne a4,t4,800005c8 + +80000120 : +80000120: 00100093 li ra,1 +80000124: 00100113 li sp,1 +80000128: 40208733 sub a4,ra,sp +8000012c: 00000e93 li t4,0 +80000130: 00300193 li gp,3 +80000134: 49d71a63 bne a4,t4,800005c8 + +80000138 : +80000138: 00300093 li ra,3 +8000013c: 00700113 li sp,7 +80000140: 40208733 sub a4,ra,sp +80000144: ffc00e93 li t4,-4 +80000148: 00400193 li gp,4 +8000014c: 47d71e63 bne a4,t4,800005c8 + +80000150 : +80000150: 00000093 li ra,0 +80000154: ffff8137 lui sp,0xffff8 +80000158: 40208733 sub a4,ra,sp +8000015c: 00008eb7 lui t4,0x8 +80000160: 00500193 li gp,5 +80000164: 47d71263 bne a4,t4,800005c8 + +80000168 : +80000168: 800000b7 lui ra,0x80000 +8000016c: 00000113 li sp,0 +80000170: 40208733 sub a4,ra,sp +80000174: 80000eb7 lui t4,0x80000 +80000178: 00600193 li gp,6 +8000017c: 45d71663 bne a4,t4,800005c8 + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: ffff8137 lui sp,0xffff8 +80000188: 40208733 sub a4,ra,sp +8000018c: 80008eb7 lui t4,0x80008 +80000190: 00700193 li gp,7 +80000194: 43d71a63 bne a4,t4,800005c8 + +80000198 : +80000198: 00000093 li ra,0 +8000019c: 00008137 lui sp,0x8 +800001a0: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001a4: 40208733 sub a4,ra,sp +800001a8: ffff8eb7 lui t4,0xffff8 +800001ac: 001e8e93 addi t4,t4,1 # ffff8001 <_end+0x7fff6001> +800001b0: 00800193 li gp,8 +800001b4: 41d71a63 bne a4,t4,800005c8 + +800001b8 : +800001b8: 800000b7 lui ra,0x80000 +800001bc: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001c0: 00000113 li sp,0 +800001c4: 40208733 sub a4,ra,sp +800001c8: 80000eb7 lui t4,0x80000 +800001cc: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffdfff> +800001d0: 00900193 li gp,9 +800001d4: 3fd71a63 bne a4,t4,800005c8 + +800001d8 : +800001d8: 800000b7 lui ra,0x80000 +800001dc: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +800001e0: 00008137 lui sp,0x8 +800001e4: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001e8: 40208733 sub a4,ra,sp +800001ec: 7fff8eb7 lui t4,0x7fff8 +800001f0: 00a00193 li gp,10 +800001f4: 3dd71a63 bne a4,t4,800005c8 + +800001f8 : +800001f8: 800000b7 lui ra,0x80000 +800001fc: 00008137 lui sp,0x8 +80000200: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +80000204: 40208733 sub a4,ra,sp +80000208: 7fff8eb7 lui t4,0x7fff8 +8000020c: 001e8e93 addi t4,t4,1 # 7fff8001 <_start-0x7fff> +80000210: 00b00193 li gp,11 +80000214: 3bd71a63 bne a4,t4,800005c8 + +80000218 : +80000218: 800000b7 lui ra,0x80000 +8000021c: fff08093 addi ra,ra,-1 # 7fffffff <_end+0xffffdfff> +80000220: ffff8137 lui sp,0xffff8 +80000224: 40208733 sub a4,ra,sp +80000228: 80008eb7 lui t4,0x80008 +8000022c: fffe8e93 addi t4,t4,-1 # 80007fff <_end+0x5fff> +80000230: 00c00193 li gp,12 +80000234: 39d71a63 bne a4,t4,800005c8 + +80000238 : +80000238: 00000093 li ra,0 +8000023c: fff00113 li sp,-1 +80000240: 40208733 sub a4,ra,sp +80000244: 00100e93 li t4,1 +80000248: 00d00193 li gp,13 +8000024c: 37d71e63 bne a4,t4,800005c8 + +80000250 : +80000250: fff00093 li ra,-1 +80000254: 00100113 li sp,1 +80000258: 40208733 sub a4,ra,sp +8000025c: ffe00e93 li t4,-2 +80000260: 00e00193 li gp,14 +80000264: 37d71263 bne a4,t4,800005c8 + +80000268 : +80000268: fff00093 li ra,-1 +8000026c: fff00113 li sp,-1 +80000270: 40208733 sub a4,ra,sp +80000274: 00000e93 li t4,0 +80000278: 00f00193 li gp,15 +8000027c: 35d71663 bne a4,t4,800005c8 + +80000280 : +80000280: 00d00093 li ra,13 +80000284: 00b00113 li sp,11 +80000288: 402080b3 sub ra,ra,sp +8000028c: 00200e93 li t4,2 +80000290: 01000193 li gp,16 +80000294: 33d09a63 bne ra,t4,800005c8 + +80000298 : +80000298: 00e00093 li ra,14 +8000029c: 00b00113 li sp,11 +800002a0: 40208133 sub sp,ra,sp +800002a4: 00300e93 li t4,3 +800002a8: 01100193 li gp,17 +800002ac: 31d11e63 bne sp,t4,800005c8 + +800002b0 : +800002b0: 00d00093 li ra,13 +800002b4: 401080b3 sub ra,ra,ra +800002b8: 00000e93 li t4,0 +800002bc: 01200193 li gp,18 +800002c0: 31d09463 bne ra,t4,800005c8 + +800002c4 : +800002c4: 00000213 li tp,0 +800002c8: 00d00093 li ra,13 +800002cc: 00b00113 li sp,11 +800002d0: 40208733 sub a4,ra,sp +800002d4: 00070313 mv t1,a4 +800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002dc: 00200293 li t0,2 +800002e0: fe5214e3 bne tp,t0,800002c8 +800002e4: 00200e93 li t4,2 +800002e8: 01300193 li gp,19 +800002ec: 2dd31e63 bne t1,t4,800005c8 + +800002f0 : +800002f0: 00000213 li tp,0 +800002f4: 00e00093 li ra,14 +800002f8: 00b00113 li sp,11 +800002fc: 40208733 sub a4,ra,sp +80000300: 00000013 nop +80000304: 00070313 mv t1,a4 +80000308: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000030c: 00200293 li t0,2 +80000310: fe5212e3 bne tp,t0,800002f4 +80000314: 00300e93 li t4,3 +80000318: 01400193 li gp,20 +8000031c: 2bd31663 bne t1,t4,800005c8 + +80000320 : +80000320: 00000213 li tp,0 +80000324: 00f00093 li ra,15 +80000328: 00b00113 li sp,11 +8000032c: 40208733 sub a4,ra,sp +80000330: 00000013 nop +80000334: 00000013 nop +80000338: 00070313 mv t1,a4 +8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000340: 00200293 li t0,2 +80000344: fe5210e3 bne tp,t0,80000324 +80000348: 00400e93 li t4,4 +8000034c: 01500193 li gp,21 +80000350: 27d31c63 bne t1,t4,800005c8 + +80000354 : +80000354: 00000213 li tp,0 +80000358: 00d00093 li ra,13 +8000035c: 00b00113 li sp,11 +80000360: 40208733 sub a4,ra,sp +80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000368: 00200293 li t0,2 +8000036c: fe5216e3 bne tp,t0,80000358 +80000370: 00200e93 li t4,2 +80000374: 01600193 li gp,22 +80000378: 25d71863 bne a4,t4,800005c8 + +8000037c : +8000037c: 00000213 li tp,0 +80000380: 00e00093 li ra,14 +80000384: 00b00113 li sp,11 +80000388: 00000013 nop +8000038c: 40208733 sub a4,ra,sp +80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000394: 00200293 li t0,2 +80000398: fe5214e3 bne tp,t0,80000380 +8000039c: 00300e93 li t4,3 +800003a0: 01700193 li gp,23 +800003a4: 23d71263 bne a4,t4,800005c8 + +800003a8 : +800003a8: 00000213 li tp,0 +800003ac: 00f00093 li ra,15 +800003b0: 00b00113 li sp,11 +800003b4: 00000013 nop +800003b8: 00000013 nop +800003bc: 40208733 sub a4,ra,sp +800003c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003c4: 00200293 li t0,2 +800003c8: fe5212e3 bne tp,t0,800003ac +800003cc: 00400e93 li t4,4 +800003d0: 01800193 li gp,24 +800003d4: 1fd71a63 bne a4,t4,800005c8 + +800003d8 : +800003d8: 00000213 li tp,0 +800003dc: 00d00093 li ra,13 +800003e0: 00000013 nop +800003e4: 00b00113 li sp,11 +800003e8: 40208733 sub a4,ra,sp +800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f0: 00200293 li t0,2 +800003f4: fe5214e3 bne tp,t0,800003dc +800003f8: 00200e93 li t4,2 +800003fc: 01900193 li gp,25 +80000400: 1dd71463 bne a4,t4,800005c8 + +80000404 : +80000404: 00000213 li tp,0 +80000408: 00e00093 li ra,14 +8000040c: 00000013 nop +80000410: 00b00113 li sp,11 +80000414: 00000013 nop +80000418: 40208733 sub a4,ra,sp +8000041c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000420: 00200293 li t0,2 +80000424: fe5212e3 bne tp,t0,80000408 +80000428: 00300e93 li t4,3 +8000042c: 01a00193 li gp,26 +80000430: 19d71c63 bne a4,t4,800005c8 + +80000434 : +80000434: 00000213 li tp,0 +80000438: 00f00093 li ra,15 +8000043c: 00000013 nop +80000440: 00000013 nop +80000444: 00b00113 li sp,11 +80000448: 40208733 sub a4,ra,sp +8000044c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000450: 00200293 li t0,2 +80000454: fe5212e3 bne tp,t0,80000438 +80000458: 00400e93 li t4,4 +8000045c: 01b00193 li gp,27 +80000460: 17d71463 bne a4,t4,800005c8 + +80000464 : +80000464: 00000213 li tp,0 +80000468: 00b00113 li sp,11 +8000046c: 00d00093 li ra,13 +80000470: 40208733 sub a4,ra,sp +80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000478: 00200293 li t0,2 +8000047c: fe5216e3 bne tp,t0,80000468 +80000480: 00200e93 li t4,2 +80000484: 01c00193 li gp,28 +80000488: 15d71063 bne a4,t4,800005c8 + +8000048c : +8000048c: 00000213 li tp,0 +80000490: 00b00113 li sp,11 +80000494: 00e00093 li ra,14 +80000498: 00000013 nop +8000049c: 40208733 sub a4,ra,sp +800004a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004a4: 00200293 li t0,2 +800004a8: fe5214e3 bne tp,t0,80000490 +800004ac: 00300e93 li t4,3 +800004b0: 01d00193 li gp,29 +800004b4: 11d71a63 bne a4,t4,800005c8 + +800004b8 : +800004b8: 00000213 li tp,0 +800004bc: 00b00113 li sp,11 +800004c0: 00f00093 li ra,15 +800004c4: 00000013 nop +800004c8: 00000013 nop +800004cc: 40208733 sub a4,ra,sp +800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004d4: 00200293 li t0,2 +800004d8: fe5212e3 bne tp,t0,800004bc +800004dc: 00400e93 li t4,4 +800004e0: 01e00193 li gp,30 +800004e4: 0fd71263 bne a4,t4,800005c8 + +800004e8 : +800004e8: 00000213 li tp,0 +800004ec: 00b00113 li sp,11 +800004f0: 00000013 nop +800004f4: 00d00093 li ra,13 +800004f8: 40208733 sub a4,ra,sp +800004fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000500: 00200293 li t0,2 +80000504: fe5214e3 bne tp,t0,800004ec +80000508: 00200e93 li t4,2 +8000050c: 01f00193 li gp,31 +80000510: 0bd71c63 bne a4,t4,800005c8 + +80000514 : +80000514: 00000213 li tp,0 +80000518: 00b00113 li sp,11 +8000051c: 00000013 nop +80000520: 00e00093 li ra,14 +80000524: 00000013 nop +80000528: 40208733 sub a4,ra,sp +8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000530: 00200293 li t0,2 +80000534: fe5212e3 bne tp,t0,80000518 +80000538: 00300e93 li t4,3 +8000053c: 02000193 li gp,32 +80000540: 09d71463 bne a4,t4,800005c8 + +80000544 : +80000544: 00000213 li tp,0 +80000548: 00b00113 li sp,11 +8000054c: 00000013 nop +80000550: 00000013 nop +80000554: 00f00093 li ra,15 +80000558: 40208733 sub a4,ra,sp +8000055c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000560: 00200293 li t0,2 +80000564: fe5212e3 bne tp,t0,80000548 +80000568: 00400e93 li t4,4 +8000056c: 02100193 li gp,33 +80000570: 05d71c63 bne a4,t4,800005c8 + +80000574 : +80000574: ff100093 li ra,-15 +80000578: 40100133 neg sp,ra +8000057c: 00f00e93 li t4,15 +80000580: 02200193 li gp,34 +80000584: 05d11263 bne sp,t4,800005c8 + +80000588 : +80000588: 02000093 li ra,32 +8000058c: 40008133 sub sp,ra,zero +80000590: 02000e93 li t4,32 +80000594: 02300193 li gp,35 +80000598: 03d11863 bne sp,t4,800005c8 + +8000059c : +8000059c: 400000b3 neg ra,zero +800005a0: 00000e93 li t4,0 +800005a4: 02400193 li gp,36 +800005a8: 03d09063 bne ra,t4,800005c8 + +800005ac : +800005ac: 01000093 li ra,16 +800005b0: 01e00113 li sp,30 +800005b4: 40208033 sub zero,ra,sp +800005b8: 00000e93 li t4,0 +800005bc: 02500193 li gp,37 +800005c0: 01d01463 bne zero,t4,800005c8 +800005c4: 02301063 bne zero,gp,800005e4 + +800005c8 : +800005c8: 0ff0000f fence +800005cc: 00018063 beqz gp,800005cc +800005d0: 00119193 slli gp,gp,0x1 +800005d4: 0011e193 ori gp,gp,1 +800005d8: 05d00893 li a7,93 +800005dc: 00018513 mv a0,gp +800005e0: 00000073 ecall + +800005e4 : +800005e4: 0ff0000f fence +800005e8: 00100193 li gp,1 +800005ec: 05d00893 li a7,93 +800005f0: 00000513 li a0,0 +800005f4: 00000073 ecall +800005f8: c0001073 unimp +800005fc: 0000 unimp +800005fe: 0000 unimp +80000600: 0000 unimp +80000602: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-sub.hex b/simX/riscv_tests/rv32ui-p-sub.hex index aec1f5d4..37b09c71 100644 --- a/simX/riscv_tests/rv32ui-p-sub.hex +++ b/simX/riscv_tests/rv32ui-p-sub.hex @@ -2,100 +2,104 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093000000D8 -:1000C00013010000B3812040930E0000130E2000A6 -:1000D0006396D14B9300100013011000B3812040B0 -:1000E000930E0000130E3000639AD1499300300044 -:1000F00013017000B3812040930EC0FF130E400027 -:10010000639ED147930000003781FFFFB3812040F9 -:10011000B78E0000130E50006392D147B7000080E5 -:1001200013010000B3812040B70E0080130E600061 -:100130006396D145B70000803781FFFFB38120402F -:10014000B78E0080130E7000639AD14393000000B5 -:10015000378100001301F1FFB3812040B78EFFFF0C -:10016000938E1E00130E8000639AD141B700008069 -:100170009380F0FF13010000B3812040B70E008090 -:10018000938EFEFF130E9000639AD13FB70000805C -:100190009380F0FF378100001301F1FFB38120400D -:1001A000B78EFF7F130EA000639AD13DB700008089 -:1001B000378100001301F1FFB3812040B78EFF7F2C -:1001C000938E1E00130EB000639AD13BB7000080DF -:1001D0009380F0FF3781FFFFB3812040B78E00800E -:1001E000938EFEFF130EC000639AD1399300000076 -:1001F0001301F0FFB3812040930E1000130ED000C6 -:10020000639ED1379300F0FF13011000B3812040AB -:10021000930EE0FF130EE0006392D1379300F0FFDE -:100220001301F0FFB3812040930E0000130EF00085 -:100230006396D1359300D0001301B000B380204005 -:10024000930E2000130E0001639AD0339300E00058 -:100250001301B00033812040930E3000130E1001C3 -:10026000631ED1319300D000B3801040930E000084 -:10027000130E20016394D031130200009300D000CC -:100280001301B000B3812040138301001302120058 -:1002900093022000E31452FE930E2000130E30014F -:1002A000631ED32D130200009300E0001301B00081 -:1002B000B3812040130000001383010013021200D9 -:1002C00093022000E31252FE930E3000130E400101 -:1002D0006316D32B130200009300F0001301B0004B -:1002E000B3812040130000001300000013830100BD -:1002F0001302120093022000E31052FE930E4000FE -:10030000130E5001631CD327130200009300D0008A -:100310001301B000B38120401302120093022000A9 -:10032000E31652FE930E2000130E60016398D12550 -:10033000130200009300E0001301B000130000005E -:10034000B38120401302120093022000E31452FEF6 -:10035000930E3000130E70016392D123130200003C -:100360009300F0001301B000130000001300000020 -:10037000B38120401302120093022000E31252FEC8 -:10038000930E4000130E8001639AD11F13020000E8 -:100390009300D000130000001301B000B38120408F -:1003A0001302120093022000E31452FE930E200069 -:1003B000130E90016394D11D130200009300E0001E -:1003C000130000001301B00013000000B3812040AF -:1003D0001302120093022000E31252FE930E30002B -:1003E000130EA001639CD119130200009300F000CA -:1003F00013000000130000001301B000B38120407F -:100400001302120093022000E31252FE930E4000EA -:10041000130EB0016394D117130200001301B00052 -:100420009300D000B38120401302120093022000F9 -:10043000E31652FE930E2000130EC0016390D115F7 -:10044000130200001301B0009300E000130000004D -:10045000B38120401302120093022000E31452FEE5 -:10046000930E3000130ED001639AD11113020000D5 -:100470001301B0009300F00013000000130000000F -:10048000B38120401302120093022000E31252FEB7 -:10049000930E4000130EE0016392D10F130200008F -:1004A0001301B000130000009300D000B38120407E -:1004B0001302120093022000E31452FE930E200058 -:1004C000130EF001639CD10B130200001301B00066 -:1004D000130000009300E00013000000B3812040EF -:1004E0001302120093022000E31252FE930E30001A -:1004F000130E00026394D109130200001301B0002F -:1005000013000000130000009300F000B3812040AE -:100510001302120093022000E31252FE930E4000D9 -:10052000130E1002639CD105930010FF330110409D -:10053000930EF000130E20026312D1059300000207 -:1005400033810040930E0002130E30026318D10372 -:10055000B3000040930E0000130E40026390D003DE -:10056000930000011301E00133802040930E00004E -:10057000130E50026314D001631CC0010F00F00F72 -:1005800063000E00131E1E00136E1E007300000099 -:100590000F00F00F130E100073000000731000C066 -:1005A000000000000000000000000000000000004B -:1005B000000000000000000000000000000000003B -:0405C0000000000037 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309300000013010000BC +:1001100033872040930E0000930120006316D74BD5 +:10012000930010001301100033872040930E00004D +:1001300093013000631AD749930030001301700017 +:1001400033872040930EC0FF93014000631ED747C2 +:10015000930000003781FFFF33872040B78E0000F7 +:10016000930150006312D747B700008013010000CD +:1001700033872040B70E0080930160006316D74597 +:10018000B70000803781FFFF33872040B78E0080A3 +:1001900093017000631AD743930000003781000079 +:1001A0001301F1FF33872040B78EFFFF938E1E00AF +:1001B00093018000631AD741B70000809380F0FF5D +:1001C0001301000033872040B70E0080938EFEFF9E +:1001D00093019000631AD73FB70000809380F0FF2F +:1001E000378100001301F1FF33872040B78EFF7F76 +:1001F0009301A000631AD73DB7000080378100004B +:100200001301F1FF33872040B78EFF7F938E1E00CE +:100210009301B000631AD73BB70000809380F0FFD2 +:100220003781FFFF33872040B78E0080938EFEFF1B +:100230009301C000631AD739930000001301F0FF47 +:1002400033872040930E10009301D000631ED737F0 +:100250009300F0FF1301100033872040930EE0FF5E +:100260009301E0006312D7379300F0FF1301F0FF12 +:1002700033872040930E00009301F0006316D735BA +:100280009300D0001301B000B3802040930E2000F3 +:1002900093010001639AD0339300E0001301B00092 +:1002A00033812040930E300093011001631ED13141 +:1002B0009300D000B3801040930E00009301200102 +:1002C0006394D031130200009300D0001301B000FA +:1002D000338720401303070013021200930220000B +:1002E000E31452FE930E200093013001631ED32DC0 +:1002F000130200009300E0001301B0003387204098 +:1003000013000000130307001302120093022000E1 +:10031000E31252FE930E3000930140016316D32B7B +:10032000130200009300F0001301B0003387204057 +:100330001300000013000000130307001302120053 +:1003400093022000E31052FE930E400093015001EF +:10035000631CD327130200009300D0001301B000E8 +:10036000338720401302120093022000E31652FE4E +:10037000930E2000930160016318D725130200003B +:100380009300E0001301B000130000003387204009 +:100390001302120093022000E31452FE930E300069 +:1003A000930170016312D723130200009300F00041 +:1003B0001301B00013000000130000003387204039 +:1003C0001302120093022000E31252FE930E40002B +:1003D00093018001631AD71F130200009300D0001D +:1003E000130000001301B0003387204013021200F5 +:1003F00093022000E31452FE930E2000930190011B +:100400006314D71D130200009300E00013000000E6 +:100410001301B000130000003387204013021200C4 +:1004200093022000E31252FE930E30009301A001CC +:10043000631CD719130200009300F00013000000A2 +:10044000130000001301B000338720401302120094 +:1004500093022000E31252FE930E40009301B0017C +:100460006314D717130200001301B0009300D000EB +:10047000338720401302120093022000E31652FE3D +:10048000930E20009301C0016310D71513020000E2 +:100490001301B0009300E0001300000033872040F8 +:1004A0001302120093022000E31452FE930E300058 +:1004B0009301D001631AD711130200001301B00099 +:1004C0009300F00013000000130000003387204069 +:1004D0001302120093022000E31252FE930E40001A +:1004E0009301E0016312D70F130200001301B00063 +:1004F000130000009300D000338720401302120045 +:1005000093022000E31452FE930E20009301F001A9 +:10051000631CD70B130200001301B000130000008E +:100520009300E00013000000338720401302120004 +:1005300093022000E31252FE930E3000930100025A +:100540006314D709130200001301B0001300000068 +:10055000130000009300F0003387204013021200C4 +:1005600093022000E31252FE930E4000930110020A +:10057000631CD705930010FF33011040930EF00069 +:10058000930120026312D1059300000233810040E1 +:10059000930E0002930130026318D103B3000040B0 +:1005A000930E0000930140026390D003930000017A +:1005B0001301E00133802040930E000093015002AC +:1005C0006314D001631030020F00F00F638001004C +:1005D0009391110093E111009308D0051385010058 +:1005E000730000000F00F00F930110009308D00576 +:1005F0001305000073000000731000C0000000002D +:0406000000000000F6 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-sw.dump b/simX/riscv_tests/rv32ui-p-sw.dump new file mode 100644 index 00000000..938362c9 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-sw.dump @@ -0,0 +1,469 @@ + +rv32ui-p-sw: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfcf> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00002097 auipc ra,0x2 +8000010c: ef808093 addi ra,ra,-264 # 80002000 +80000110: 00aa0137 lui sp,0xaa0 +80000114: 0aa10113 addi sp,sp,170 # aa00aa <_start-0x7f55ff56> +80000118: 0020a023 sw sp,0(ra) +8000011c: 0000a703 lw a4,0(ra) +80000120: 00aa0eb7 lui t4,0xaa0 +80000124: 0aae8e93 addi t4,t4,170 # aa00aa <_start-0x7f55ff56> +80000128: 00200193 li gp,2 +8000012c: 47d71063 bne a4,t4,8000058c + +80000130 : +80000130: 00002097 auipc ra,0x2 +80000134: ed008093 addi ra,ra,-304 # 80002000 +80000138: aa00b137 lui sp,0xaa00b +8000013c: a0010113 addi sp,sp,-1536 # aa00aa00 <_end+0x2a0089d0> +80000140: 0020a223 sw sp,4(ra) +80000144: 0040a703 lw a4,4(ra) +80000148: aa00beb7 lui t4,0xaa00b +8000014c: a00e8e93 addi t4,t4,-1536 # aa00aa00 <_end+0x2a0089d0> +80000150: 00300193 li gp,3 +80000154: 43d71c63 bne a4,t4,8000058c + +80000158 : +80000158: 00002097 auipc ra,0x2 +8000015c: ea808093 addi ra,ra,-344 # 80002000 +80000160: 0aa01137 lui sp,0xaa01 +80000164: aa010113 addi sp,sp,-1376 # aa00aa0 <_start-0x755ff560> +80000168: 0020a423 sw sp,8(ra) +8000016c: 0080a703 lw a4,8(ra) +80000170: 0aa01eb7 lui t4,0xaa01 +80000174: aa0e8e93 addi t4,t4,-1376 # aa00aa0 <_start-0x755ff560> +80000178: 00400193 li gp,4 +8000017c: 41d71863 bne a4,t4,8000058c + +80000180 : +80000180: 00002097 auipc ra,0x2 +80000184: e8008093 addi ra,ra,-384 # 80002000 +80000188: a00aa137 lui sp,0xa00aa +8000018c: 00a10113 addi sp,sp,10 # a00aa00a <_end+0x200a7fda> +80000190: 0020a623 sw sp,12(ra) +80000194: 00c0a703 lw a4,12(ra) +80000198: a00aaeb7 lui t4,0xa00aa +8000019c: 00ae8e93 addi t4,t4,10 # a00aa00a <_end+0x200a7fda> +800001a0: 00500193 li gp,5 +800001a4: 3fd71463 bne a4,t4,8000058c + +800001a8 : +800001a8: 00002097 auipc ra,0x2 +800001ac: e7408093 addi ra,ra,-396 # 8000201c +800001b0: 00aa0137 lui sp,0xaa0 +800001b4: 0aa10113 addi sp,sp,170 # aa00aa <_start-0x7f55ff56> +800001b8: fe20aa23 sw sp,-12(ra) +800001bc: ff40a703 lw a4,-12(ra) +800001c0: 00aa0eb7 lui t4,0xaa0 +800001c4: 0aae8e93 addi t4,t4,170 # aa00aa <_start-0x7f55ff56> +800001c8: 00600193 li gp,6 +800001cc: 3dd71063 bne a4,t4,8000058c + +800001d0 : +800001d0: 00002097 auipc ra,0x2 +800001d4: e4c08093 addi ra,ra,-436 # 8000201c +800001d8: aa00b137 lui sp,0xaa00b +800001dc: a0010113 addi sp,sp,-1536 # aa00aa00 <_end+0x2a0089d0> +800001e0: fe20ac23 sw sp,-8(ra) +800001e4: ff80a703 lw a4,-8(ra) +800001e8: aa00beb7 lui t4,0xaa00b +800001ec: a00e8e93 addi t4,t4,-1536 # aa00aa00 <_end+0x2a0089d0> +800001f0: 00700193 li gp,7 +800001f4: 39d71c63 bne a4,t4,8000058c + +800001f8 : +800001f8: 00002097 auipc ra,0x2 +800001fc: e2408093 addi ra,ra,-476 # 8000201c +80000200: 0aa01137 lui sp,0xaa01 +80000204: aa010113 addi sp,sp,-1376 # aa00aa0 <_start-0x755ff560> +80000208: fe20ae23 sw sp,-4(ra) +8000020c: ffc0a703 lw a4,-4(ra) +80000210: 0aa01eb7 lui t4,0xaa01 +80000214: aa0e8e93 addi t4,t4,-1376 # aa00aa0 <_start-0x755ff560> +80000218: 00800193 li gp,8 +8000021c: 37d71863 bne a4,t4,8000058c + +80000220 : +80000220: 00002097 auipc ra,0x2 +80000224: dfc08093 addi ra,ra,-516 # 8000201c +80000228: a00aa137 lui sp,0xa00aa +8000022c: 00a10113 addi sp,sp,10 # a00aa00a <_end+0x200a7fda> +80000230: 0020a023 sw sp,0(ra) +80000234: 0000a703 lw a4,0(ra) +80000238: a00aaeb7 lui t4,0xa00aa +8000023c: 00ae8e93 addi t4,t4,10 # a00aa00a <_end+0x200a7fda> +80000240: 00900193 li gp,9 +80000244: 35d71463 bne a4,t4,8000058c + +80000248 : +80000248: 00002097 auipc ra,0x2 +8000024c: dd808093 addi ra,ra,-552 # 80002020 +80000250: 12345137 lui sp,0x12345 +80000254: 67810113 addi sp,sp,1656 # 12345678 <_start-0x6dcba988> +80000258: fe008213 addi tp,ra,-32 +8000025c: 02222023 sw sp,32(tp) # 20 <_start-0x7fffffe0> +80000260: 0000a283 lw t0,0(ra) +80000264: 12345eb7 lui t4,0x12345 +80000268: 678e8e93 addi t4,t4,1656 # 12345678 <_start-0x6dcba988> +8000026c: 00a00193 li gp,10 +80000270: 31d29e63 bne t0,t4,8000058c + +80000274 : +80000274: 00002097 auipc ra,0x2 +80000278: dac08093 addi ra,ra,-596 # 80002020 +8000027c: 58213137 lui sp,0x58213 +80000280: 09810113 addi sp,sp,152 # 58213098 <_start-0x27decf68> +80000284: ffd08093 addi ra,ra,-3 +80000288: 0020a3a3 sw sp,7(ra) +8000028c: 00002217 auipc tp,0x2 +80000290: d9820213 addi tp,tp,-616 # 80002024 +80000294: 00022283 lw t0,0(tp) # 0 <_start-0x80000000> +80000298: 58213eb7 lui t4,0x58213 +8000029c: 098e8e93 addi t4,t4,152 # 58213098 <_start-0x27decf68> +800002a0: 00b00193 li gp,11 +800002a4: 2fd29463 bne t0,t4,8000058c + +800002a8 : +800002a8: 00c00193 li gp,12 +800002ac: 00000213 li tp,0 +800002b0: aabbd0b7 lui ra,0xaabbd +800002b4: cdd08093 addi ra,ra,-803 # aabbccdd <_end+0x2abbacad> +800002b8: 00002117 auipc sp,0x2 +800002bc: d4810113 addi sp,sp,-696 # 80002000 +800002c0: 00112023 sw ra,0(sp) +800002c4: 00012703 lw a4,0(sp) +800002c8: aabbdeb7 lui t4,0xaabbd +800002cc: cdde8e93 addi t4,t4,-803 # aabbccdd <_end+0x2abbacad> +800002d0: 2bd71e63 bne a4,t4,8000058c +800002d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d8: 00200293 li t0,2 +800002dc: fc521ae3 bne tp,t0,800002b0 + +800002e0 : +800002e0: 00d00193 li gp,13 +800002e4: 00000213 li tp,0 +800002e8: daabc0b7 lui ra,0xdaabc +800002ec: ccd08093 addi ra,ra,-819 # daabbccd <_end+0x5aab9c9d> +800002f0: 00002117 auipc sp,0x2 +800002f4: d1010113 addi sp,sp,-752 # 80002000 +800002f8: 00000013 nop +800002fc: 00112223 sw ra,4(sp) +80000300: 00412703 lw a4,4(sp) +80000304: daabceb7 lui t4,0xdaabc +80000308: ccde8e93 addi t4,t4,-819 # daabbccd <_end+0x5aab9c9d> +8000030c: 29d71063 bne a4,t4,8000058c +80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000314: 00200293 li t0,2 +80000318: fc5218e3 bne tp,t0,800002e8 + +8000031c : +8000031c: 00e00193 li gp,14 +80000320: 00000213 li tp,0 +80000324: ddaac0b7 lui ra,0xddaac +80000328: bcc08093 addi ra,ra,-1076 # ddaabbcc <_end+0x5daa9b9c> +8000032c: 00002117 auipc sp,0x2 +80000330: cd410113 addi sp,sp,-812 # 80002000 +80000334: 00000013 nop +80000338: 00000013 nop +8000033c: 00112423 sw ra,8(sp) +80000340: 00812703 lw a4,8(sp) +80000344: ddaaceb7 lui t4,0xddaac +80000348: bcce8e93 addi t4,t4,-1076 # ddaabbcc <_end+0x5daa9b9c> +8000034c: 25d71063 bne a4,t4,8000058c +80000350: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000354: 00200293 li t0,2 +80000358: fc5216e3 bne tp,t0,80000324 + +8000035c : +8000035c: 00f00193 li gp,15 +80000360: 00000213 li tp,0 +80000364: cddab0b7 lui ra,0xcddab +80000368: bbc08093 addi ra,ra,-1092 # cddaabbc <_end+0x4dda8b8c> +8000036c: 00000013 nop +80000370: 00002117 auipc sp,0x2 +80000374: c9010113 addi sp,sp,-880 # 80002000 +80000378: 00112623 sw ra,12(sp) +8000037c: 00c12703 lw a4,12(sp) +80000380: cddabeb7 lui t4,0xcddab +80000384: bbce8e93 addi t4,t4,-1092 # cddaabbc <_end+0x4dda8b8c> +80000388: 21d71263 bne a4,t4,8000058c +8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000390: 00200293 li t0,2 +80000394: fc5218e3 bne tp,t0,80000364 + +80000398 : +80000398: 01000193 li gp,16 +8000039c: 00000213 li tp,0 +800003a0: ccddb0b7 lui ra,0xccddb +800003a4: abb08093 addi ra,ra,-1349 # ccddaabb <_end+0x4cdd8a8b> +800003a8: 00000013 nop +800003ac: 00002117 auipc sp,0x2 +800003b0: c5410113 addi sp,sp,-940 # 80002000 +800003b4: 00000013 nop +800003b8: 00112823 sw ra,16(sp) +800003bc: 01012703 lw a4,16(sp) +800003c0: ccddbeb7 lui t4,0xccddb +800003c4: abbe8e93 addi t4,t4,-1349 # ccddaabb <_end+0x4cdd8a8b> +800003c8: 1dd71263 bne a4,t4,8000058c +800003cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003d0: 00200293 li t0,2 +800003d4: fc5216e3 bne tp,t0,800003a0 + +800003d8 : +800003d8: 01100193 li gp,17 +800003dc: 00000213 li tp,0 +800003e0: bccde0b7 lui ra,0xbccde +800003e4: aab08093 addi ra,ra,-1365 # bccddaab <_end+0x3ccdba7b> +800003e8: 00000013 nop +800003ec: 00000013 nop +800003f0: 00002117 auipc sp,0x2 +800003f4: c1010113 addi sp,sp,-1008 # 80002000 +800003f8: 00112a23 sw ra,20(sp) +800003fc: 01412703 lw a4,20(sp) +80000400: bccdeeb7 lui t4,0xbccde +80000404: aabe8e93 addi t4,t4,-1365 # bccddaab <_end+0x3ccdba7b> +80000408: 19d71263 bne a4,t4,8000058c +8000040c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000410: 00200293 li t0,2 +80000414: fc5216e3 bne tp,t0,800003e0 + +80000418 : +80000418: 01200193 li gp,18 +8000041c: 00000213 li tp,0 +80000420: 00002117 auipc sp,0x2 +80000424: be010113 addi sp,sp,-1056 # 80002000 +80000428: 001120b7 lui ra,0x112 +8000042c: 23308093 addi ra,ra,563 # 112233 <_start-0x7feeddcd> +80000430: 00112023 sw ra,0(sp) +80000434: 00012703 lw a4,0(sp) +80000438: 00112eb7 lui t4,0x112 +8000043c: 233e8e93 addi t4,t4,563 # 112233 <_start-0x7feeddcd> +80000440: 15d71663 bne a4,t4,8000058c +80000444: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000448: 00200293 li t0,2 +8000044c: fc521ae3 bne tp,t0,80000420 + +80000450 : +80000450: 01300193 li gp,19 +80000454: 00000213 li tp,0 +80000458: 00002117 auipc sp,0x2 +8000045c: ba810113 addi sp,sp,-1112 # 80002000 +80000460: 300110b7 lui ra,0x30011 +80000464: 22308093 addi ra,ra,547 # 30011223 <_start-0x4ffeeddd> +80000468: 00000013 nop +8000046c: 00112223 sw ra,4(sp) +80000470: 00412703 lw a4,4(sp) +80000474: 30011eb7 lui t4,0x30011 +80000478: 223e8e93 addi t4,t4,547 # 30011223 <_start-0x4ffeeddd> +8000047c: 11d71863 bne a4,t4,8000058c +80000480: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000484: 00200293 li t0,2 +80000488: fc5218e3 bne tp,t0,80000458 + +8000048c : +8000048c: 01400193 li gp,20 +80000490: 00000213 li tp,0 +80000494: 00002117 auipc sp,0x2 +80000498: b6c10113 addi sp,sp,-1172 # 80002000 +8000049c: 330010b7 lui ra,0x33001 +800004a0: 12208093 addi ra,ra,290 # 33001122 <_start-0x4cffeede> +800004a4: 00000013 nop +800004a8: 00000013 nop +800004ac: 00112423 sw ra,8(sp) +800004b0: 00812703 lw a4,8(sp) +800004b4: 33001eb7 lui t4,0x33001 +800004b8: 122e8e93 addi t4,t4,290 # 33001122 <_start-0x4cffeede> +800004bc: 0dd71863 bne a4,t4,8000058c +800004c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004c4: 00200293 li t0,2 +800004c8: fc5216e3 bne tp,t0,80000494 + +800004cc : +800004cc: 01500193 li gp,21 +800004d0: 00000213 li tp,0 +800004d4: 00002117 auipc sp,0x2 +800004d8: b2c10113 addi sp,sp,-1236 # 80002000 +800004dc: 00000013 nop +800004e0: 233000b7 lui ra,0x23300 +800004e4: 11208093 addi ra,ra,274 # 23300112 <_start-0x5ccffeee> +800004e8: 00112623 sw ra,12(sp) +800004ec: 00c12703 lw a4,12(sp) +800004f0: 23300eb7 lui t4,0x23300 +800004f4: 112e8e93 addi t4,t4,274 # 23300112 <_start-0x5ccffeee> +800004f8: 09d71a63 bne a4,t4,8000058c +800004fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000500: 00200293 li t0,2 +80000504: fc5218e3 bne tp,t0,800004d4 + +80000508 : +80000508: 01600193 li gp,22 +8000050c: 00000213 li tp,0 +80000510: 00002117 auipc sp,0x2 +80000514: af010113 addi sp,sp,-1296 # 80002000 +80000518: 00000013 nop +8000051c: 223300b7 lui ra,0x22330 +80000520: 01108093 addi ra,ra,17 # 22330011 <_start-0x5dccffef> +80000524: 00000013 nop +80000528: 00112823 sw ra,16(sp) +8000052c: 01012703 lw a4,16(sp) +80000530: 22330eb7 lui t4,0x22330 +80000534: 011e8e93 addi t4,t4,17 # 22330011 <_start-0x5dccffef> +80000538: 05d71a63 bne a4,t4,8000058c +8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000540: 00200293 li t0,2 +80000544: fc5216e3 bne tp,t0,80000510 + +80000548 : +80000548: 01700193 li gp,23 +8000054c: 00000213 li tp,0 +80000550: 00002117 auipc sp,0x2 +80000554: ab010113 addi sp,sp,-1360 # 80002000 +80000558: 00000013 nop +8000055c: 00000013 nop +80000560: 122330b7 lui ra,0x12233 +80000564: 00108093 addi ra,ra,1 # 12233001 <_start-0x6ddccfff> +80000568: 00112a23 sw ra,20(sp) +8000056c: 01412703 lw a4,20(sp) +80000570: 12233eb7 lui t4,0x12233 +80000574: 001e8e93 addi t4,t4,1 # 12233001 <_start-0x6ddccfff> +80000578: 01d71a63 bne a4,t4,8000058c +8000057c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000580: 00200293 li t0,2 +80000584: fc5216e3 bne tp,t0,80000550 +80000588: 02301063 bne zero,gp,800005a8 + +8000058c : +8000058c: 0ff0000f fence +80000590: 00018063 beqz gp,80000590 +80000594: 00119193 slli gp,gp,0x1 +80000598: 0011e193 ori gp,gp,1 +8000059c: 05d00893 li a7,93 +800005a0: 00018513 mv a0,gp +800005a4: 00000073 ecall + +800005a8 : +800005a8: 0ff0000f fence +800005ac: 00100193 li gp,1 +800005b0: 05d00893 li a7,93 +800005b4: 00000513 li a0,0 +800005b8: 00000073 ecall +800005bc: c0001073 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp + +Disassembly of section .data: + +80002000 : +80002000: deadbeef jal t4,7ffdd5ea <_start-0x22a16> + +80002004 : +80002004: deadbeef jal t4,7ffdd5ee <_start-0x22a12> + +80002008 : +80002008: deadbeef jal t4,7ffdd5f2 <_start-0x22a0e> + +8000200c : +8000200c: deadbeef jal t4,7ffdd5f6 <_start-0x22a0a> + +80002010 : +80002010: deadbeef jal t4,7ffdd5fa <_start-0x22a06> + +80002014 : +80002014: deadbeef jal t4,7ffdd5fe <_start-0x22a02> + +80002018 : +80002018: deadbeef jal t4,7ffdd602 <_start-0x229fe> + +8000201c : +8000201c: deadbeef jal t4,7ffdd606 <_start-0x229fa> + +80002020 : +80002020: deadbeef jal t4,7ffdd60a <_start-0x229f6> + +80002024 : +80002024: deadbeef jal t4,7ffdd60e <_start-0x229f2> +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 0000 unimp +8000202e: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-sw.hex b/simX/riscv_tests/rv32ui-p-sw.hex index 49c084f7..e5bc40ae 100644 --- a/simX/riscv_tests/rv32ui-p-sw.hex +++ b/simX/riscv_tests/rv32ui-p-sw.hex @@ -2,92 +2,96 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203097200000B4 -:1000C000938040F43701AA001301A10A23A0200065 -:1000D00083A10000B70EAA00938EAE0A130E200073 -:1000E0006390D147972000009380C0F137B100AAF8 -:1000F000130101A023A2200083A14000B7BE00AAE3 -:10010000938E0EA0130E3000639CD1439720000005 -:10011000938040EF3711A00A130101AA23A4200005 -:1001200083A18000B71EA00A938E0EAA130E400072 -:100130006398D141972000009380C0EC37A10AA0BA -:100140001301A10023A6200083A1C000B7AE0AA01E -:10015000938EAE00130E50006394D13F97200000A1 -:10016000938000EC3701AA001301A10A23AA20FE04 -:1001700083A140FFB70EAA00938EAE0A130E600053 -:100180006390D13D97200000938080E937B100AAA9 -:10019000130101A023AC20FE83A180FFB7BE00AAFB -:1001A000938E0EA0130E7000639CD139972000002F -:1001B000938000E73711A00A130101AA23AE20FEA5 -:1001C00083A1C0FFB71EA00A938E0EAA130E800053 -:1001D0006398D13797200000938080E437A10AA06C -:1001E0001301A10023A0200083A10000B7AE0AA044 -:1001F000938EAE00130E90006394D13597200000CB -:10020000938040E23751341213018167138200FE5C -:100210002320220283A10000B75E3412938E8E67E2 -:10022000130EA000639ED13197200000938080DFE1 -:1002300037312158130181099380D0FFA3A32000F7 -:1002400017220000130242DE83210200B73E21582C -:10025000938E8E09130EB0006394D12F130EC0003D -:1002600013020000B7D0BBAA9380D0CD17210000A5 -:10027000130141D92320110083210100B7DEBBAA5D -:10028000938EDECD639ED12B1302120093022000C9 -:10029000E31A52FC130ED00013020000B7C0ABDA11 -:1002A0009380D0CC172100001301C1D513000000AA -:1002B0002322110083214100B7CEABDA938EDECC2E -:1002C0006390D1291302120093022000E31852FC1C -:1002D000130EE00013020000B7C0AADD9380C0BC7B -:1002E00017210000130101D21300000013000000C9 -:1002F0002324110083218100B7CEAADD938ECEBCCA -:100300006390D1251302120093022000E31652FCE1 -:10031000130EF00013020000B7B0DACD9380C0BB1B -:1003200013000000172100001301C1CD2326110086 -:100330008321C100B7BEDACD938ECEBB6392D121AB -:100340001302120093022000E31852FC130E000166 -:1003500013020000B7B0DDCC9380B0AB13000000F7 -:1003600017210000130101CA130000002328110007 -:1003700083210101B7BEDDCC938EBEAB6392D11D4C -:100380001302120093022000E31652FC130E100118 -:1003900013020000B7E0CDBC9380B0AA13000000A8 -:1003A00013000000172100001301C1C5232A11000A -:1003B00083214101B7EECDBC938EBEAA6392D119C1 -:1003C0001302120093022000E31652FC130E2001C8 -:1003D00013020000172100001301C1C2B720110051 -:1003E000938030232320110083210100B72E1100B8 -:1003F000938E3E236396D1151302120093022000C0 -:10040000E31A52FC130E3001130200001721000002 -:10041000130141BFB7100130938030221300000058 -:100420002322110083214100B71E0130938E3E220A -:100430006398D1111302120093022000E31852FCBA -:10044000130E40011302000017210000130181BBAD -:10045000B710003393802012130000001300000037 -:100460002324110083218100B71E0033938E2E12A6 -:100470006398D10D1302120093022000E31652FC80 -:10048000130E50011302000017210000130181B761 -:1004900013000000B70030239380201123261100A1 -:1004A0008321C100B70E3023938E2E11639AD10998 -:1004B0001302120093022000E31852FC130E600195 -:1004C00013020000172100001301C1B31300000044 -:1004D000B70033229380100113000000232811007D -:1004E00083210101B70E3322938E1E01639AD10539 -:1004F0001302120093022000E31652FC130E700147 -:1005000013020000172100001301C1AF1300000007 -:1005100013000000B730231293801000232A11002B -:1005200083214101B73E2312938E1E00639AD101AD -:100530001302120093022000E31652FC631CC00158 -:100540000F00F00F63000E00131E1E00136E1E003E -:10055000730000000F00F00F130E10007300000076 -:10056000731000C000000000000000000000000048 -:10057000000000000000000000000000000000007B -:040580000000000077 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203097200000938080EF2A +:100110003701AA001301A10A23A0200003A70000B1 +:10012000B70EAA00938EAE0A930120006310D74742 +:1001300097200000938000ED37B100AA130101A0C1 +:1001400023A2200003A74000B7BE00AA938E0EA0F2 +:1001500093013000631CD74397200000938080EA0E +:100160003711A00A130101AA23A4200003A78000CD +:10017000B71EA00A938E0EAA930140006318D741C0 +:1001800097200000938000E837A10AA01301A10086 +:1001900023A6200003A7C000B7AE0AA0938EAE002E +:1001A000930150006314D73F97200000938040E7ED +:1001B0003701AA001301A10A23AA20FE03A740FFCA +:1001C000B70EAA00938EAE0A930160006310D73D6C +:1001D000972000009380C0E437B100AA130101A06A +:1001E00023AC20FE03A780FFB7BE00AA938E0EA00B +:1001F00093017000631CD73997200000938040E280 +:100200003711A00A130101AA23AE20FE03A7C0FFE5 +:10021000B71EA00A938E0EAA930180006318D737E9 +:10022000972000009380C0DF37A10AA01301A1002E +:1002300023A0200003A70000B7AE0AA0938EAE0053 +:10024000930190006314D73597200000938080DDE0 +:100250003751341213018167138200FE23202202DA +:1002600083A20000B75E3412938E8E679301A000C4 +:10027000639ED231972000009380C0DA3731215835 +:10028000130181099380D0FFA3A32000172200004F +:10029000130282D983220200B73E2158938E8E0921 +:1002A0009301B0006394D22F9301C00013020000A9 +:1002B000B7D0BBAA9380D0CD17210000130181D401 +:1002C0002320110003270100B7DEBBAA938EDECDE9 +:1002D000631ED72B1302120093022000E31A52FC74 +:1002E0009301D00013020000B7C0ABDA9380D0CCEA +:1002F00017210000130101D1130000002322110077 +:1003000003274100B7CEABDA938EDECC6310D7293A +:100310001302120093022000E31852FC9301E00044 +:1003200013020000B7C0AADD9380C0BC17210000F3 +:10033000130141CD1300000013000000232411001D +:1003400003278100B7CEAADD938ECEBC6310D725DC +:100350001302120093022000E31652FC9301F000F6 +:1003600013020000B7B0DACD9380C0BB13000000C9 +:1003700017210000130101C9232611000327C10022 +:10038000B7BEDACD938ECEBB6312D7211302120013 +:1003900093022000E31852FC9301000113020000B5 +:1003A000B7B0DDCC9380B0AB130000001721000084 +:1003B000130141C513000000232811000327010188 +:1003C000B7BEDDCC938EBEAB6312D71D13021200F5 +:1003D00093022000E31652FC930110011302000067 +:1003E000B7E0CDBC9380B0AA13000000130000005A +:1003F00017210000130101C1232A11000327410125 +:10040000B7EECDBC938EBEAA6312D71913021200A9 +:1004100093022000E31652FC930120011302000016 +:1004200017210000130101BEB72011009380302373 +:100430002320110003270100B72E1100938E3E23C5 +:100440006316D7151302120093022000E31A52FC20 +:10045000930130011302000017210000130181BA3B +:10046000B7100130938030221300000023221100C6 +:1004700003274100B71E0130938E3E226318D71127 +:100480001302120093022000E31852FC9301400172 +:1004900013020000172100001301C1B6B71000338A +:1004A0009380201213000000130000002324110089 +:1004B00003278100B71E0033938E2E126318D70DC9 +:1004C0001302120093022000E31652FC9301500124 +:1004D00013020000172100001301C1B21300000035 +:1004E000B700302393802011232611000327C10079 +:1004F000B70E3023938E2E11631AD7091302120000 +:1005000093022000E31852FC9301600113020000E3 +:1005100017210000130101AF13000000B7003322C0 +:10052000938010011300000023281100032701010C +:10053000B70E3322938E1E01631AD70513021200E1 +:1005400093022000E31652FC930170011302000095 +:1005500017210000130101AB13000000130000007D +:10056000B730231293801000232A11000327410182 +:10057000B73E2312938E1E00631AD7011302120096 +:1005800093022000E31652FC631030020F00F00FBC +:10059000638001009391110093E111009308D0054D +:1005A00013850100730000000F00F00F930110008D +:1005B0009308D0051305000073000000731000C0FD +:0405C0000000000037 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 @@ -96,5 +100,5 @@ :10200000EFBEADDEEFBEADDEEFBEADDEEFBEADDEF0 :10201000EFBEADDEEFBEADDEEFBEADDEEFBEADDEE0 :10202000EFBEADDEEFBEADDE000000000000000040 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-xor.dump b/simX/riscv_tests/rv32ui-p-xor.dump new file mode 100644 index 00000000..80e2c65c --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-xor.dump @@ -0,0 +1,458 @@ + +rv32ui-p-xor: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: ff0100b7 lui ra,0xff010 +8000010c: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000110: 0f0f1137 lui sp,0xf0f1 +80000114: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000118: 0020c733 xor a4,ra,sp +8000011c: f00ffeb7 lui t4,0xf00ff +80000120: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fd00f> +80000124: 00200193 li gp,2 +80000128: 4bd71063 bne a4,t4,800005c8 + +8000012c : +8000012c: 0ff010b7 lui ra,0xff01 +80000130: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000134: f0f0f137 lui sp,0xf0f0f +80000138: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +8000013c: 0020c733 xor a4,ra,sp +80000140: ff010eb7 lui t4,0xff010 +80000144: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00df00> +80000148: 00300193 li gp,3 +8000014c: 47d71e63 bne a4,t4,800005c8 + +80000150 : +80000150: 00ff00b7 lui ra,0xff0 +80000154: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000158: 0f0f1137 lui sp,0xf0f1 +8000015c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000160: 0020c733 xor a4,ra,sp +80000164: 0ff01eb7 lui t4,0xff01 +80000168: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +8000016c: 00400193 li gp,4 +80000170: 45d71c63 bne a4,t4,800005c8 + +80000174 : +80000174: f00ff0b7 lui ra,0xf00ff +80000178: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +8000017c: f0f0f137 lui sp,0xf0f0f +80000180: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000184: 0020c733 xor a4,ra,sp +80000188: 00ff0eb7 lui t4,0xff0 +8000018c: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +80000190: 00500193 li gp,5 +80000194: 43d71a63 bne a4,t4,800005c8 + +80000198 : +80000198: ff0100b7 lui ra,0xff010 +8000019c: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800001a0: 0f0f1137 lui sp,0xf0f1 +800001a4: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800001a8: 0020c0b3 xor ra,ra,sp +800001ac: f00ffeb7 lui t4,0xf00ff +800001b0: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fd00f> +800001b4: 00600193 li gp,6 +800001b8: 41d09863 bne ra,t4,800005c8 + +800001bc : +800001bc: ff0100b7 lui ra,0xff010 +800001c0: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800001c4: 0f0f1137 lui sp,0xf0f1 +800001c8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800001cc: 0020c133 xor sp,ra,sp +800001d0: f00ffeb7 lui t4,0xf00ff +800001d4: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fd00f> +800001d8: 00700193 li gp,7 +800001dc: 3fd11663 bne sp,t4,800005c8 + +800001e0 : +800001e0: ff0100b7 lui ra,0xff010 +800001e4: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800001e8: 0010c0b3 xor ra,ra,ra +800001ec: 00000e93 li t4,0 +800001f0: 00800193 li gp,8 +800001f4: 3dd09a63 bne ra,t4,800005c8 + +800001f8 : +800001f8: 00000213 li tp,0 +800001fc: ff0100b7 lui ra,0xff010 +80000200: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000204: 0f0f1137 lui sp,0xf0f1 +80000208: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000020c: 0020c733 xor a4,ra,sp +80000210: 00070313 mv t1,a4 +80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000218: 00200293 li t0,2 +8000021c: fe5210e3 bne tp,t0,800001fc +80000220: f00ffeb7 lui t4,0xf00ff +80000224: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fd00f> +80000228: 00900193 li gp,9 +8000022c: 39d31e63 bne t1,t4,800005c8 + +80000230 : +80000230: 00000213 li tp,0 +80000234: 0ff010b7 lui ra,0xff01 +80000238: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000023c: f0f0f137 lui sp,0xf0f0f +80000240: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000244: 0020c733 xor a4,ra,sp +80000248: 00000013 nop +8000024c: 00070313 mv t1,a4 +80000250: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000254: 00200293 li t0,2 +80000258: fc521ee3 bne tp,t0,80000234 +8000025c: ff010eb7 lui t4,0xff010 +80000260: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00df00> +80000264: 00a00193 li gp,10 +80000268: 37d31063 bne t1,t4,800005c8 + +8000026c : +8000026c: 00000213 li tp,0 +80000270: 00ff00b7 lui ra,0xff0 +80000274: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000278: 0f0f1137 lui sp,0xf0f1 +8000027c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000280: 0020c733 xor a4,ra,sp +80000284: 00000013 nop +80000288: 00000013 nop +8000028c: 00070313 mv t1,a4 +80000290: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000294: 00200293 li t0,2 +80000298: fc521ce3 bne tp,t0,80000270 +8000029c: 0ff01eb7 lui t4,0xff01 +800002a0: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +800002a4: 00b00193 li gp,11 +800002a8: 33d31063 bne t1,t4,800005c8 + +800002ac : +800002ac: 00000213 li tp,0 +800002b0: ff0100b7 lui ra,0xff010 +800002b4: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800002b8: 0f0f1137 lui sp,0xf0f1 +800002bc: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800002c0: 0020c733 xor a4,ra,sp +800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c8: 00200293 li t0,2 +800002cc: fe5212e3 bne tp,t0,800002b0 +800002d0: f00ffeb7 lui t4,0xf00ff +800002d4: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fd00f> +800002d8: 00c00193 li gp,12 +800002dc: 2fd71663 bne a4,t4,800005c8 + +800002e0 : +800002e0: 00000213 li tp,0 +800002e4: 0ff010b7 lui ra,0xff01 +800002e8: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800002ec: f0f0f137 lui sp,0xf0f0f +800002f0: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800002f4: 00000013 nop +800002f8: 0020c733 xor a4,ra,sp +800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000300: 00200293 li t0,2 +80000304: fe5210e3 bne tp,t0,800002e4 +80000308: ff010eb7 lui t4,0xff010 +8000030c: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00df00> +80000310: 00d00193 li gp,13 +80000314: 2bd71a63 bne a4,t4,800005c8 + +80000318 : +80000318: 00000213 li tp,0 +8000031c: 00ff00b7 lui ra,0xff0 +80000320: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000324: 0f0f1137 lui sp,0xf0f1 +80000328: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000032c: 00000013 nop +80000330: 00000013 nop +80000334: 0020c733 xor a4,ra,sp +80000338: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000033c: 00200293 li t0,2 +80000340: fc521ee3 bne tp,t0,8000031c +80000344: 0ff01eb7 lui t4,0xff01 +80000348: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +8000034c: 00e00193 li gp,14 +80000350: 27d71c63 bne a4,t4,800005c8 + +80000354 : +80000354: 00000213 li tp,0 +80000358: ff0100b7 lui ra,0xff010 +8000035c: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000360: 00000013 nop +80000364: 0f0f1137 lui sp,0xf0f1 +80000368: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000036c: 0020c733 xor a4,ra,sp +80000370: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000374: 00200293 li t0,2 +80000378: fe5210e3 bne tp,t0,80000358 +8000037c: f00ffeb7 lui t4,0xf00ff +80000380: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fd00f> +80000384: 00f00193 li gp,15 +80000388: 25d71063 bne a4,t4,800005c8 + +8000038c : +8000038c: 00000213 li tp,0 +80000390: 0ff010b7 lui ra,0xff01 +80000394: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000398: 00000013 nop +8000039c: f0f0f137 lui sp,0xf0f0f +800003a0: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800003a4: 00000013 nop +800003a8: 0020c733 xor a4,ra,sp +800003ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003b0: 00200293 li t0,2 +800003b4: fc521ee3 bne tp,t0,80000390 +800003b8: ff010eb7 lui t4,0xff010 +800003bc: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00df00> +800003c0: 01000193 li gp,16 +800003c4: 21d71263 bne a4,t4,800005c8 + +800003c8 : +800003c8: 00000213 li tp,0 +800003cc: 00ff00b7 lui ra,0xff0 +800003d0: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800003d4: 00000013 nop +800003d8: 00000013 nop +800003dc: 0f0f1137 lui sp,0xf0f1 +800003e0: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003e4: 0020c733 xor a4,ra,sp +800003e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003ec: 00200293 li t0,2 +800003f0: fc521ee3 bne tp,t0,800003cc +800003f4: 0ff01eb7 lui t4,0xff01 +800003f8: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +800003fc: 01100193 li gp,17 +80000400: 1dd71463 bne a4,t4,800005c8 + +80000404 : +80000404: 00000213 li tp,0 +80000408: 0f0f1137 lui sp,0xf0f1 +8000040c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000410: ff0100b7 lui ra,0xff010 +80000414: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000418: 0020c733 xor a4,ra,sp +8000041c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000420: 00200293 li t0,2 +80000424: fe5212e3 bne tp,t0,80000408 +80000428: f00ffeb7 lui t4,0xf00ff +8000042c: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fd00f> +80000430: 01200193 li gp,18 +80000434: 19d71a63 bne a4,t4,800005c8 + +80000438 : +80000438: 00000213 li tp,0 +8000043c: f0f0f137 lui sp,0xf0f0f +80000440: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000444: 0ff010b7 lui ra,0xff01 +80000448: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000044c: 00000013 nop +80000450: 0020c733 xor a4,ra,sp +80000454: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000458: 00200293 li t0,2 +8000045c: fe5210e3 bne tp,t0,8000043c +80000460: ff010eb7 lui t4,0xff010 +80000464: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00df00> +80000468: 01300193 li gp,19 +8000046c: 15d71e63 bne a4,t4,800005c8 + +80000470 : +80000470: 00000213 li tp,0 +80000474: 0f0f1137 lui sp,0xf0f1 +80000478: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000047c: 00ff00b7 lui ra,0xff0 +80000480: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000484: 00000013 nop +80000488: 00000013 nop +8000048c: 0020c733 xor a4,ra,sp +80000490: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000494: 00200293 li t0,2 +80000498: fc521ee3 bne tp,t0,80000474 +8000049c: 0ff01eb7 lui t4,0xff01 +800004a0: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +800004a4: 01400193 li gp,20 +800004a8: 13d71063 bne a4,t4,800005c8 + +800004ac : +800004ac: 00000213 li tp,0 +800004b0: 0f0f1137 lui sp,0xf0f1 +800004b4: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800004b8: 00000013 nop +800004bc: ff0100b7 lui ra,0xff010 +800004c0: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800004c4: 0020c733 xor a4,ra,sp +800004c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004cc: 00200293 li t0,2 +800004d0: fe5210e3 bne tp,t0,800004b0 +800004d4: f00ffeb7 lui t4,0xf00ff +800004d8: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fd00f> +800004dc: 01500193 li gp,21 +800004e0: 0fd71463 bne a4,t4,800005c8 + +800004e4 : +800004e4: 00000213 li tp,0 +800004e8: f0f0f137 lui sp,0xf0f0f +800004ec: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800004f0: 00000013 nop +800004f4: 0ff010b7 lui ra,0xff01 +800004f8: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800004fc: 00000013 nop +80000500: 0020c733 xor a4,ra,sp +80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000508: 00200293 li t0,2 +8000050c: fc521ee3 bne tp,t0,800004e8 +80000510: ff010eb7 lui t4,0xff010 +80000514: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00df00> +80000518: 01600193 li gp,22 +8000051c: 0bd71663 bne a4,t4,800005c8 + +80000520 : +80000520: 00000213 li tp,0 +80000524: 0f0f1137 lui sp,0xf0f1 +80000528: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000052c: 00000013 nop +80000530: 00000013 nop +80000534: 00ff00b7 lui ra,0xff0 +80000538: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000053c: 0020c733 xor a4,ra,sp +80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000544: 00200293 li t0,2 +80000548: fc521ee3 bne tp,t0,80000524 +8000054c: 0ff01eb7 lui t4,0xff01 +80000550: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000554: 01700193 li gp,23 +80000558: 07d71863 bne a4,t4,800005c8 + +8000055c : +8000055c: ff0100b7 lui ra,0xff010 +80000560: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000564: 00104133 xor sp,zero,ra +80000568: ff010eb7 lui t4,0xff010 +8000056c: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00df00> +80000570: 01800193 li gp,24 +80000574: 05d11a63 bne sp,t4,800005c8 + +80000578 : +80000578: 00ff00b7 lui ra,0xff0 +8000057c: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000580: 0000c133 xor sp,ra,zero +80000584: 00ff0eb7 lui t4,0xff0 +80000588: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +8000058c: 01900193 li gp,25 +80000590: 03d11c63 bne sp,t4,800005c8 + +80000594 : +80000594: 000040b3 xor ra,zero,zero +80000598: 00000e93 li t4,0 +8000059c: 01a00193 li gp,26 +800005a0: 03d09463 bne ra,t4,800005c8 + +800005a4 : +800005a4: 111110b7 lui ra,0x11111 +800005a8: 11108093 addi ra,ra,273 # 11111111 <_start-0x6eeeeeef> +800005ac: 22222137 lui sp,0x22222 +800005b0: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +800005b4: 0020c033 xor zero,ra,sp +800005b8: 00000e93 li t4,0 +800005bc: 01b00193 li gp,27 +800005c0: 01d01463 bne zero,t4,800005c8 +800005c4: 02301063 bne zero,gp,800005e4 + +800005c8 : +800005c8: 0ff0000f fence +800005cc: 00018063 beqz gp,800005cc +800005d0: 00119193 slli gp,gp,0x1 +800005d4: 0011e193 ori gp,gp,1 +800005d8: 05d00893 li a7,93 +800005dc: 00018513 mv a0,gp +800005e0: 00000073 ecall + +800005e4 : +800005e4: 0ff0000f fence +800005e8: 00100193 li gp,1 +800005ec: 05d00893 li a7,93 +800005f0: 00000513 li a0,0 +800005f4: 00000073 ecall +800005f8: c0001073 unimp +800005fc: 0000 unimp +800005fe: 0000 unimp +80000600: 0000 unimp +80000602: 0000 unimp diff --git a/simX/riscv_tests/rv32ui-p-xor.hex b/simX/riscv_tests/rv32ui-p-xor.hex index 6e8cc1d8..f6e2e22a 100644 --- a/simX/riscv_tests/rv32ui-p-xor.hex +++ b/simX/riscv_tests/rv32ui-p-xor.hex @@ -2,100 +2,104 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030B70001FFB4 -:1000C000938000F037110F0F1301F1F0B3C120003E -:1000D000B7FE0FF0938EFE00130E20006390D14BFD -:1000E000B710F00F938000FF37F1F0F01301010F0C -:1000F000B3C12000B70E01FF938E0EF0130E300037 -:10010000639ED147B700FF009380F00F37110F0FA8 -:100110001301F1F0B3C12000B71EF00F938E0EFF54 -:10012000130E4000639CD145B7F00FF09380F000B0 -:1001300037F1F0F01301010FB3C12000B70EFF003B -:10014000938EFE0F130E5000639AD143B70001FF48 -:10015000938000F037110F0F1301F1F0B3C02000AE -:10016000B7FE0FF0938EFE00130E60006398D0412F -:10017000B70001FF938000F037110F0F1301F1F06A -:1001800033C12000B7FE0FF0938EFE00130E7000F7 -:100190006316D13FB70001FF938000F0B3C0100099 -:1001A000930E0000130E8000639AD03D13020000EE -:1001B000B70001FF938000F037110F0F1301F1F02A -:1001C000B3C1200013830100130212009302200028 -:1001D000E31052FEB7FE0FF0938EFE00130E900058 -:1001E000631ED33913020000B710F00F938000FF95 -:1001F00037F1F0F01301010FB3C12000130000002C -:10020000138301001302120093022000E31E52FC2C -:10021000B70E01FF938E0EF0130EA0006310D337BC -:1002200013020000B700FF009380F00F37110F0F8B -:100230001301F1F0B3C1200013000000130000000F -:10024000138301001302120093022000E31C52FCEE -:10025000B71EF00F938E0EFF130EB0006310D33352 -:1002600013020000B70001FF938000F037110F0F59 -:100270001301F1F0B3C12000130212009302200019 -:10028000E31252FEB7FE0FF0938EFE00130EC00075 -:100290006396D12F13020000B710F00F938000FF78 -:1002A00037F1F0F01301010F13000000B3C120007B -:1002B0001302120093022000E31052FEB70E01FF5A -:1002C000938E0EF0130ED000639AD12B1302000010 -:1002D000B700FF009380F00F37110F0F1301F1F0FB -:1002E0001300000013000000B3C12000130212002D -:1002F00093022000E31E52FCB71EF00F938E0EFFF8 -:10030000130EE000639CD12713020000B70001FF29 -:10031000938000F01300000037110F0F1301F1F06C -:10032000B3C120001302120093022000E31052FE1A -:10033000B7FE0FF0938EFE00130EF0006390D125F0 -:1003400013020000B710F00F938000FF13000000AD -:1003500037F1F0F01301010F13000000B3C12000CA -:100360001302120093022000E31E52FCB70E01FF9D -:10037000938E0EF0130E00016392D1211302000040 -:10038000B700FF009380F00F13000000130000007F -:1003900037110F0F1301F1F0B3C120001302120047 -:1003A00093022000E31E52FCB71EF00F938E0EFF47 -:1003B000130E10016394D11D1302000037110F0FAB -:1003C0001301F1F0B70001FF938000F0B3C12000EA -:1003D0001302120093022000E31252FEB7FE0FF048 -:1003E000938EFE00130E2001639AD11913020000B0 -:1003F00037F1F0F01301010FB710F00F938000FFF9 -:1004000013000000B3C12000130212009302200069 -:10041000E31052FEB70E01FF938E0EF0130E300163 -:10042000639ED1151302000037110F0F1301F1F075 -:10043000B700FF009380F00F1300000013000000CE -:10044000B3C120001302120093022000E31E52FCED -:10045000B71EF00F938E0EFF130E40016390D11361 -:100460001302000037110F0F1301F1F01300000009 -:10047000B70001FF938000F0B3C120001302120007 -:1004800093022000E31052FEB7FE0FF0938EFE00A1 -:10049000130E50016394D10F1302000037F1F0F0F6 -:1004A0001301010F13000000B710F00F938000FF3D -:1004B00013000000B3C120001302120093022000B9 -:1004C000E31E52FCB70E01FF938E0EF0130E600177 -:1004D0006396D10B1302000037110F0F1301F1F0D7 -:1004E0001300000013000000B700FF009380F00F1E -:1004F000B3C120001302120093022000E31E52FC3D -:10050000B71EF00F938E0EFF130E70016398D10784 -:10051000B70001FF938000F033411000B70E01FFD8 -:10052000938E0EF0130E8001631AD105B700FF0001 -:100530009380F00F33C10000B70EFF00938EFE0FC3 -:10054000130E9001631CD103B3400000930E000012 -:10055000130EA0016394D003B710111193801011F2 -:10056000372122221301212233C02000930E0000E4 -:10057000130EB0016314D001631CC0010F00F00F13 -:1005800063000E00131E1E00136E1E007300000099 -:100590000F00F00F130E100073000000731000C066 -:1005A000000000000000000000000000000000004B -:1005B000000000000000000000000000000000003B -:0405C0000000000037 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030B70001FF938000F0A9 +:1001100037110F0F1301F1F033C72000B7FE0FF0B6 +:10012000938EFE00930120006310D74BB710F00FA1 +:10013000938000FF37F1F0F01301010F33C7200067 +:10014000B70E01FF938E0EF093013000631ED74768 +:10015000B700FF009380F00F37110F0F1301F1F07C +:1001600033C72000B71EF00F938E0EFF930140009F +:10017000631CD745B7F00FF09380F00037F1F0F033 +:100180001301010F33C72000B70EFF00938EFE0F3F +:1001900093015000631AD743B70001FF938000F02A +:1001A00037110F0F1301F1F0B3C02000B7FE0FF0AD +:1001B000938EFE00930160006398D041B70001FF69 +:1001C000938000F037110F0F1301F1F033C12000BD +:1001D000B7FE0FF0938EFE00930170006316D13FBF +:1001E000B70001FF938000F0B3C01000930E000031 +:1001F00093018000639AD03D13020000B70001FF15 +:10020000938000F037110F0F1301F1F033C7200076 +:10021000130307001302120093022000E31052FEA2 +:10022000B7FE0FF0938EFE0093019000631ED3394A +:1002300013020000B710F00F938000FF37F1F0F0C9 +:100240001301010F33C72000130000001303070040 +:100250001302120093022000E31E52FCB70E01FFAE +:10026000938E0EF09301A0006310D33713020000A9 +:10027000B700FF009380F00F37110F0F1301F1F05B +:1002800033C7200013000000130000001303070011 +:100290001302120093022000E31C52FCB71EF00F61 +:1002A000938E0EFF9301B0006310D333130200004E +:1002B000B70001FF938000F037110F0F1301F1F029 +:1002C00033C720001302120093022000E31252FEF3 +:1002D000B7FE0FF0938EFE009301C0006316D72F78 +:1002E00013020000B710F00F938000FF37F1F0F019 +:1002F0001301010F1300000033C720001302120086 +:1003000093022000E31052FEB70E01FF938E0EF011 +:100310009301D000631AD72B13020000B700FF002F +:100320009380F00F37110F0F1301F1F0130000004D +:100330001300000033C720001302120093022000B4 +:10034000E31E52FCB71EF00F938E0EFF9301E000E8 +:10035000631CD72713020000B70001FF938000F051 +:100360001300000037110F0F1301F1F033C7200005 +:100370001302120093022000E31052FEB7FE0FF0AA +:10038000938EFE009301F0006310D7251302000046 +:10039000B710F00F938000FF1300000037F1F0F06A +:1003A0001301010F1300000033C7200013021200D5 +:1003B00093022000E31E52FCB70E01FF938E0EF055 +:1003C000930100016312D72113020000B700FF0060 +:1003D0009380F00F130000001300000037110F0F7F +:1003E0001301F1F033C72000130212009302200022 +:1003F000E31E52FCB71EF00F938E0EFF9301100107 +:100400006314D71D1302000037110F0F1301F1F011 +:10041000B70001FF938000F033C7200013021200E1 +:1004200093022000E31252FEB7FE0FF0938EFE00FF +:1004300093012001631AD7191302000037F1F0F07D +:100440001301010FB710F00F938000FF130000009D +:1004500033C720001302120093022000E31052FE63 +:10046000B70E01FF938E0EF093013001631ED71576 +:100470001302000037110F0F1301F1F0B700FF0056 +:100480009380F00F130000001300000033C720001A +:100490001302120093022000E31E52FCB71EF00F5D +:1004A000938E0EFF930140016310D71313020000D7 +:1004B00037110F0F1301F1F013000000B70001FF17 +:1004C000938000F033C72000130212009302200033 +:1004D000E31052FEB7FE0FF0938EFE009301500121 +:1004E0006314D70F1302000037F1F0F01301010F6E +:1004F00013000000B710F00F938000FF13000000FE +:1005000033C720001302120093022000E31E52FCA6 +:10051000B70E01FF938E0EF0930160016316D70BA7 +:100520001302000037110F0F1301F1F01300000048 +:1005300013000000B700FF009380F00F33C72000C6 +:100540001302120093022000E31E52FCB71EF00FAC +:10055000938E0EFF930170016318D707B70001FF58 +:10056000938000F033411000B70E01FF938E0EF020 +:1005700093018001631AD105B700FF009380F00F4B +:1005800033C10000B70EFF00938EFE0F9301900160 +:10059000631CD103B3400000930E00009301A0013F +:1005A0006394D003B71011119380101137212222C8 +:1005B0001301212233C02000930E00009301B001EB +:1005C0006314D001631030020F00F00F638001004C +:1005D0009391110093E111009308D0051385010058 +:1005E000730000000F00F00F930110009308D00576 +:1005F0001305000073000000731000C0000000002D +:0406000000000000F6 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32ui-p-xori.dump b/simX/riscv_tests/rv32ui-p-xori.dump new file mode 100644 index 00000000..63433717 --- /dev/null +++ b/simX/riscv_tests/rv32ui-p-xori.dump @@ -0,0 +1,263 @@ + +rv32ui-p-xori: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00ff10b7 lui ra,0xff1 +8000010c: f0008093 addi ra,ra,-256 # ff0f00 <_start-0x7f00f100> +80000110: f0f0c713 xori a4,ra,-241 +80000114: ff00feb7 lui t4,0xff00f +80000118: 00fe8e93 addi t4,t4,15 # ff00f00f <_end+0x7f00d00f> +8000011c: 00200193 li gp,2 +80000120: 1dd71663 bne a4,t4,800002ec + +80000124 : +80000124: 0ff010b7 lui ra,0xff01 +80000128: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000012c: 0f00c713 xori a4,ra,240 +80000130: 0ff01eb7 lui t4,0xff01 +80000134: f00e8e93 addi t4,t4,-256 # ff00f00 <_start-0x700ff100> +80000138: 00300193 li gp,3 +8000013c: 1bd71863 bne a4,t4,800002ec + +80000140 : +80000140: 00ff10b7 lui ra,0xff1 +80000144: 8ff08093 addi ra,ra,-1793 # ff08ff <_start-0x7f00f701> +80000148: 70f0c713 xori a4,ra,1807 +8000014c: 00ff1eb7 lui t4,0xff1 +80000150: ff0e8e93 addi t4,t4,-16 # ff0ff0 <_start-0x7f00f010> +80000154: 00400193 li gp,4 +80000158: 19d71a63 bne a4,t4,800002ec + +8000015c : +8000015c: f00ff0b7 lui ra,0xf00ff +80000160: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +80000164: 0f00c713 xori a4,ra,240 +80000168: f00ffeb7 lui t4,0xf00ff +8000016c: 0ffe8e93 addi t4,t4,255 # f00ff0ff <_end+0x700fd0ff> +80000170: 00500193 li gp,5 +80000174: 17d71c63 bne a4,t4,800002ec + +80000178 : +80000178: ff00f0b7 lui ra,0xff00f +8000017c: 70008093 addi ra,ra,1792 # ff00f700 <_end+0x7f00d700> +80000180: 70f0c093 xori ra,ra,1807 +80000184: ff00feb7 lui t4,0xff00f +80000188: 00fe8e93 addi t4,t4,15 # ff00f00f <_end+0x7f00d00f> +8000018c: 00600193 li gp,6 +80000190: 15d09e63 bne ra,t4,800002ec + +80000194 : +80000194: 00000213 li tp,0 +80000198: 0ff010b7 lui ra,0xff01 +8000019c: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800001a0: 0f00c713 xori a4,ra,240 +800001a4: 00070313 mv t1,a4 +800001a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001ac: 00200293 li t0,2 +800001b0: fe5214e3 bne tp,t0,80000198 +800001b4: 0ff01eb7 lui t4,0xff01 +800001b8: f00e8e93 addi t4,t4,-256 # ff00f00 <_start-0x700ff100> +800001bc: 00700193 li gp,7 +800001c0: 13d31663 bne t1,t4,800002ec + +800001c4 : +800001c4: 00000213 li tp,0 +800001c8: 00ff10b7 lui ra,0xff1 +800001cc: 8ff08093 addi ra,ra,-1793 # ff08ff <_start-0x7f00f701> +800001d0: 70f0c713 xori a4,ra,1807 +800001d4: 00000013 nop +800001d8: 00070313 mv t1,a4 +800001dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001e0: 00200293 li t0,2 +800001e4: fe5212e3 bne tp,t0,800001c8 +800001e8: 00ff1eb7 lui t4,0xff1 +800001ec: ff0e8e93 addi t4,t4,-16 # ff0ff0 <_start-0x7f00f010> +800001f0: 00800193 li gp,8 +800001f4: 0fd31c63 bne t1,t4,800002ec + +800001f8 : +800001f8: 00000213 li tp,0 +800001fc: f00ff0b7 lui ra,0xf00ff +80000200: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +80000204: 0f00c713 xori a4,ra,240 +80000208: 00000013 nop +8000020c: 00000013 nop +80000210: 00070313 mv t1,a4 +80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000218: 00200293 li t0,2 +8000021c: fe5210e3 bne tp,t0,800001fc +80000220: f00ffeb7 lui t4,0xf00ff +80000224: 0ffe8e93 addi t4,t4,255 # f00ff0ff <_end+0x700fd0ff> +80000228: 00900193 li gp,9 +8000022c: 0dd31063 bne t1,t4,800002ec + +80000230 : +80000230: 00000213 li tp,0 +80000234: 0ff010b7 lui ra,0xff01 +80000238: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000023c: 0f00c713 xori a4,ra,240 +80000240: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000244: 00200293 li t0,2 +80000248: fe5216e3 bne tp,t0,80000234 +8000024c: 0ff01eb7 lui t4,0xff01 +80000250: f00e8e93 addi t4,t4,-256 # ff00f00 <_start-0x700ff100> +80000254: 00a00193 li gp,10 +80000258: 09d71a63 bne a4,t4,800002ec + +8000025c : +8000025c: 00000213 li tp,0 +80000260: 00ff10b7 lui ra,0xff1 +80000264: fff08093 addi ra,ra,-1 # ff0fff <_start-0x7f00f001> +80000268: 00000013 nop +8000026c: 00f0c713 xori a4,ra,15 +80000270: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000274: 00200293 li t0,2 +80000278: fe5214e3 bne tp,t0,80000260 +8000027c: 00ff1eb7 lui t4,0xff1 +80000280: ff0e8e93 addi t4,t4,-16 # ff0ff0 <_start-0x7f00f010> +80000284: 00b00193 li gp,11 +80000288: 07d71263 bne a4,t4,800002ec + +8000028c : +8000028c: 00000213 li tp,0 +80000290: f00ff0b7 lui ra,0xf00ff +80000294: 00f08093 addi ra,ra,15 # f00ff00f <_end+0x700fd00f> +80000298: 00000013 nop +8000029c: 00000013 nop +800002a0: 0f00c713 xori a4,ra,240 +800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a8: 00200293 li t0,2 +800002ac: fe5212e3 bne tp,t0,80000290 +800002b0: f00ffeb7 lui t4,0xf00ff +800002b4: 0ffe8e93 addi t4,t4,255 # f00ff0ff <_end+0x700fd0ff> +800002b8: 00c00193 li gp,12 +800002bc: 03d71863 bne a4,t4,800002ec + +800002c0 : +800002c0: 0f004093 xori ra,zero,240 +800002c4: 0f000e93 li t4,240 +800002c8: 00d00193 li gp,13 +800002cc: 03d09063 bne ra,t4,800002ec + +800002d0 : +800002d0: 00ff00b7 lui ra,0xff0 +800002d4: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800002d8: 70f0c013 xori zero,ra,1807 +800002dc: 00000e93 li t4,0 +800002e0: 00e00193 li gp,14 +800002e4: 01d01463 bne zero,t4,800002ec +800002e8: 02301063 bne zero,gp,80000308 + +800002ec : +800002ec: 0ff0000f fence +800002f0: 00018063 beqz gp,800002f0 +800002f4: 00119193 slli gp,gp,0x1 +800002f8: 0011e193 ori gp,gp,1 +800002fc: 05d00893 li a7,93 +80000300: 00018513 mv a0,gp +80000304: 00000073 ecall + +80000308 : +80000308: 0ff0000f fence +8000030c: 00100193 li gp,1 +80000310: 05d00893 li a7,93 +80000314: 00000513 li a0,0 +80000318: 00000073 ecall +8000031c: c0001073 unimp +80000320: 0000 unimp +80000322: 0000 unimp +80000324: 0000 unimp +80000326: 0000 unimp +80000328: 0000 unimp +8000032a: 0000 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 diff --git a/simX/riscv_tests/rv32ui-p-xori.hex b/simX/riscv_tests/rv32ui-p-xori.hex index 98a84494..226eed27 100644 --- a/simX/riscv_tests/rv32ui-p-xori.hex +++ b/simX/riscv_tests/rv32ui-p-xori.hex @@ -2,52 +2,60 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030B710FF00A5 -:1000C000938000F093C1F0F0B7FE00FF938EFE0026 -:1000D000130E20006396D11DB710F00F938000FF20 -:1000E00093C1000FB71EF00F938E0EF0130E300069 -:1000F0006398D11BB710FF009380F08F93C1F0700D -:10010000B71EFF00938E0EFF130E4000639AD119A5 -:10011000B7F00FF09380F00093C1000FB7FE0FF01F -:10012000938EFE0F130E5000639CD117B7F000FFA3 -:100130009380007093C0F070B7FE00FF938EFE00B6 -:10014000130E6000639ED01513020000B710F00F6D -:10015000938000FF93C1000F13830100130212006C -:1001600093022000E31452FEB71EF00F938E0EF0A0 -:10017000130E70006316D31313020000B710FF00B4 -:100180009380F08F93C1F07013000000138301007F -:100190001302120093022000E31252FEB71EFF006A -:1001A000938E0EFF130E8000631CD30F130200000A -:1001B000B7F00FF09380F00093C1000F1300000020 -:1001C00013000000138301001302120093022000A9 -:1001D000E31052FEB7FE0FF0938EFE0F130E900049 -:1001E0006310D30D13020000B710F00F938000FFCF -:1001F00093C1000F1302120093022000E31652FE77 -:10020000B71EF00F938E0EF0130EA000639AD10963 -:1002100013020000B710FF009380F0FF13000000EE -:1002200093C1F0001302120093022000E31452FE67 -:10023000B71EFF00938E0EFF130EB0006392D1071E -:1002400013020000B7F00FF09380F00013000000DD -:100250001300000093C1000F13021200930220004C -:10026000E31252FEB7FE0FF0938EFE0F130EC00086 -:100270006398D1039340000F930E000F130ED0002C -:100280006390D003B700FF009380F00F13C0F070AD -:10029000930E0000130EE0006314D001631CC00134 -:1002A0000F00F00F63000E00131E1E00136E1E00E1 -:1002B000730000000F00F00F130E10007300000019 -:0402C000731000C0F7 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030B710FF00938000F09A +:1001100013C7F0F0B7FE00FF938EFE00930120009E +:100120006316D71DB710F00F938000FF13C7000FA1 +:10013000B71EF00F938E0EF0930130006318D71B9B +:10014000B710FF009380F08F13C7F070B71EFF0049 +:10015000938E0EFF93014000631AD719B7F00FF08A +:100160009380F00013C7000FB7FE0FF0938EFE0FC1 +:1001700093015000631CD717B7F000FF9380007005 +:1001800093C0F070B7FE00FF938EFE0093016000F5 +:10019000639ED01513020000B710F00F938000FF8C +:1001A00013C7000F1303070013021200930220006D +:1001B000E31452FEB71EF00F938E0EF09301700001 +:1001C0006316D31313020000B710FF009380F08F63 +:1001D00013C7F0701300000013030700130212008E +:1001E00093022000E31252FEB71EFF00938E0EFF13 +:1001F00093018000631CD30F13020000B7F00FF0CF +:100200009380F00013C7000F1300000013000000DC +:10021000130307001302120093022000E31052FEA2 +:10022000B7FE0FF0938EFE0F930190006310D30D75 +:1002300013020000B710F00F938000FF13C7000FE8 +:100240001302120093022000E31652FEB71EF00FB5 +:10025000938E0EF09301A000631AD70913020000D9 +:10026000B710FF009380F0FF1300000013C7F000E9 +:100270001302120093022000E31452FEB71EFF0087 +:10028000938E0EFF9301B0006312D7071302000094 +:10029000B7F00FF09380F00013000000130000008F +:1002A00013C7000F1302120093022000E31252FE44 +:1002B000B7FE0FF0938EFE0F9301C0006318D703B3 +:1002C0009340000F930E000F9301D0006390D00372 +:1002D000B700FF009380F00F13C0F070930E000082 +:1002E0009301E0006314D001631030020F00F00F9F +:1002F000638001009391110093E111009308D005F0 +:1003000013850100730000000F00F00F930110002F +:100310009308D0051305000073000000731000C09F +:1003200000000000000000000000000000000000CD +:1003300000000000000000000000000000000000BD +:0403400000000000B9 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32um-p-div.dump b/simX/riscv_tests/rv32um-p-div.dump new file mode 100644 index 00000000..1c75e73a --- /dev/null +++ b/simX/riscv_tests/rv32um-p-div.dump @@ -0,0 +1,193 @@ + +rv32um-p-div: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 01400093 li ra,20 +8000010c: 00600113 li sp,6 +80000110: 0220c733 div a4,ra,sp +80000114: 00300e93 li t4,3 +80000118: 00200193 li gp,2 +8000011c: 0dd71463 bne a4,t4,800001e4 + +80000120 : +80000120: fec00093 li ra,-20 +80000124: 00600113 li sp,6 +80000128: 0220c733 div a4,ra,sp +8000012c: ffd00e93 li t4,-3 +80000130: 00300193 li gp,3 +80000134: 0bd71863 bne a4,t4,800001e4 + +80000138 : +80000138: 01400093 li ra,20 +8000013c: ffa00113 li sp,-6 +80000140: 0220c733 div a4,ra,sp +80000144: ffd00e93 li t4,-3 +80000148: 00400193 li gp,4 +8000014c: 09d71c63 bne a4,t4,800001e4 + +80000150 : +80000150: fec00093 li ra,-20 +80000154: ffa00113 li sp,-6 +80000158: 0220c733 div a4,ra,sp +8000015c: 00300e93 li t4,3 +80000160: 00500193 li gp,5 +80000164: 09d71063 bne a4,t4,800001e4 + +80000168 : +80000168: 800000b7 lui ra,0x80000 +8000016c: 00100113 li sp,1 +80000170: 0220c733 div a4,ra,sp +80000174: 80000eb7 lui t4,0x80000 +80000178: 00600193 li gp,6 +8000017c: 07d71463 bne a4,t4,800001e4 + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: fff00113 li sp,-1 +80000188: 0220c733 div a4,ra,sp +8000018c: 80000eb7 lui t4,0x80000 +80000190: 00700193 li gp,7 +80000194: 05d71863 bne a4,t4,800001e4 + +80000198 : +80000198: 800000b7 lui ra,0x80000 +8000019c: 00000113 li sp,0 +800001a0: 0220c733 div a4,ra,sp +800001a4: fff00e93 li t4,-1 +800001a8: 00800193 li gp,8 +800001ac: 03d71c63 bne a4,t4,800001e4 + +800001b0 : +800001b0: 00100093 li ra,1 +800001b4: 00000113 li sp,0 +800001b8: 0220c733 div a4,ra,sp +800001bc: fff00e93 li t4,-1 +800001c0: 00900193 li gp,9 +800001c4: 03d71063 bne a4,t4,800001e4 + +800001c8 : +800001c8: 00000093 li ra,0 +800001cc: 00000113 li sp,0 +800001d0: 0220c733 div a4,ra,sp +800001d4: fff00e93 li t4,-1 +800001d8: 00a00193 li gp,10 +800001dc: 01d71463 bne a4,t4,800001e4 +800001e0: 02301063 bne zero,gp,80000200 + +800001e4 : +800001e4: 0ff0000f fence +800001e8: 00018063 beqz gp,800001e8 +800001ec: 00119193 slli gp,gp,0x1 +800001f0: 0011e193 ori gp,gp,1 +800001f4: 05d00893 li a7,93 +800001f8: 00018513 mv a0,gp +800001fc: 00000073 ecall + +80000200 : +80000200: 0ff0000f fence +80000204: 00100193 li gp,1 +80000208: 05d00893 li a7,93 +8000020c: 00000513 li a0,0 +80000210: 00000073 ecall +80000214: c0001073 unimp +80000218: 0000 unimp +8000021a: 0000 unimp +8000021c: 0000 unimp +8000021e: 0000 unimp +80000220: 0000 unimp +80000222: 0000 unimp +80000224: 0000 unimp +80000226: 0000 unimp +80000228: 0000 unimp +8000022a: 0000 unimp +8000022c: 0000 unimp +8000022e: 0000 unimp +80000230: 0000 unimp +80000232: 0000 unimp +80000234: 0000 unimp +80000236: 0000 unimp +80000238: 0000 unimp +8000023a: 0000 unimp +8000023c: 0000 unimp +8000023e: 0000 unimp +80000240: 0000 unimp +80000242: 0000 unimp diff --git a/simX/riscv_tests/rv32um-p-div.hex b/simX/riscv_tests/rv32um-p-div.hex index c320a493..83dfe663 100644 --- a/simX/riscv_tests/rv32um-p-div.hex +++ b/simX/riscv_tests/rv32um-p-div.hex @@ -2,36 +2,44 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F1730020309300400197 -:1000C00013016000B3C12002930E3000130E200014 -:1000D0006394D10D9300C0FE13016000B3C12002F0 -:1000E000930ED0FF130E30006398D10B93004001A4 -:1000F0001301A0FFB3C12002930ED0FF130E4000E6 -:10010000639CD1099300C0FE1301A0FFB3C120027C -:10011000930E3000130E50006390D109930000003D -:1001200013011000B3C12002930E0000130E6000F3 -:100130006394D107930000001301F0FFB3C12002C4 -:10014000930E0000130E70006398D1059300000019 -:1001500013010000B3C12002930EF0FF130E8000C4 -:10016000639CD1039300100013010000B3C120026F -:10017000930EF0FF130E90006390D10393000000E4 -:1001800013010000B3C12002930EF0FF130EA00074 -:100190006394D101631CC0010F00F00F63000E00D7 -:1001A000131E1E00136E1E00730000000F00F00FE0 -:1001B000130E100073000000731000C00000000058 -:0401C000000000003B +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093004001130160001B +:1001100033C72002930E3000930120006314D70DE3 +:100120009300C0FE1301600033C72002930ED0FF7E +:10013000930130006318D70B930040011301A0FF17 +:1001400033C72002930ED0FF93014000631CD709F0 +:100150009300C0FE1301A0FF33C72002930E3000AE +:10016000930150006310D709B700008013011000FD +:1001700033C72002B70E0080930160006314D707D5 +:10018000B70000801301F0FF33C72002B70E0080D4 +:10019000930170006318D705B700008013010000B9 +:1001A00033C72002930EF0FF93018000631CD70336 +:1001B000930010001301000033C72002930EF0FFDC +:1001C000930190006310D703930000001301000017 +:1001D00033C72002930EF0FF9301A0006314D701F0 +:1001E000631030020F00F00F638001009391110043 +:1001F00093E111009308D0051385010073000000FE +:100200000F00F00F930110009308D00513050000B4 +:1002100073000000731000C0000000000000000028 +:1002200000000000000000000000000000000000CE +:1002300000000000000000000000000000000000BE +:0402400000000000BA :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32um-p-divu.dump b/simX/riscv_tests/rv32um-p-divu.dump new file mode 100644 index 00000000..c32f7a1b --- /dev/null +++ b/simX/riscv_tests/rv32um-p-divu.dump @@ -0,0 +1,192 @@ + +rv32um-p-divu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 01400093 li ra,20 +8000010c: 00600113 li sp,6 +80000110: 0220d733 divu a4,ra,sp +80000114: 00300e93 li t4,3 +80000118: 00200193 li gp,2 +8000011c: 0dd71663 bne a4,t4,800001e8 + +80000120 : +80000120: fec00093 li ra,-20 +80000124: 00600113 li sp,6 +80000128: 0220d733 divu a4,ra,sp +8000012c: 2aaabeb7 lui t4,0x2aaab +80000130: aa7e8e93 addi t4,t4,-1369 # 2aaaaaa7 <_start-0x55555559> +80000134: 00300193 li gp,3 +80000138: 0bd71863 bne a4,t4,800001e8 + +8000013c : +8000013c: 01400093 li ra,20 +80000140: ffa00113 li sp,-6 +80000144: 0220d733 divu a4,ra,sp +80000148: 00000e93 li t4,0 +8000014c: 00400193 li gp,4 +80000150: 09d71c63 bne a4,t4,800001e8 + +80000154 : +80000154: fec00093 li ra,-20 +80000158: ffa00113 li sp,-6 +8000015c: 0220d733 divu a4,ra,sp +80000160: 00000e93 li t4,0 +80000164: 00500193 li gp,5 +80000168: 09d71063 bne a4,t4,800001e8 + +8000016c : +8000016c: 800000b7 lui ra,0x80000 +80000170: 00100113 li sp,1 +80000174: 0220d733 divu a4,ra,sp +80000178: 80000eb7 lui t4,0x80000 +8000017c: 00600193 li gp,6 +80000180: 07d71463 bne a4,t4,800001e8 + +80000184 : +80000184: 800000b7 lui ra,0x80000 +80000188: fff00113 li sp,-1 +8000018c: 0220d733 divu a4,ra,sp +80000190: 00000e93 li t4,0 +80000194: 00700193 li gp,7 +80000198: 05d71863 bne a4,t4,800001e8 + +8000019c : +8000019c: 800000b7 lui ra,0x80000 +800001a0: 00000113 li sp,0 +800001a4: 0220d733 divu a4,ra,sp +800001a8: fff00e93 li t4,-1 +800001ac: 00800193 li gp,8 +800001b0: 03d71c63 bne a4,t4,800001e8 + +800001b4 : +800001b4: 00100093 li ra,1 +800001b8: 00000113 li sp,0 +800001bc: 0220d733 divu a4,ra,sp +800001c0: fff00e93 li t4,-1 +800001c4: 00900193 li gp,9 +800001c8: 03d71063 bne a4,t4,800001e8 + +800001cc : +800001cc: 00000093 li ra,0 +800001d0: 00000113 li sp,0 +800001d4: 0220d733 divu a4,ra,sp +800001d8: fff00e93 li t4,-1 +800001dc: 00a00193 li gp,10 +800001e0: 01d71463 bne a4,t4,800001e8 +800001e4: 02301063 bne zero,gp,80000204 + +800001e8 : +800001e8: 0ff0000f fence +800001ec: 00018063 beqz gp,800001ec +800001f0: 00119193 slli gp,gp,0x1 +800001f4: 0011e193 ori gp,gp,1 +800001f8: 05d00893 li a7,93 +800001fc: 00018513 mv a0,gp +80000200: 00000073 ecall + +80000204 : +80000204: 0ff0000f fence +80000208: 00100193 li gp,1 +8000020c: 05d00893 li a7,93 +80000210: 00000513 li a0,0 +80000214: 00000073 ecall +80000218: c0001073 unimp +8000021c: 0000 unimp +8000021e: 0000 unimp +80000220: 0000 unimp +80000222: 0000 unimp +80000224: 0000 unimp +80000226: 0000 unimp +80000228: 0000 unimp +8000022a: 0000 unimp +8000022c: 0000 unimp +8000022e: 0000 unimp +80000230: 0000 unimp +80000232: 0000 unimp +80000234: 0000 unimp +80000236: 0000 unimp +80000238: 0000 unimp +8000023a: 0000 unimp +8000023c: 0000 unimp +8000023e: 0000 unimp +80000240: 0000 unimp +80000242: 0000 unimp diff --git a/simX/riscv_tests/rv32um-p-divu.hex b/simX/riscv_tests/rv32um-p-divu.hex index ba68b46c..83311fac 100644 --- a/simX/riscv_tests/rv32um-p-divu.hex +++ b/simX/riscv_tests/rv32um-p-divu.hex @@ -2,36 +2,44 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F1730020309300400197 -:1000C00013016000B3D12002930E3000130E200004 -:1000D0006396D10D9300C0FE13016000B3D12002DE -:1000E000B7BEAA2A938E7EAA130E30006398D10B56 -:1000F000930040011301A0FFB3D12002930E000032 -:10010000130E4000639CD1099300C0FE1301A0FFB1 -:10011000B3D12002930E0000130E50006390D1095A -:10012000B700008013011000B3D12002B70E008089 -:10013000130E60006394D107B70000801301F0FF35 -:10014000B3D12002930E0000130E70006398D10506 -:10015000B700008013010000B3D12002930EF0FF1E -:10016000130E8000639CD103930010001301000064 -:10017000B3D12002930EF0FF130E90006390D103D1 -:100180009300000013010000B3D12002930EF0FF92 -:10019000130EA0006394D101631CC0010F00F00F87 -:1001A00063000E00131E1E00136E1E00730000007D -:1001B0000F00F00F130E100073000000731000C04A -:0401C000000000003B +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093004001130160001B +:1001100033D72002930E3000930120006316D70DD1 +:100120009300C0FE1301600033D72002B7BEAA2A95 +:10013000938E7EAA930130006318D70B9300400181 +:100140001301A0FF33D72002930E0000930140005B +:10015000631CD7099300C0FE1301A0FF33D7200210 +:10016000930E0000930150006310D709B700008080 +:100170001301100033D72002B70E008093016000F6 +:100180006314D707B70000801301F0FF33D72002B4 +:10019000930E0000930170006318D705B70000802C +:1001A0001301000033D72002930EF0FF930180006B +:1001B000631CD703930010001301000033D7200203 +:1001C000930EF0FF930190006310D703930000009B +:1001D0001301000033D72002930EF0FF9301A0001B +:1001E0006314D701631030020F00F00F6380010029 +:1001F0009391110093E111009308D005138501003C +:10020000730000000F00F00F930110009308D00559 +:100210001305000073000000731000C00000000010 +:1002200000000000000000000000000000000000CE +:1002300000000000000000000000000000000000BE +:0402400000000000BA :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32um-p-mul.dump b/simX/riscv_tests/rv32um-p-mul.dump new file mode 100644 index 00000000..6a41e057 --- /dev/null +++ b/simX/riscv_tests/rv32um-p-mul.dump @@ -0,0 +1,476 @@ + +rv32um-p-mul: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 000080b7 lui ra,0x8 +8000010c: e0008093 addi ra,ra,-512 # 7e00 <_start-0x7fff8200> +80000110: b6db7137 lui sp,0xb6db7 +80000114: db710113 addi sp,sp,-585 # b6db6db7 <_end+0x36db4db7> +80000118: 02208733 mul a4,ra,sp +8000011c: 00001eb7 lui t4,0x1 +80000120: 200e8e93 addi t4,t4,512 # 1200 <_start-0x7fffee00> +80000124: 02000193 li gp,32 +80000128: 4bd71463 bne a4,t4,800005d0 + +8000012c : +8000012c: 000080b7 lui ra,0x8 +80000130: fc008093 addi ra,ra,-64 # 7fc0 <_start-0x7fff8040> +80000134: b6db7137 lui sp,0xb6db7 +80000138: db710113 addi sp,sp,-585 # b6db6db7 <_end+0x36db4db7> +8000013c: 02208733 mul a4,ra,sp +80000140: 00001eb7 lui t4,0x1 +80000144: 240e8e93 addi t4,t4,576 # 1240 <_start-0x7fffedc0> +80000148: 02100193 li gp,33 +8000014c: 49d71263 bne a4,t4,800005d0 + +80000150 : +80000150: 00000093 li ra,0 +80000154: 00000113 li sp,0 +80000158: 02208733 mul a4,ra,sp +8000015c: 00000e93 li t4,0 +80000160: 00200193 li gp,2 +80000164: 47d71663 bne a4,t4,800005d0 + +80000168 : +80000168: 00100093 li ra,1 +8000016c: 00100113 li sp,1 +80000170: 02208733 mul a4,ra,sp +80000174: 00100e93 li t4,1 +80000178: 00300193 li gp,3 +8000017c: 45d71a63 bne a4,t4,800005d0 + +80000180 : +80000180: 00300093 li ra,3 +80000184: 00700113 li sp,7 +80000188: 02208733 mul a4,ra,sp +8000018c: 01500e93 li t4,21 +80000190: 00400193 li gp,4 +80000194: 43d71e63 bne a4,t4,800005d0 + +80000198 : +80000198: 00000093 li ra,0 +8000019c: ffff8137 lui sp,0xffff8 +800001a0: 02208733 mul a4,ra,sp +800001a4: 00000e93 li t4,0 +800001a8: 00500193 li gp,5 +800001ac: 43d71263 bne a4,t4,800005d0 + +800001b0 : +800001b0: 800000b7 lui ra,0x80000 +800001b4: 00000113 li sp,0 +800001b8: 02208733 mul a4,ra,sp +800001bc: 00000e93 li t4,0 +800001c0: 00600193 li gp,6 +800001c4: 41d71663 bne a4,t4,800005d0 + +800001c8 : +800001c8: 800000b7 lui ra,0x80000 +800001cc: ffff8137 lui sp,0xffff8 +800001d0: 02208733 mul a4,ra,sp +800001d4: 00000e93 li t4,0 +800001d8: 00700193 li gp,7 +800001dc: 3fd71a63 bne a4,t4,800005d0 + +800001e0 : +800001e0: aaaab0b7 lui ra,0xaaaab +800001e4: aab08093 addi ra,ra,-1365 # aaaaaaab <_end+0x2aaa8aab> +800001e8: 00030137 lui sp,0x30 +800001ec: e7d10113 addi sp,sp,-387 # 2fe7d <_start-0x7ffd0183> +800001f0: 02208733 mul a4,ra,sp +800001f4: 00010eb7 lui t4,0x10 +800001f8: f7fe8e93 addi t4,t4,-129 # ff7f <_start-0x7fff0081> +800001fc: 01e00193 li gp,30 +80000200: 3dd71863 bne a4,t4,800005d0 + +80000204 : +80000204: 000300b7 lui ra,0x30 +80000208: e7d08093 addi ra,ra,-387 # 2fe7d <_start-0x7ffd0183> +8000020c: aaaab137 lui sp,0xaaaab +80000210: aab10113 addi sp,sp,-1365 # aaaaaaab <_end+0x2aaa8aab> +80000214: 02208733 mul a4,ra,sp +80000218: 00010eb7 lui t4,0x10 +8000021c: f7fe8e93 addi t4,t4,-129 # ff7f <_start-0x7fff0081> +80000220: 01f00193 li gp,31 +80000224: 3bd71663 bne a4,t4,800005d0 + +80000228 : +80000228: ff0000b7 lui ra,0xff000 +8000022c: ff000137 lui sp,0xff000 +80000230: 02208733 mul a4,ra,sp +80000234: 00000e93 li t4,0 +80000238: 02200193 li gp,34 +8000023c: 39d71a63 bne a4,t4,800005d0 + +80000240 : +80000240: fff00093 li ra,-1 +80000244: fff00113 li sp,-1 +80000248: 02208733 mul a4,ra,sp +8000024c: 00100e93 li t4,1 +80000250: 02300193 li gp,35 +80000254: 37d71e63 bne a4,t4,800005d0 + +80000258 : +80000258: fff00093 li ra,-1 +8000025c: 00100113 li sp,1 +80000260: 02208733 mul a4,ra,sp +80000264: fff00e93 li t4,-1 +80000268: 02400193 li gp,36 +8000026c: 37d71263 bne a4,t4,800005d0 + +80000270 : +80000270: 00100093 li ra,1 +80000274: fff00113 li sp,-1 +80000278: 02208733 mul a4,ra,sp +8000027c: fff00e93 li t4,-1 +80000280: 02500193 li gp,37 +80000284: 35d71663 bne a4,t4,800005d0 + +80000288 : +80000288: 00d00093 li ra,13 +8000028c: 00b00113 li sp,11 +80000290: 022080b3 mul ra,ra,sp +80000294: 08f00e93 li t4,143 +80000298: 00800193 li gp,8 +8000029c: 33d09a63 bne ra,t4,800005d0 + +800002a0 : +800002a0: 00e00093 li ra,14 +800002a4: 00b00113 li sp,11 +800002a8: 02208133 mul sp,ra,sp +800002ac: 09a00e93 li t4,154 +800002b0: 00900193 li gp,9 +800002b4: 31d11e63 bne sp,t4,800005d0 + +800002b8 : +800002b8: 00d00093 li ra,13 +800002bc: 021080b3 mul ra,ra,ra +800002c0: 0a900e93 li t4,169 +800002c4: 00a00193 li gp,10 +800002c8: 31d09463 bne ra,t4,800005d0 + +800002cc : +800002cc: 00000213 li tp,0 +800002d0: 00d00093 li ra,13 +800002d4: 00b00113 li sp,11 +800002d8: 02208733 mul a4,ra,sp +800002dc: 00070313 mv t1,a4 +800002e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e4: 00200293 li t0,2 +800002e8: fe5214e3 bne tp,t0,800002d0 +800002ec: 08f00e93 li t4,143 +800002f0: 00b00193 li gp,11 +800002f4: 2dd31e63 bne t1,t4,800005d0 + +800002f8 : +800002f8: 00000213 li tp,0 +800002fc: 00e00093 li ra,14 +80000300: 00b00113 li sp,11 +80000304: 02208733 mul a4,ra,sp +80000308: 00000013 nop +8000030c: 00070313 mv t1,a4 +80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000314: 00200293 li t0,2 +80000318: fe5212e3 bne tp,t0,800002fc +8000031c: 09a00e93 li t4,154 +80000320: 00c00193 li gp,12 +80000324: 2bd31663 bne t1,t4,800005d0 + +80000328 : +80000328: 00000213 li tp,0 +8000032c: 00f00093 li ra,15 +80000330: 00b00113 li sp,11 +80000334: 02208733 mul a4,ra,sp +80000338: 00000013 nop +8000033c: 00000013 nop +80000340: 00070313 mv t1,a4 +80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000348: 00200293 li t0,2 +8000034c: fe5210e3 bne tp,t0,8000032c +80000350: 0a500e93 li t4,165 +80000354: 00d00193 li gp,13 +80000358: 27d31c63 bne t1,t4,800005d0 + +8000035c : +8000035c: 00000213 li tp,0 +80000360: 00d00093 li ra,13 +80000364: 00b00113 li sp,11 +80000368: 02208733 mul a4,ra,sp +8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000370: 00200293 li t0,2 +80000374: fe5216e3 bne tp,t0,80000360 +80000378: 08f00e93 li t4,143 +8000037c: 00e00193 li gp,14 +80000380: 25d71863 bne a4,t4,800005d0 + +80000384 : +80000384: 00000213 li tp,0 +80000388: 00e00093 li ra,14 +8000038c: 00b00113 li sp,11 +80000390: 00000013 nop +80000394: 02208733 mul a4,ra,sp +80000398: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000039c: 00200293 li t0,2 +800003a0: fe5214e3 bne tp,t0,80000388 +800003a4: 09a00e93 li t4,154 +800003a8: 00f00193 li gp,15 +800003ac: 23d71263 bne a4,t4,800005d0 + +800003b0 : +800003b0: 00000213 li tp,0 +800003b4: 00f00093 li ra,15 +800003b8: 00b00113 li sp,11 +800003bc: 00000013 nop +800003c0: 00000013 nop +800003c4: 02208733 mul a4,ra,sp +800003c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003cc: 00200293 li t0,2 +800003d0: fe5212e3 bne tp,t0,800003b4 +800003d4: 0a500e93 li t4,165 +800003d8: 01000193 li gp,16 +800003dc: 1fd71a63 bne a4,t4,800005d0 + +800003e0 : +800003e0: 00000213 li tp,0 +800003e4: 00d00093 li ra,13 +800003e8: 00000013 nop +800003ec: 00b00113 li sp,11 +800003f0: 02208733 mul a4,ra,sp +800003f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f8: 00200293 li t0,2 +800003fc: fe5214e3 bne tp,t0,800003e4 +80000400: 08f00e93 li t4,143 +80000404: 01100193 li gp,17 +80000408: 1dd71463 bne a4,t4,800005d0 + +8000040c : +8000040c: 00000213 li tp,0 +80000410: 00e00093 li ra,14 +80000414: 00000013 nop +80000418: 00b00113 li sp,11 +8000041c: 00000013 nop +80000420: 02208733 mul a4,ra,sp +80000424: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000428: 00200293 li t0,2 +8000042c: fe5212e3 bne tp,t0,80000410 +80000430: 09a00e93 li t4,154 +80000434: 01200193 li gp,18 +80000438: 19d71c63 bne a4,t4,800005d0 + +8000043c : +8000043c: 00000213 li tp,0 +80000440: 00f00093 li ra,15 +80000444: 00000013 nop +80000448: 00000013 nop +8000044c: 00b00113 li sp,11 +80000450: 02208733 mul a4,ra,sp +80000454: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000458: 00200293 li t0,2 +8000045c: fe5212e3 bne tp,t0,80000440 +80000460: 0a500e93 li t4,165 +80000464: 01300193 li gp,19 +80000468: 17d71463 bne a4,t4,800005d0 + +8000046c : +8000046c: 00000213 li tp,0 +80000470: 00b00113 li sp,11 +80000474: 00d00093 li ra,13 +80000478: 02208733 mul a4,ra,sp +8000047c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000480: 00200293 li t0,2 +80000484: fe5216e3 bne tp,t0,80000470 +80000488: 08f00e93 li t4,143 +8000048c: 01400193 li gp,20 +80000490: 15d71063 bne a4,t4,800005d0 + +80000494 : +80000494: 00000213 li tp,0 +80000498: 00b00113 li sp,11 +8000049c: 00e00093 li ra,14 +800004a0: 00000013 nop +800004a4: 02208733 mul a4,ra,sp +800004a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ac: 00200293 li t0,2 +800004b0: fe5214e3 bne tp,t0,80000498 +800004b4: 09a00e93 li t4,154 +800004b8: 01500193 li gp,21 +800004bc: 11d71a63 bne a4,t4,800005d0 + +800004c0 : +800004c0: 00000213 li tp,0 +800004c4: 00b00113 li sp,11 +800004c8: 00f00093 li ra,15 +800004cc: 00000013 nop +800004d0: 00000013 nop +800004d4: 02208733 mul a4,ra,sp +800004d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004dc: 00200293 li t0,2 +800004e0: fe5212e3 bne tp,t0,800004c4 +800004e4: 0a500e93 li t4,165 +800004e8: 01600193 li gp,22 +800004ec: 0fd71263 bne a4,t4,800005d0 + +800004f0 : +800004f0: 00000213 li tp,0 +800004f4: 00b00113 li sp,11 +800004f8: 00000013 nop +800004fc: 00d00093 li ra,13 +80000500: 02208733 mul a4,ra,sp +80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000508: 00200293 li t0,2 +8000050c: fe5214e3 bne tp,t0,800004f4 +80000510: 08f00e93 li t4,143 +80000514: 01700193 li gp,23 +80000518: 0bd71c63 bne a4,t4,800005d0 + +8000051c : +8000051c: 00000213 li tp,0 +80000520: 00b00113 li sp,11 +80000524: 00000013 nop +80000528: 00e00093 li ra,14 +8000052c: 00000013 nop +80000530: 02208733 mul a4,ra,sp +80000534: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000538: 00200293 li t0,2 +8000053c: fe5212e3 bne tp,t0,80000520 +80000540: 09a00e93 li t4,154 +80000544: 01800193 li gp,24 +80000548: 09d71463 bne a4,t4,800005d0 + +8000054c : +8000054c: 00000213 li tp,0 +80000550: 00b00113 li sp,11 +80000554: 00000013 nop +80000558: 00000013 nop +8000055c: 00f00093 li ra,15 +80000560: 02208733 mul a4,ra,sp +80000564: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000568: 00200293 li t0,2 +8000056c: fe5212e3 bne tp,t0,80000550 +80000570: 0a500e93 li t4,165 +80000574: 01900193 li gp,25 +80000578: 05d71c63 bne a4,t4,800005d0 + +8000057c : +8000057c: 01f00093 li ra,31 +80000580: 02100133 mul sp,zero,ra +80000584: 00000e93 li t4,0 +80000588: 01a00193 li gp,26 +8000058c: 05d11263 bne sp,t4,800005d0 + +80000590 : +80000590: 02000093 li ra,32 +80000594: 02008133 mul sp,ra,zero +80000598: 00000e93 li t4,0 +8000059c: 01b00193 li gp,27 +800005a0: 03d11863 bne sp,t4,800005d0 + +800005a4 : +800005a4: 020000b3 mul ra,zero,zero +800005a8: 00000e93 li t4,0 +800005ac: 01c00193 li gp,28 +800005b0: 03d09063 bne ra,t4,800005d0 + +800005b4 : +800005b4: 02100093 li ra,33 +800005b8: 02200113 li sp,34 +800005bc: 02208033 mul zero,ra,sp +800005c0: 00000e93 li t4,0 +800005c4: 01d00193 li gp,29 +800005c8: 01d01463 bne zero,t4,800005d0 +800005cc: 02301063 bne zero,gp,800005ec + +800005d0 : +800005d0: 0ff0000f fence +800005d4: 00018063 beqz gp,800005d4 +800005d8: 00119193 slli gp,gp,0x1 +800005dc: 0011e193 ori gp,gp,1 +800005e0: 05d00893 li a7,93 +800005e4: 00018513 mv a0,gp +800005e8: 00000073 ecall + +800005ec : +800005ec: 0ff0000f fence +800005f0: 00100193 li gp,1 +800005f4: 05d00893 li a7,93 +800005f8: 00000513 li a0,0 +800005fc: 00000073 ecall +80000600: c0001073 unimp diff --git a/simX/riscv_tests/rv32um-p-mul.hex b/simX/riscv_tests/rv32um-p-mul.hex index c2e28a22..9e1611b7 100644 --- a/simX/riscv_tests/rv32um-p-mul.hex +++ b/simX/riscv_tests/rv32um-p-mul.hex @@ -2,100 +2,104 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F173002030B780000034 -:1000C000938000E03771DBB6130171DBB38120024E -:1000D000B71E0000938E0E20130E00026394D14BC6 -:1000E000B7800000938000FC3771DBB6130171DB31 -:1000F000B3812002B71E0000938E0E24130E10024F -:100100006392D1499300000013010000B3812002E3 -:10011000930E0000130E20006396D1479300100049 -:1001200013011000B3812002930E1000130E300053 -:10013000639AD1459300300013017000B38120020F -:10014000930E5001130E4000639ED14393000000B4 -:100150003781FFFFB3812002930E0000130E500081 -:100160006392D143B700008013010000B3812002E5 -:10017000930E0000130E60006396D141B70000801B -:100180003781FFFFB3812002930E0000130E700031 -:10019000639AD13FB7B0AAAA9380B0AA37010300EF -:1001A0001301D1E7B3812002B70E0100938EFEF751 -:1001B000130EE0016398D13DB70003009380D0E7B0 -:1001C00037B1AAAA1301B1AAB3812002B70E010068 -:1001D000938EFEF7130EF0016396D13BB70000FF3C -:1001E000370100FFB3812002930E0000130E20029E -:1001F000639AD1399300F0FF1301F0FFB38120021D -:10020000930E1000130E3002639ED1379300F0FF5F -:1002100013011000B3812002930EF0FF130E400271 -:100220006392D137930010001301F0FFB3812002D5 -:10023000930EF0FF130E50026396D1359300D00059 -:100240001301B000B3802002930EF008130E80005B -:10025000639AD0339300E0001301B0003381200291 -:10026000930EA009130E9000631ED1319300D000AD -:10027000B3801002930E900A130EA0006394D03145 -:10028000130200009300D0001301B000B3812002DC -:10029000138301001302120093022000E31452FEA4 -:1002A000930EF008130EB000631ED32D130200004E -:1002B0009300E0001301B000B3812002130000009E -:1002C000138301001302120093022000E31252FE76 -:1002D000930EA009130EC0006316D32B1302000067 -:1002E0009300F0001301B000B3812002130000005E -:1002F0001300000013830100130212009302200078 -:10030000E31052FE930E500A130ED000631CD32745 -:10031000130200009300D0001301B000B38120024B -:100320001302120093022000E31652FE930EF0080F -:10033000130EE0006398D125130200009300E00043 -:100340001301B00013000000B38120021302120059 -:1003500093022000E31452FE930EA009130EF00046 -:100360006392D123130200009300F0001301B00048 -:100370001300000013000000B381200213021200DA -:1003800093022000E31252FE930E500A130E000156 -:10039000639AD11F130200009300D00013000000E5 -:1003A0001301B000B3812002130212009302200057 -:1003B000E31452FE930EF008130E10016394D11D46 -:1003C000130200009300E000130000001301B000CE -:1003D00013000000B38120021302120093022000D8 -:1003E000E31252FE930EA009130E2001639CD11953 -:1003F000130200009300F00013000000130000003F -:100400001301B000B38120021302120093022000F6 -:10041000E31252FE930E500A130E30016394D1176B -:10042000130200001301B0009300D000B38120023A -:100430001302120093022000E31652FE930EF008FE -:10044000130E40016390D115130200001301B00098 -:100450009300E00013000000B38120021302120099 -:1004600093022000E31452FE930EA009130E5001D4 -:10047000639AD111130200001301B0009300F00041 -:100480001300000013000000B381200213021200C9 -:1004900093022000E31252FE930E500A130E6001E5 -:1004A0006392D10F130200001301B000130000008B -:1004B0009300D000B38120021302120093022000A7 -:1004C000E31452FE930EF008130E7001639CD10BDF -:1004D000130200001301B000130000009300E000BD -:1004E00013000000B38120021302120093022000C7 -:1004F000E31252FE930EA009130E80016394D109FA -:10050000130200001301B0001300000013000000EC -:100510009300F000B3812002130212009302200026 -:10052000E31252FE930E500A130E9001639CD10504 -:100530009300F00133011002930E0000130EA0018E -:100540006312D1059300000233810002930E000074 -:10055000130EB0016318D103B3000002930E000024 -:10056000130EC0016390D003930010021301200208 -:1005700033802002930E0000130ED0016314D001CB -:10058000631CC0010F00F00F63000E00131E1E005D -:10059000136E1E00730000000F00F00F130E10000A -:1005A00073000000731000C0000000000000000095 -:1005B000000000000000000000000000000000003B -:0405C0000000000037 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F173002030B7800000938000E039 +:100110003771DBB6130171DB33872002B71E000095 +:10012000938E0E20930100026314D74BB78000001A +:10013000938000FC3771DBB6130171DB338720023B +:10014000B71E0000938E0E24930110026312D7494C +:10015000930000001301000033872002930E00007B +:10016000930120006316D74793001000130110007D +:1001700033872002930E100093013000631AD74595 +:10018000930030001301700033872002930E50015A +:1001900093014000631ED743930000003781FFFFA7 +:1001A00033872002930E0000930150006312D7435F +:1001B000B70000801301000033872002930E000077 +:1001C000930160006316D741B70000803781FFFFBD +:1001D00033872002930E000093017000631AD73F0B +:1001E000B7B0AAAA9380B0AA370103001301D1E7E0 +:1001F00033872002B70E0100938EFEF79301E001D2 +:100200006318D73DB70003009380D0E737B1AAAA9F +:100210001301B1AA33872002B70E0100938EFEF7B7 +:100220009301F0016316D73BB70000FF370100FFD1 +:1002300033872002930E000093012002631AD739FE +:100240009300F0FF1301F0FF33872002930E10009C +:1002500093013002631ED7379300F0FF13011000A3 +:1002600033872002930EF0FF930140026312D737C9 +:10027000930010001301F0FF33872002930EF0FF6C +:10028000930150026316D7359300D0001301B000DC +:10029000B3802002930EF00893018000639AD0335C +:1002A0009300E0001301B00033812002930EA009F7 +:1002B00093019000631ED1319300D000B3801002EF +:1002C000930E900A9301A0006394D03113020000B2 +:1002D0009300D0001301B0003387200213030700FE +:1002E0001302120093022000E31452FE930EF00852 +:1002F0009301B000631ED32D130200009300E000B1 +:100300001301B0003387200213000000130307001D +:100310001302120093022000E31252FE930EA00972 +:100320009301C0006316D32B130200009300F0006A +:100330001301B000338720021300000013000000F7 +:10034000130307001302120093022000E31052FE71 +:10035000930E500A9301D000631CD32713020000B0 +:100360009300D0001301B000338720021302120063 +:1003700093022000E31652FE930EF0089301E00072 +:100380006318D725130200009300E0001301B000AA +:100390001300000033872002130212009302200092 +:1003A000E31452FE930EA0099301F0006312D723C9 +:1003B000130200009300F0001301B00013000000CE +:1003C0001300000033872002130212009302200062 +:1003D000E31252FE930E500A93010001631AD71FD5 +:1003E000130200009300D000130000001301B000BE +:1003F000338720021302120093022000E31452FEFE +:10040000930EF008930110016314D71D130200002E +:100410009300E000130000001301B000130000007F +:10042000338720021302120093022000E31252FECF +:10043000930EA00993012001631CD7191302000039 +:100440009300F00013000000130000001301B0003F +:10045000338720021302120093022000E31252FE9F +:10046000930E500A930130016314D7171302000052 +:100470001301B0009300D000338720021302120052 +:1004800093022000E31652FE930EF0089301400100 +:100490006310D715130200001301B0009300E000B1 +:1004A0001300000033872002130212009302200081 +:1004B000E31452FE930EA00993015001631AD71161 +:1004C000130200001301B0009300F00013000000BD +:1004D0001300000033872002130212009302200051 +:1004E000E31252FE930E500A930160016312D70F7C +:1004F000130200001301B000130000009300D000AD +:10050000338720021302120093022000E31452FEEC +:10051000930EF00893017001631CD70B13020000C7 +:100520001301B000130000009300E000130000006E +:10053000338720021302120093022000E31252FEBE +:10054000930EA009930180016314D70913020000E0 +:100550001301B00013000000130000009300F0002E +:10056000338720021302120093022000E31252FE8E +:10057000930E500A93019001631CD7059300F0017C +:1005800033011002930E00009301A0016312D10504 +:100590009300000233810002930E00009301B0012A +:1005A0006318D103B3000002930E00009301C00151 +:1005B0006390D003930010021301200233802002C5 +:1005C000930E00009301D0016314D0016310300238 +:1005D0000F00F00F638001009391110093E111006F +:1005E0009308D00513850100730000000F00F00F81 +:1005F000930110009308D00513050000730000005C +:04060000731000C0B3 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32um-p-mulh.dump b/simX/riscv_tests/rv32um-p-mulh.dump new file mode 100644 index 00000000..627b3d9d --- /dev/null +++ b/simX/riscv_tests/rv32um-p-mulh.dump @@ -0,0 +1,472 @@ + +rv32um-p-mulh: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00000093 li ra,0 +8000010c: 00000113 li sp,0 +80000110: 02209733 mulh a4,ra,sp +80000114: 00000e93 li t4,0 +80000118: 00200193 li gp,2 +8000011c: 4bd71a63 bne a4,t4,800005d0 + +80000120 : +80000120: 00100093 li ra,1 +80000124: 00100113 li sp,1 +80000128: 02209733 mulh a4,ra,sp +8000012c: 00000e93 li t4,0 +80000130: 00300193 li gp,3 +80000134: 49d71e63 bne a4,t4,800005d0 + +80000138 : +80000138: 00300093 li ra,3 +8000013c: 00700113 li sp,7 +80000140: 02209733 mulh a4,ra,sp +80000144: 00000e93 li t4,0 +80000148: 00400193 li gp,4 +8000014c: 49d71263 bne a4,t4,800005d0 + +80000150 : +80000150: 00000093 li ra,0 +80000154: ffff8137 lui sp,0xffff8 +80000158: 02209733 mulh a4,ra,sp +8000015c: 00000e93 li t4,0 +80000160: 00500193 li gp,5 +80000164: 47d71663 bne a4,t4,800005d0 + +80000168 : +80000168: 800000b7 lui ra,0x80000 +8000016c: 00000113 li sp,0 +80000170: 02209733 mulh a4,ra,sp +80000174: 00000e93 li t4,0 +80000178: 00600193 li gp,6 +8000017c: 45d71a63 bne a4,t4,800005d0 + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: 00000113 li sp,0 +80000188: 02209733 mulh a4,ra,sp +8000018c: 00000e93 li t4,0 +80000190: 00700193 li gp,7 +80000194: 43d71e63 bne a4,t4,800005d0 + +80000198 : +80000198: aaaab0b7 lui ra,0xaaaab +8000019c: aab08093 addi ra,ra,-1365 # aaaaaaab <_end+0x2aaa8aab> +800001a0: 00030137 lui sp,0x30 +800001a4: e7d10113 addi sp,sp,-387 # 2fe7d <_start-0x7ffd0183> +800001a8: 02209733 mulh a4,ra,sp +800001ac: ffff0eb7 lui t4,0xffff0 +800001b0: 081e8e93 addi t4,t4,129 # ffff0081 <_end+0x7ffee081> +800001b4: 01e00193 li gp,30 +800001b8: 41d71c63 bne a4,t4,800005d0 + +800001bc : +800001bc: 000300b7 lui ra,0x30 +800001c0: e7d08093 addi ra,ra,-387 # 2fe7d <_start-0x7ffd0183> +800001c4: aaaab137 lui sp,0xaaaab +800001c8: aab10113 addi sp,sp,-1365 # aaaaaaab <_end+0x2aaa8aab> +800001cc: 02209733 mulh a4,ra,sp +800001d0: ffff0eb7 lui t4,0xffff0 +800001d4: 081e8e93 addi t4,t4,129 # ffff0081 <_end+0x7ffee081> +800001d8: 01f00193 li gp,31 +800001dc: 3fd71a63 bne a4,t4,800005d0 + +800001e0 : +800001e0: ff0000b7 lui ra,0xff000 +800001e4: ff000137 lui sp,0xff000 +800001e8: 02209733 mulh a4,ra,sp +800001ec: 00010eb7 lui t4,0x10 +800001f0: 02000193 li gp,32 +800001f4: 3dd71e63 bne a4,t4,800005d0 + +800001f8 : +800001f8: fff00093 li ra,-1 +800001fc: fff00113 li sp,-1 +80000200: 02209733 mulh a4,ra,sp +80000204: 00000e93 li t4,0 +80000208: 02100193 li gp,33 +8000020c: 3dd71263 bne a4,t4,800005d0 + +80000210 : +80000210: fff00093 li ra,-1 +80000214: 00100113 li sp,1 +80000218: 02209733 mulh a4,ra,sp +8000021c: fff00e93 li t4,-1 +80000220: 02200193 li gp,34 +80000224: 3bd71663 bne a4,t4,800005d0 + +80000228 : +80000228: 00100093 li ra,1 +8000022c: fff00113 li sp,-1 +80000230: 02209733 mulh a4,ra,sp +80000234: fff00e93 li t4,-1 +80000238: 02300193 li gp,35 +8000023c: 39d71a63 bne a4,t4,800005d0 + +80000240 : +80000240: 00d000b7 lui ra,0xd00 +80000244: 00b00137 lui sp,0xb00 +80000248: 022090b3 mulh ra,ra,sp +8000024c: 00009eb7 lui t4,0x9 +80000250: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000254: 00800193 li gp,8 +80000258: 37d09c63 bne ra,t4,800005d0 + +8000025c : +8000025c: 00e000b7 lui ra,0xe00 +80000260: 00b00137 lui sp,0xb00 +80000264: 02209133 mulh sp,ra,sp +80000268: 0000aeb7 lui t4,0xa +8000026c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000270: 00900193 li gp,9 +80000274: 35d11e63 bne sp,t4,800005d0 + +80000278 : +80000278: 00d000b7 lui ra,0xd00 +8000027c: 021090b3 mulh ra,ra,ra +80000280: 0000beb7 lui t4,0xb +80000284: 900e8e93 addi t4,t4,-1792 # a900 <_start-0x7fff5700> +80000288: 00a00193 li gp,10 +8000028c: 35d09263 bne ra,t4,800005d0 + +80000290 : +80000290: 00000213 li tp,0 +80000294: 00d000b7 lui ra,0xd00 +80000298: 00b00137 lui sp,0xb00 +8000029c: 02209733 mulh a4,ra,sp +800002a0: 00070313 mv t1,a4 +800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a8: 00200293 li t0,2 +800002ac: fe5214e3 bne tp,t0,80000294 +800002b0: 00009eb7 lui t4,0x9 +800002b4: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +800002b8: 00b00193 li gp,11 +800002bc: 31d31a63 bne t1,t4,800005d0 + +800002c0 : +800002c0: 00000213 li tp,0 +800002c4: 00e000b7 lui ra,0xe00 +800002c8: 00b00137 lui sp,0xb00 +800002cc: 02209733 mulh a4,ra,sp +800002d0: 00000013 nop +800002d4: 00070313 mv t1,a4 +800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002dc: 00200293 li t0,2 +800002e0: fe5212e3 bne tp,t0,800002c4 +800002e4: 0000aeb7 lui t4,0xa +800002e8: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800002ec: 00c00193 li gp,12 +800002f0: 2fd31063 bne t1,t4,800005d0 + +800002f4 : +800002f4: 00000213 li tp,0 +800002f8: 00f000b7 lui ra,0xf00 +800002fc: 00b00137 lui sp,0xb00 +80000300: 02209733 mulh a4,ra,sp +80000304: 00000013 nop +80000308: 00000013 nop +8000030c: 00070313 mv t1,a4 +80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000314: 00200293 li t0,2 +80000318: fe5210e3 bne tp,t0,800002f8 +8000031c: 0000aeb7 lui t4,0xa +80000320: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000324: 00d00193 li gp,13 +80000328: 2bd31463 bne t1,t4,800005d0 + +8000032c : +8000032c: 00000213 li tp,0 +80000330: 00d000b7 lui ra,0xd00 +80000334: 00b00137 lui sp,0xb00 +80000338: 02209733 mulh a4,ra,sp +8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000340: 00200293 li t0,2 +80000344: fe5216e3 bne tp,t0,80000330 +80000348: 00009eb7 lui t4,0x9 +8000034c: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000350: 00e00193 li gp,14 +80000354: 27d71e63 bne a4,t4,800005d0 + +80000358 : +80000358: 00000213 li tp,0 +8000035c: 00e000b7 lui ra,0xe00 +80000360: 00b00137 lui sp,0xb00 +80000364: 00000013 nop +80000368: 02209733 mulh a4,ra,sp +8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000370: 00200293 li t0,2 +80000374: fe5214e3 bne tp,t0,8000035c +80000378: 0000aeb7 lui t4,0xa +8000037c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000380: 00f00193 li gp,15 +80000384: 25d71663 bne a4,t4,800005d0 + +80000388 : +80000388: 00000213 li tp,0 +8000038c: 00f000b7 lui ra,0xf00 +80000390: 00b00137 lui sp,0xb00 +80000394: 00000013 nop +80000398: 00000013 nop +8000039c: 02209733 mulh a4,ra,sp +800003a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a4: 00200293 li t0,2 +800003a8: fe5212e3 bne tp,t0,8000038c +800003ac: 0000aeb7 lui t4,0xa +800003b0: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +800003b4: 01000193 li gp,16 +800003b8: 21d71c63 bne a4,t4,800005d0 + +800003bc : +800003bc: 00000213 li tp,0 +800003c0: 00d000b7 lui ra,0xd00 +800003c4: 00000013 nop +800003c8: 00b00137 lui sp,0xb00 +800003cc: 02209733 mulh a4,ra,sp +800003d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003d4: 00200293 li t0,2 +800003d8: fe5214e3 bne tp,t0,800003c0 +800003dc: 00009eb7 lui t4,0x9 +800003e0: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +800003e4: 01100193 li gp,17 +800003e8: 1fd71463 bne a4,t4,800005d0 + +800003ec : +800003ec: 00000213 li tp,0 +800003f0: 00e000b7 lui ra,0xe00 +800003f4: 00000013 nop +800003f8: 00b00137 lui sp,0xb00 +800003fc: 00000013 nop +80000400: 02209733 mulh a4,ra,sp +80000404: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000408: 00200293 li t0,2 +8000040c: fe5212e3 bne tp,t0,800003f0 +80000410: 0000aeb7 lui t4,0xa +80000414: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000418: 01200193 li gp,18 +8000041c: 1bd71a63 bne a4,t4,800005d0 + +80000420 : +80000420: 00000213 li tp,0 +80000424: 00f000b7 lui ra,0xf00 +80000428: 00000013 nop +8000042c: 00000013 nop +80000430: 00b00137 lui sp,0xb00 +80000434: 02209733 mulh a4,ra,sp +80000438: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000043c: 00200293 li t0,2 +80000440: fe5212e3 bne tp,t0,80000424 +80000444: 0000aeb7 lui t4,0xa +80000448: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +8000044c: 01300193 li gp,19 +80000450: 19d71063 bne a4,t4,800005d0 + +80000454 : +80000454: 00000213 li tp,0 +80000458: 00b00137 lui sp,0xb00 +8000045c: 00d000b7 lui ra,0xd00 +80000460: 02209733 mulh a4,ra,sp +80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000468: 00200293 li t0,2 +8000046c: fe5216e3 bne tp,t0,80000458 +80000470: 00009eb7 lui t4,0x9 +80000474: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000478: 01400193 li gp,20 +8000047c: 15d71a63 bne a4,t4,800005d0 + +80000480 : +80000480: 00000213 li tp,0 +80000484: 00b00137 lui sp,0xb00 +80000488: 00e000b7 lui ra,0xe00 +8000048c: 00000013 nop +80000490: 02209733 mulh a4,ra,sp +80000494: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000498: 00200293 li t0,2 +8000049c: fe5214e3 bne tp,t0,80000484 +800004a0: 0000aeb7 lui t4,0xa +800004a4: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800004a8: 01500193 li gp,21 +800004ac: 13d71263 bne a4,t4,800005d0 + +800004b0 : +800004b0: 00000213 li tp,0 +800004b4: 00b00137 lui sp,0xb00 +800004b8: 00f000b7 lui ra,0xf00 +800004bc: 00000013 nop +800004c0: 00000013 nop +800004c4: 02209733 mulh a4,ra,sp +800004c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004cc: 00200293 li t0,2 +800004d0: fe5212e3 bne tp,t0,800004b4 +800004d4: 0000aeb7 lui t4,0xa +800004d8: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +800004dc: 01600193 li gp,22 +800004e0: 0fd71863 bne a4,t4,800005d0 + +800004e4 : +800004e4: 00000213 li tp,0 +800004e8: 00b00137 lui sp,0xb00 +800004ec: 00000013 nop +800004f0: 00d000b7 lui ra,0xd00 +800004f4: 02209733 mulh a4,ra,sp +800004f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004fc: 00200293 li t0,2 +80000500: fe5214e3 bne tp,t0,800004e8 +80000504: 00009eb7 lui t4,0x9 +80000508: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +8000050c: 01700193 li gp,23 +80000510: 0dd71063 bne a4,t4,800005d0 + +80000514 : +80000514: 00000213 li tp,0 +80000518: 00b00137 lui sp,0xb00 +8000051c: 00000013 nop +80000520: 00e000b7 lui ra,0xe00 +80000524: 00000013 nop +80000528: 02209733 mulh a4,ra,sp +8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000530: 00200293 li t0,2 +80000534: fe5212e3 bne tp,t0,80000518 +80000538: 0000aeb7 lui t4,0xa +8000053c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000540: 01800193 li gp,24 +80000544: 09d71663 bne a4,t4,800005d0 + +80000548 : +80000548: 00000213 li tp,0 +8000054c: 00b00137 lui sp,0xb00 +80000550: 00000013 nop +80000554: 00000013 nop +80000558: 00f000b7 lui ra,0xf00 +8000055c: 02209733 mulh a4,ra,sp +80000560: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000564: 00200293 li t0,2 +80000568: fe5212e3 bne tp,t0,8000054c +8000056c: 0000aeb7 lui t4,0xa +80000570: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000574: 01900193 li gp,25 +80000578: 05d71c63 bne a4,t4,800005d0 + +8000057c : +8000057c: 7c0000b7 lui ra,0x7c000 +80000580: 02101133 mulh sp,zero,ra +80000584: 00000e93 li t4,0 +80000588: 01a00193 li gp,26 +8000058c: 05d11263 bne sp,t4,800005d0 + +80000590 : +80000590: 800000b7 lui ra,0x80000 +80000594: 02009133 mulh sp,ra,zero +80000598: 00000e93 li t4,0 +8000059c: 01b00193 li gp,27 +800005a0: 03d11863 bne sp,t4,800005d0 + +800005a4 : +800005a4: 020010b3 mulh ra,zero,zero +800005a8: 00000e93 li t4,0 +800005ac: 01c00193 li gp,28 +800005b0: 03d09063 bne ra,t4,800005d0 + +800005b4 : +800005b4: 021000b7 lui ra,0x2100 +800005b8: 02200137 lui sp,0x2200 +800005bc: 02209033 mulh zero,ra,sp +800005c0: 00000e93 li t4,0 +800005c4: 01d00193 li gp,29 +800005c8: 01d01463 bne zero,t4,800005d0 +800005cc: 02301063 bne zero,gp,800005ec + +800005d0 : +800005d0: 0ff0000f fence +800005d4: 00018063 beqz gp,800005d4 +800005d8: 00119193 slli gp,gp,0x1 +800005dc: 0011e193 ori gp,gp,1 +800005e0: 05d00893 li a7,93 +800005e4: 00018513 mv a0,gp +800005e8: 00000073 ecall + +800005ec : +800005ec: 0ff0000f fence +800005f0: 00100193 li gp,1 +800005f4: 05d00893 li a7,93 +800005f8: 00000513 li a0,0 +800005fc: 00000073 ecall +80000600: c0001073 unimp diff --git a/simX/riscv_tests/rv32um-p-mulh.hex b/simX/riscv_tests/rv32um-p-mulh.hex index d4117c00..70359675 100644 --- a/simX/riscv_tests/rv32um-p-mulh.hex +++ b/simX/riscv_tests/rv32um-p-mulh.hex @@ -2,100 +2,104 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093000000D8 -:1000C00013010000B3912002930E0000130E2000D4 -:1000D000639AD14B9300100013011000B3912002DA -:1000E000930E0000130E3000639ED1499300300040 -:1000F00013017000B3912002930E0000130E400014 -:100100006392D149930000003781FFFFB391200231 -:10011000930E0000130E50006396D147B700008085 -:1001200013010000B3912002930E0000130E600033 -:10013000639AD145B700008013010000B3912002FB -:10014000930E0000130E7000639ED143B7B0AAAAAD -:100150009380B0AA370103001301D1E7B3912002C5 -:10016000B70EFFFF938E1E08130EE001639CD14172 -:10017000B70003009380D0E737B1AAAA1301B1AA50 -:10018000B3912002B70EFFFF938E1E08130EF001ED -:10019000639AD13FB70000FF370100FFB3912002FF -:1001A000B70E0100130E0002639ED13D9300F0FFD5 -:1001B0001301F0FFB3912002930E0000130E100202 -:1001C0006392D13D9300F0FF13011000B391200220 -:1001D000930EF0FF130E20026396D13B93001000A4 -:1001E0001301F0FFB3912002930EF0FF130E3002C3 -:1001F000639AD139B700D0003701B000B390200224 -:10020000B79E0000938E0EF0130E8000639CD037D3 -:10021000B700E0003701B00033912002B7AE000014 -:10022000938E0EA0130E9000631ED135B700D00040 -:10023000B3901002B7BE0000938E0E90130EA00074 -:100240006392D03513020000B700D0003701B00030 -:10025000B3912002138301001302120093022000C5 -:10026000E31452FEB79E0000938E0EF0130EB00002 -:10027000631AD33113020000B700E0003701B00069 -:10028000B391200213000000138301001302120037 -:1002900093022000E31252FEB7AE0000938E0EA030 -:1002A000130EC0006310D32F13020000B700F0003C -:1002B0003701B000B39120021300000013000000CA -:1002C000138301001302120093022000E31052FE78 -:1002D000B7AE0000938E0E50130ED0006314D32BD4 -:1002E00013020000B700D0003701B000B391200224 -:1002F0001302120093022000E31652FEB79E000084 -:10030000938E0EF0130EE000639ED12713020000BF -:10031000B700E0003701B00013000000B3912002E5 -:100320001302120093022000E31452FEB7AE000045 -:10033000938E0EA0130EF0006396D12513020000D9 -:10034000B700F0003701B0001300000013000000F8 -:10035000B39120021302120093022000E31252FE16 -:10036000B7AE0000938E0E50130E0001639CD12196 -:1003700013020000B700D000130000003701B000E6 -:10038000B39120021302120093022000E31452FEE4 -:10039000B79E0000938E0EF0130E10016394D11FD0 -:1003A00013020000B700E000130000003701B000A6 -:1003B00013000000B39120021302120093022000E8 -:1003C000E31252FEB7AE0000938E0EA0130E200172 -:1003D000639AD11B13020000B700F0001300000065 -:1003E000130000003701B000B39120021302120085 -:1003F00093022000E31252FEB7AE0000938E0E501F -:10040000130E30016390D119130200003701B000C0 -:10041000B700D000B3912002130212009302200013 -:10042000E31652FEB79E0000938E0EF0130E4001AD -:10043000639AD115130200003701B000B700E00045 -:1004400013000000B3912002130212009302200057 -:10045000E31452FEB7AE0000938E0EA0130E5001AF -:100460006392D113130200003701B000B700F0000F -:100470001300000013000000B391200213021200C9 -:1004800093022000E31252FEB7AE0000938E0E508E -:10049000130E60016398D10F130200003701B00002 -:1004A00013000000B700D000B39120021302120025 -:1004B00093022000E31452FEB79E0000938E0EF0CC -:1004C000130E70016390D10D130200003701B000CC -:1004D00013000000B700E00013000000B3912002F9 -:1004E0001302120093022000E31252FEB7AE000086 -:1004F000938E0EA0130E80016396D10913020000A3 -:100500003701B0001300000013000000B700F00036 -:10051000B39120021302120093022000E31252FE54 -:10052000B7AE0000938E0E50130E9001639CD10560 -:10053000B700007C33111002930E0000130EA001CF -:100540006312D105B700008033910002930E0000C2 -:10055000130EB0016318D103B3100002930E000014 -:10056000130EC0016390D003B700100237012002C0 -:1005700033902002930E0000130ED0016314D001BB -:10058000631CC0010F00F00F63000E00131E1E005D -:10059000136E1E00730000000F00F00F130E10000A -:1005A00073000000731000C0000000000000000095 -:1005B000000000000000000000000000000000003B -:0405C0000000000037 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309300000013010000BC +:1001100033972002930E000093012000631AD74BFF +:10012000930010001301100033972002930E00007B +:1001300093013000631ED749930030001301700013 +:1001400033972002930E0000930140006312D749B9 +:10015000930000003781FFFF33972002930E0000C9 +:10016000930150006316D747B700008013010000C9 +:1001700033972002930E000093016000631AD74565 +:10018000B70000801301000033972002930E000097 +:1001900093017000631ED743B7B0AAAA9380B0AA98 +:1001A000370103001301D1E733972002B70EFFFF99 +:1001B000938E1E089301E001631CD741B700030032 +:1001C0009380D0E737B1AAAA1301B1AA33972002CE +:1001D000B70EFFFF938E1E089301F001631AD73FFD +:1001E000B70000FF370100FF33972002B70E010070 +:1001F00093010002631ED73D9300F0FF1301F0FF4F +:1002000033972002930E0000930110026312D73D32 +:100210009300F0FF1301100033972002930EF0FFBC +:10022000930120026316D73B930010001301F0FFE7 +:1002300033972002930EF0FF93013002631AD739EF +:10024000B700D0003701B000B3902002B79E000085 +:10025000938E0EF093018000639CD037B700E000CE +:100260003701B00033912002B7AE0000938E0EA08C +:1002700093019000631ED135B700D000B3901002F7 +:10028000B7BE0000938E0E909301A0006392D0350C +:1002900013020000B700D0003701B00033972002EE +:1002A000130307001302120093022000E31452FE0E +:1002B000B79E0000938E0EF09301B000631AD33105 +:1002C00013020000B700E0003701B00033972002AE +:1002D0001300000013030700130212009302200012 +:1002E000E31252FEB7AE0000938E0EA09301C00041 +:1002F0006310D32F13020000B700F0003701B000E5 +:1003000033972002130000001300000013030700BE +:100310001302120093022000E31052FEB7AE000059 +:10032000938E0E509301D0006314D32B1302000060 +:10033000B700D0003701B00033972002130212003B +:1003400093022000E31652FEB79E0000938E0EF03B +:100350009301E000631ED72713020000B700E000FE +:100360003701B0001300000033972002130212007F +:1003700093022000E31452FEB7AE0000938E0EA04D +:100380009301F0006316D72513020000B700F000B8 +:100390003701B00013000000130000003397200263 +:1003A0001302120093022000E31252FEB7AE0000C7 +:1003B000938E0E5093010001631CD721130200009D +:1003C000B700D000130000003701B00033972002BF +:1003D0001302120093022000E31452FEB79E0000A5 +:1003E000938E0EF0930110016314D71F13020000C7 +:1003F000B700E000130000003701B0001300000058 +:10040000339720021302120093022000E31252FEDF +:10041000B7AE0000938E0EA093012001631AD71B84 +:1004200013020000B700F0001300000013000000EA +:100430003701B0003397200213021200930220000C +:10044000E31252FEB7AE0000938E0E5093013001BE +:100450006310D719130200003701B000B700D000B5 +:10046000339720021302120093022000E31652FE7B +:10047000B79E0000938E0EF093014001631AD715CA +:10048000130200003701B000B700E00013000000C5 +:10049000339720021302120093022000E31452FE4D +:1004A000B7AE0000938E0EA0930150016312D713D4 +:1004B000130200003701B000B700F0001300000085 +:1004C0001300000033972002130212009302200051 +:1004D000E31252FEB7AE0000938E0E5093016001FE +:1004E0006318D70F130200003701B000130000009B +:1004F000B700D000339720021302120093022000AD +:10050000E31452FEB79E0000938E0EF0930170012B +:100510006310D70D130200003701B0001300000074 +:10052000B700E0001300000033972002130212000E +:1005300093022000E31252FEB7AE0000938E0EA08D +:10054000930180016316D709130200003701B00040 +:100550001300000013000000B700F00033972002E2 +:100560001302120093022000E31252FEB7AE000005 +:10057000938E0E5093019001631CD705B700007C49 +:1005800033111002930E00009301A0016312D105F4 +:10059000B700008033910002930E00009301B00178 +:1005A0006318D103B3100002930E00009301C00141 +:1005B0006390D003B700100237012002339020026D +:1005C000930E00009301D0016314D0016310300238 +:1005D0000F00F00F638001009391110093E111006F +:1005E0009308D00513850100730000000F00F00F81 +:1005F000930110009308D00513050000730000005C +:04060000731000C0B3 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32um-p-mulhsu.dump b/simX/riscv_tests/rv32um-p-mulhsu.dump new file mode 100644 index 00000000..ad534309 --- /dev/null +++ b/simX/riscv_tests/rv32um-p-mulhsu.dump @@ -0,0 +1,472 @@ + +rv32um-p-mulhsu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00000093 li ra,0 +8000010c: 00000113 li sp,0 +80000110: 0220a733 mulhsu a4,ra,sp +80000114: 00000e93 li t4,0 +80000118: 00200193 li gp,2 +8000011c: 4bd71a63 bne a4,t4,800005d0 + +80000120 : +80000120: 00100093 li ra,1 +80000124: 00100113 li sp,1 +80000128: 0220a733 mulhsu a4,ra,sp +8000012c: 00000e93 li t4,0 +80000130: 00300193 li gp,3 +80000134: 49d71e63 bne a4,t4,800005d0 + +80000138 : +80000138: 00300093 li ra,3 +8000013c: 00700113 li sp,7 +80000140: 0220a733 mulhsu a4,ra,sp +80000144: 00000e93 li t4,0 +80000148: 00400193 li gp,4 +8000014c: 49d71263 bne a4,t4,800005d0 + +80000150 : +80000150: 00000093 li ra,0 +80000154: ffff8137 lui sp,0xffff8 +80000158: 0220a733 mulhsu a4,ra,sp +8000015c: 00000e93 li t4,0 +80000160: 00500193 li gp,5 +80000164: 47d71663 bne a4,t4,800005d0 + +80000168 : +80000168: 800000b7 lui ra,0x80000 +8000016c: 00000113 li sp,0 +80000170: 0220a733 mulhsu a4,ra,sp +80000174: 00000e93 li t4,0 +80000178: 00600193 li gp,6 +8000017c: 45d71a63 bne a4,t4,800005d0 + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: ffff8137 lui sp,0xffff8 +80000188: 0220a733 mulhsu a4,ra,sp +8000018c: 80004eb7 lui t4,0x80004 +80000190: 00700193 li gp,7 +80000194: 43d71e63 bne a4,t4,800005d0 + +80000198 : +80000198: aaaab0b7 lui ra,0xaaaab +8000019c: aab08093 addi ra,ra,-1365 # aaaaaaab <_end+0x2aaa8aab> +800001a0: 00030137 lui sp,0x30 +800001a4: e7d10113 addi sp,sp,-387 # 2fe7d <_start-0x7ffd0183> +800001a8: 0220a733 mulhsu a4,ra,sp +800001ac: ffff0eb7 lui t4,0xffff0 +800001b0: 081e8e93 addi t4,t4,129 # ffff0081 <_end+0x7ffee081> +800001b4: 01e00193 li gp,30 +800001b8: 41d71c63 bne a4,t4,800005d0 + +800001bc : +800001bc: 000300b7 lui ra,0x30 +800001c0: e7d08093 addi ra,ra,-387 # 2fe7d <_start-0x7ffd0183> +800001c4: aaaab137 lui sp,0xaaaab +800001c8: aab10113 addi sp,sp,-1365 # aaaaaaab <_end+0x2aaa8aab> +800001cc: 0220a733 mulhsu a4,ra,sp +800001d0: 00020eb7 lui t4,0x20 +800001d4: efee8e93 addi t4,t4,-258 # 1fefe <_start-0x7ffe0102> +800001d8: 01f00193 li gp,31 +800001dc: 3fd71a63 bne a4,t4,800005d0 + +800001e0 : +800001e0: ff0000b7 lui ra,0xff000 +800001e4: ff000137 lui sp,0xff000 +800001e8: 0220a733 mulhsu a4,ra,sp +800001ec: ff010eb7 lui t4,0xff010 +800001f0: 02000193 li gp,32 +800001f4: 3dd71e63 bne a4,t4,800005d0 + +800001f8 : +800001f8: fff00093 li ra,-1 +800001fc: fff00113 li sp,-1 +80000200: 0220a733 mulhsu a4,ra,sp +80000204: fff00e93 li t4,-1 +80000208: 02100193 li gp,33 +8000020c: 3dd71263 bne a4,t4,800005d0 + +80000210 : +80000210: fff00093 li ra,-1 +80000214: 00100113 li sp,1 +80000218: 0220a733 mulhsu a4,ra,sp +8000021c: fff00e93 li t4,-1 +80000220: 02200193 li gp,34 +80000224: 3bd71663 bne a4,t4,800005d0 + +80000228 : +80000228: 00100093 li ra,1 +8000022c: fff00113 li sp,-1 +80000230: 0220a733 mulhsu a4,ra,sp +80000234: 00000e93 li t4,0 +80000238: 02300193 li gp,35 +8000023c: 39d71a63 bne a4,t4,800005d0 + +80000240 : +80000240: 00d000b7 lui ra,0xd00 +80000244: 00b00137 lui sp,0xb00 +80000248: 0220a0b3 mulhsu ra,ra,sp +8000024c: 00009eb7 lui t4,0x9 +80000250: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000254: 00800193 li gp,8 +80000258: 37d09c63 bne ra,t4,800005d0 + +8000025c : +8000025c: 00e000b7 lui ra,0xe00 +80000260: 00b00137 lui sp,0xb00 +80000264: 0220a133 mulhsu sp,ra,sp +80000268: 0000aeb7 lui t4,0xa +8000026c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000270: 00900193 li gp,9 +80000274: 35d11e63 bne sp,t4,800005d0 + +80000278 : +80000278: 00d000b7 lui ra,0xd00 +8000027c: 0210a0b3 mulhsu ra,ra,ra +80000280: 0000beb7 lui t4,0xb +80000284: 900e8e93 addi t4,t4,-1792 # a900 <_start-0x7fff5700> +80000288: 00a00193 li gp,10 +8000028c: 35d09263 bne ra,t4,800005d0 + +80000290 : +80000290: 00000213 li tp,0 +80000294: 00d000b7 lui ra,0xd00 +80000298: 00b00137 lui sp,0xb00 +8000029c: 0220a733 mulhsu a4,ra,sp +800002a0: 00070313 mv t1,a4 +800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a8: 00200293 li t0,2 +800002ac: fe5214e3 bne tp,t0,80000294 +800002b0: 00009eb7 lui t4,0x9 +800002b4: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +800002b8: 00b00193 li gp,11 +800002bc: 31d31a63 bne t1,t4,800005d0 + +800002c0 : +800002c0: 00000213 li tp,0 +800002c4: 00e000b7 lui ra,0xe00 +800002c8: 00b00137 lui sp,0xb00 +800002cc: 0220a733 mulhsu a4,ra,sp +800002d0: 00000013 nop +800002d4: 00070313 mv t1,a4 +800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002dc: 00200293 li t0,2 +800002e0: fe5212e3 bne tp,t0,800002c4 +800002e4: 0000aeb7 lui t4,0xa +800002e8: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800002ec: 00c00193 li gp,12 +800002f0: 2fd31063 bne t1,t4,800005d0 + +800002f4 : +800002f4: 00000213 li tp,0 +800002f8: 00f000b7 lui ra,0xf00 +800002fc: 00b00137 lui sp,0xb00 +80000300: 0220a733 mulhsu a4,ra,sp +80000304: 00000013 nop +80000308: 00000013 nop +8000030c: 00070313 mv t1,a4 +80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000314: 00200293 li t0,2 +80000318: fe5210e3 bne tp,t0,800002f8 +8000031c: 0000aeb7 lui t4,0xa +80000320: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000324: 00d00193 li gp,13 +80000328: 2bd31463 bne t1,t4,800005d0 + +8000032c : +8000032c: 00000213 li tp,0 +80000330: 00d000b7 lui ra,0xd00 +80000334: 00b00137 lui sp,0xb00 +80000338: 0220a733 mulhsu a4,ra,sp +8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000340: 00200293 li t0,2 +80000344: fe5216e3 bne tp,t0,80000330 +80000348: 00009eb7 lui t4,0x9 +8000034c: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000350: 00e00193 li gp,14 +80000354: 27d71e63 bne a4,t4,800005d0 + +80000358 : +80000358: 00000213 li tp,0 +8000035c: 00e000b7 lui ra,0xe00 +80000360: 00b00137 lui sp,0xb00 +80000364: 00000013 nop +80000368: 0220a733 mulhsu a4,ra,sp +8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000370: 00200293 li t0,2 +80000374: fe5214e3 bne tp,t0,8000035c +80000378: 0000aeb7 lui t4,0xa +8000037c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000380: 00f00193 li gp,15 +80000384: 25d71663 bne a4,t4,800005d0 + +80000388 : +80000388: 00000213 li tp,0 +8000038c: 00f000b7 lui ra,0xf00 +80000390: 00b00137 lui sp,0xb00 +80000394: 00000013 nop +80000398: 00000013 nop +8000039c: 0220a733 mulhsu a4,ra,sp +800003a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a4: 00200293 li t0,2 +800003a8: fe5212e3 bne tp,t0,8000038c +800003ac: 0000aeb7 lui t4,0xa +800003b0: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +800003b4: 01000193 li gp,16 +800003b8: 21d71c63 bne a4,t4,800005d0 + +800003bc : +800003bc: 00000213 li tp,0 +800003c0: 00d000b7 lui ra,0xd00 +800003c4: 00000013 nop +800003c8: 00b00137 lui sp,0xb00 +800003cc: 0220a733 mulhsu a4,ra,sp +800003d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003d4: 00200293 li t0,2 +800003d8: fe5214e3 bne tp,t0,800003c0 +800003dc: 00009eb7 lui t4,0x9 +800003e0: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +800003e4: 01100193 li gp,17 +800003e8: 1fd71463 bne a4,t4,800005d0 + +800003ec : +800003ec: 00000213 li tp,0 +800003f0: 00e000b7 lui ra,0xe00 +800003f4: 00000013 nop +800003f8: 00b00137 lui sp,0xb00 +800003fc: 00000013 nop +80000400: 0220a733 mulhsu a4,ra,sp +80000404: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000408: 00200293 li t0,2 +8000040c: fe5212e3 bne tp,t0,800003f0 +80000410: 0000aeb7 lui t4,0xa +80000414: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000418: 01200193 li gp,18 +8000041c: 1bd71a63 bne a4,t4,800005d0 + +80000420 : +80000420: 00000213 li tp,0 +80000424: 00f000b7 lui ra,0xf00 +80000428: 00000013 nop +8000042c: 00000013 nop +80000430: 00b00137 lui sp,0xb00 +80000434: 0220a733 mulhsu a4,ra,sp +80000438: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000043c: 00200293 li t0,2 +80000440: fe5212e3 bne tp,t0,80000424 +80000444: 0000aeb7 lui t4,0xa +80000448: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +8000044c: 01300193 li gp,19 +80000450: 19d71063 bne a4,t4,800005d0 + +80000454 : +80000454: 00000213 li tp,0 +80000458: 00b00137 lui sp,0xb00 +8000045c: 00d000b7 lui ra,0xd00 +80000460: 0220a733 mulhsu a4,ra,sp +80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000468: 00200293 li t0,2 +8000046c: fe5216e3 bne tp,t0,80000458 +80000470: 00009eb7 lui t4,0x9 +80000474: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000478: 01400193 li gp,20 +8000047c: 15d71a63 bne a4,t4,800005d0 + +80000480 : +80000480: 00000213 li tp,0 +80000484: 00b00137 lui sp,0xb00 +80000488: 00e000b7 lui ra,0xe00 +8000048c: 00000013 nop +80000490: 0220a733 mulhsu a4,ra,sp +80000494: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000498: 00200293 li t0,2 +8000049c: fe5214e3 bne tp,t0,80000484 +800004a0: 0000aeb7 lui t4,0xa +800004a4: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800004a8: 01500193 li gp,21 +800004ac: 13d71263 bne a4,t4,800005d0 + +800004b0 : +800004b0: 00000213 li tp,0 +800004b4: 00b00137 lui sp,0xb00 +800004b8: 00f000b7 lui ra,0xf00 +800004bc: 00000013 nop +800004c0: 00000013 nop +800004c4: 0220a733 mulhsu a4,ra,sp +800004c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004cc: 00200293 li t0,2 +800004d0: fe5212e3 bne tp,t0,800004b4 +800004d4: 0000aeb7 lui t4,0xa +800004d8: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +800004dc: 01600193 li gp,22 +800004e0: 0fd71863 bne a4,t4,800005d0 + +800004e4 : +800004e4: 00000213 li tp,0 +800004e8: 00b00137 lui sp,0xb00 +800004ec: 00000013 nop +800004f0: 00d000b7 lui ra,0xd00 +800004f4: 0220a733 mulhsu a4,ra,sp +800004f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004fc: 00200293 li t0,2 +80000500: fe5214e3 bne tp,t0,800004e8 +80000504: 00009eb7 lui t4,0x9 +80000508: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +8000050c: 01700193 li gp,23 +80000510: 0dd71063 bne a4,t4,800005d0 + +80000514 : +80000514: 00000213 li tp,0 +80000518: 00b00137 lui sp,0xb00 +8000051c: 00000013 nop +80000520: 00e000b7 lui ra,0xe00 +80000524: 00000013 nop +80000528: 0220a733 mulhsu a4,ra,sp +8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000530: 00200293 li t0,2 +80000534: fe5212e3 bne tp,t0,80000518 +80000538: 0000aeb7 lui t4,0xa +8000053c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000540: 01800193 li gp,24 +80000544: 09d71663 bne a4,t4,800005d0 + +80000548 : +80000548: 00000213 li tp,0 +8000054c: 00b00137 lui sp,0xb00 +80000550: 00000013 nop +80000554: 00000013 nop +80000558: 00f000b7 lui ra,0xf00 +8000055c: 0220a733 mulhsu a4,ra,sp +80000560: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000564: 00200293 li t0,2 +80000568: fe5212e3 bne tp,t0,8000054c +8000056c: 0000aeb7 lui t4,0xa +80000570: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000574: 01900193 li gp,25 +80000578: 05d71c63 bne a4,t4,800005d0 + +8000057c : +8000057c: 7c0000b7 lui ra,0x7c000 +80000580: 02102133 mulhsu sp,zero,ra +80000584: 00000e93 li t4,0 +80000588: 01a00193 li gp,26 +8000058c: 05d11263 bne sp,t4,800005d0 + +80000590 : +80000590: 800000b7 lui ra,0x80000 +80000594: 0200a133 mulhsu sp,ra,zero +80000598: 00000e93 li t4,0 +8000059c: 01b00193 li gp,27 +800005a0: 03d11863 bne sp,t4,800005d0 + +800005a4 : +800005a4: 020020b3 mulhsu ra,zero,zero +800005a8: 00000e93 li t4,0 +800005ac: 01c00193 li gp,28 +800005b0: 03d09063 bne ra,t4,800005d0 + +800005b4 : +800005b4: 021000b7 lui ra,0x2100 +800005b8: 02200137 lui sp,0x2200 +800005bc: 0220a033 mulhsu zero,ra,sp +800005c0: 00000e93 li t4,0 +800005c4: 01d00193 li gp,29 +800005c8: 01d01463 bne zero,t4,800005d0 +800005cc: 02301063 bne zero,gp,800005ec + +800005d0 : +800005d0: 0ff0000f fence +800005d4: 00018063 beqz gp,800005d4 +800005d8: 00119193 slli gp,gp,0x1 +800005dc: 0011e193 ori gp,gp,1 +800005e0: 05d00893 li a7,93 +800005e4: 00018513 mv a0,gp +800005e8: 00000073 ecall + +800005ec : +800005ec: 0ff0000f fence +800005f0: 00100193 li gp,1 +800005f4: 05d00893 li a7,93 +800005f8: 00000513 li a0,0 +800005fc: 00000073 ecall +80000600: c0001073 unimp diff --git a/simX/riscv_tests/rv32um-p-mulhsu.hex b/simX/riscv_tests/rv32um-p-mulhsu.hex index 131a31a2..33265044 100644 --- a/simX/riscv_tests/rv32um-p-mulhsu.hex +++ b/simX/riscv_tests/rv32um-p-mulhsu.hex @@ -2,100 +2,104 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093000000D8 -:1000C00013010000B3A12002930E0000130E2000C4 -:1000D000639AD14B9300100013011000B3A12002CA -:1000E000930E0000130E3000639ED1499300300040 -:1000F00013017000B3A12002930E0000130E400004 -:100100006392D149930000003781FFFFB3A1200221 -:10011000930E0000130E50006396D147B700008085 -:1001200013010000B3A12002930E0000130E600023 -:10013000639AD145B70000803781FFFFB3A1200249 -:10014000B74E0080130E7000639ED143B7B0AAAAC9 -:100150009380B0AA370103001301D1E7B3A12002B5 -:10016000B70EFFFF938E1E08130EE001639CD14172 -:10017000B70003009380D0E737B1AAAA1301B1AA50 -:10018000B3A12002B70E0200938EEEEF130EF00122 -:10019000639AD13FB70000FF370100FFB3A12002EF -:1001A000B70E01FF130E0002639ED13D9300F0FFD6 -:1001B0001301F0FFB3A12002930EF0FF130E100203 -:1001C0006392D13D9300F0FF13011000B3A1200210 -:1001D000930EF0FF130E20026396D13B93001000A4 -:1001E0001301F0FFB3A12002930E0000130E3002A2 -:1001F000639AD139B700D0003701B000B3A0200214 -:10020000B79E0000938E0EF0130E8000639CD037D3 -:10021000B700E0003701B00033A12002B7AE000004 -:10022000938E0EA0130E9000631ED135B700D00040 -:10023000B3A01002B7BE0000938E0E90130EA00064 -:100240006392D03513020000B700D0003701B00030 -:10025000B3A12002138301001302120093022000B5 -:10026000E31452FEB79E0000938E0EF0130EB00002 -:10027000631AD33113020000B700E0003701B00069 -:10028000B3A1200213000000138301001302120027 -:1002900093022000E31252FEB7AE0000938E0EA030 -:1002A000130EC0006310D32F13020000B700F0003C -:1002B0003701B000B3A120021300000013000000BA -:1002C000138301001302120093022000E31052FE78 -:1002D000B7AE0000938E0E50130ED0006314D32BD4 -:1002E00013020000B700D0003701B000B3A1200214 -:1002F0001302120093022000E31652FEB79E000084 -:10030000938E0EF0130EE000639ED12713020000BF -:10031000B700E0003701B00013000000B3A12002D5 -:100320001302120093022000E31452FEB7AE000045 -:10033000938E0EA0130EF0006396D12513020000D9 -:10034000B700F0003701B0001300000013000000F8 -:10035000B3A120021302120093022000E31252FE06 -:10036000B7AE0000938E0E50130E0001639CD12196 -:1003700013020000B700D000130000003701B000E6 -:10038000B3A120021302120093022000E31452FED4 -:10039000B79E0000938E0EF0130E10016394D11FD0 -:1003A00013020000B700E000130000003701B000A6 -:1003B00013000000B3A120021302120093022000D8 -:1003C000E31252FEB7AE0000938E0EA0130E200172 -:1003D000639AD11B13020000B700F0001300000065 -:1003E000130000003701B000B3A120021302120075 -:1003F00093022000E31252FEB7AE0000938E0E501F -:10040000130E30016390D119130200003701B000C0 -:10041000B700D000B3A12002130212009302200003 -:10042000E31652FEB79E0000938E0EF0130E4001AD -:10043000639AD115130200003701B000B700E00045 -:1004400013000000B3A12002130212009302200047 -:10045000E31452FEB7AE0000938E0EA0130E5001AF -:100460006392D113130200003701B000B700F0000F -:100470001300000013000000B3A1200213021200B9 -:1004800093022000E31252FEB7AE0000938E0E508E -:10049000130E60016398D10F130200003701B00002 -:1004A00013000000B700D000B3A120021302120015 -:1004B00093022000E31452FEB79E0000938E0EF0CC -:1004C000130E70016390D10D130200003701B000CC -:1004D00013000000B700E00013000000B3A12002E9 -:1004E0001302120093022000E31252FEB7AE000086 -:1004F000938E0EA0130E80016396D10913020000A3 -:100500003701B0001300000013000000B700F00036 -:10051000B3A120021302120093022000E31252FE44 -:10052000B7AE0000938E0E50130E9001639CD10560 -:10053000B700007C33211002930E0000130EA001BF -:100540006312D105B700008033A10002930E0000B2 -:10055000130EB0016318D103B3200002930E000004 -:10056000130EC0016390D003B700100237012002C0 -:1005700033A02002930E0000130ED0016314D001AB -:10058000631CC0010F00F00F63000E00131E1E005D -:10059000136E1E00730000000F00F00F130E10000A -:1005A00073000000731000C0000000000000000095 -:1005B000000000000000000000000000000000003B -:0405C0000000000037 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309300000013010000BC +:1001100033A72002930E000093012000631AD74BEF +:10012000930010001301100033A72002930E00006B +:1001300093013000631ED749930030001301700013 +:1001400033A72002930E0000930140006312D749A9 +:10015000930000003781FFFF33A72002930E0000B9 +:10016000930150006316D747B700008013010000C9 +:1001700033A72002930E000093016000631AD74555 +:10018000B70000803781FFFF33A72002B74E008001 +:1001900093017000631ED743B7B0AAAA9380B0AA98 +:1001A000370103001301D1E733A72002B70EFFFF89 +:1001B000938E1E089301E001631CD741B700030032 +:1001C0009380D0E737B1AAAA1301B1AA33A72002BE +:1001D000B70E0200938EEEEF9301F001631AD73F42 +:1001E000B70000FF370100FF33A72002B70E01FF61 +:1001F00093010002631ED73D9300F0FF1301F0FF4F +:1002000033A72002930EF0FF930110026312D73D33 +:100210009300F0FF1301100033A72002930EF0FFAC +:10022000930120026316D73B930010001301F0FFE7 +:1002300033A72002930E000093013002631AD739CE +:10024000B700D0003701B000B3A02002B79E000075 +:10025000938E0EF093018000639CD037B700E000CE +:100260003701B00033A12002B7AE0000938E0EA07C +:1002700093019000631ED135B700D000B3A01002E7 +:10028000B7BE0000938E0E909301A0006392D0350C +:1002900013020000B700D0003701B00033A72002DE +:1002A000130307001302120093022000E31452FE0E +:1002B000B79E0000938E0EF09301B000631AD33105 +:1002C00013020000B700E0003701B00033A720029E +:1002D0001300000013030700130212009302200012 +:1002E000E31252FEB7AE0000938E0EA09301C00041 +:1002F0006310D32F13020000B700F0003701B000E5 +:1003000033A72002130000001300000013030700AE +:100310001302120093022000E31052FEB7AE000059 +:10032000938E0E509301D0006314D32B1302000060 +:10033000B700D0003701B00033A72002130212002B +:1003400093022000E31652FEB79E0000938E0EF03B +:100350009301E000631ED72713020000B700E000FE +:100360003701B0001300000033A72002130212006F +:1003700093022000E31452FEB7AE0000938E0EA04D +:100380009301F0006316D72513020000B700F000B8 +:100390003701B000130000001300000033A7200253 +:1003A0001302120093022000E31252FEB7AE0000C7 +:1003B000938E0E5093010001631CD721130200009D +:1003C000B700D000130000003701B00033A72002AF +:1003D0001302120093022000E31452FEB79E0000A5 +:1003E000938E0EF0930110016314D71F13020000C7 +:1003F000B700E000130000003701B0001300000058 +:1004000033A720021302120093022000E31252FECF +:10041000B7AE0000938E0EA093012001631AD71B84 +:1004200013020000B700F0001300000013000000EA +:100430003701B00033A720021302120093022000FC +:10044000E31252FEB7AE0000938E0E5093013001BE +:100450006310D719130200003701B000B700D000B5 +:1004600033A720021302120093022000E31652FE6B +:10047000B79E0000938E0EF093014001631AD715CA +:10048000130200003701B000B700E00013000000C5 +:1004900033A720021302120093022000E31452FE3D +:1004A000B7AE0000938E0EA0930150016312D713D4 +:1004B000130200003701B000B700F0001300000085 +:1004C0001300000033A72002130212009302200041 +:1004D000E31252FEB7AE0000938E0E5093016001FE +:1004E0006318D70F130200003701B000130000009B +:1004F000B700D00033A7200213021200930220009D +:10050000E31452FEB79E0000938E0EF0930170012B +:100510006310D70D130200003701B0001300000074 +:10052000B700E0001300000033A7200213021200FE +:1005300093022000E31252FEB7AE0000938E0EA08D +:10054000930180016316D709130200003701B00040 +:100550001300000013000000B700F00033A72002D2 +:100560001302120093022000E31252FEB7AE000005 +:10057000938E0E5093019001631CD705B700007C49 +:1005800033211002930E00009301A0016312D105E4 +:10059000B700008033A10002930E00009301B00168 +:1005A0006318D103B3200002930E00009301C00131 +:1005B0006390D003B70010023701200233A020025D +:1005C000930E00009301D0016314D0016310300238 +:1005D0000F00F00F638001009391110093E111006F +:1005E0009308D00513850100730000000F00F00F81 +:1005F000930110009308D00513050000730000005C +:04060000731000C0B3 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32um-p-mulhu.dump b/simX/riscv_tests/rv32um-p-mulhu.dump new file mode 100644 index 00000000..c59d8d57 --- /dev/null +++ b/simX/riscv_tests/rv32um-p-mulhu.dump @@ -0,0 +1,472 @@ + +rv32um-p-mulhu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 00000093 li ra,0 +8000010c: 00000113 li sp,0 +80000110: 0220b733 mulhu a4,ra,sp +80000114: 00000e93 li t4,0 +80000118: 00200193 li gp,2 +8000011c: 4bd71a63 bne a4,t4,800005d0 + +80000120 : +80000120: 00100093 li ra,1 +80000124: 00100113 li sp,1 +80000128: 0220b733 mulhu a4,ra,sp +8000012c: 00000e93 li t4,0 +80000130: 00300193 li gp,3 +80000134: 49d71e63 bne a4,t4,800005d0 + +80000138 : +80000138: 00300093 li ra,3 +8000013c: 00700113 li sp,7 +80000140: 0220b733 mulhu a4,ra,sp +80000144: 00000e93 li t4,0 +80000148: 00400193 li gp,4 +8000014c: 49d71263 bne a4,t4,800005d0 + +80000150 : +80000150: 00000093 li ra,0 +80000154: ffff8137 lui sp,0xffff8 +80000158: 0220b733 mulhu a4,ra,sp +8000015c: 00000e93 li t4,0 +80000160: 00500193 li gp,5 +80000164: 47d71663 bne a4,t4,800005d0 + +80000168 : +80000168: 800000b7 lui ra,0x80000 +8000016c: 00000113 li sp,0 +80000170: 0220b733 mulhu a4,ra,sp +80000174: 00000e93 li t4,0 +80000178: 00600193 li gp,6 +8000017c: 45d71a63 bne a4,t4,800005d0 + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: ffff8137 lui sp,0xffff8 +80000188: 0220b733 mulhu a4,ra,sp +8000018c: 7fffceb7 lui t4,0x7fffc +80000190: 00700193 li gp,7 +80000194: 43d71e63 bne a4,t4,800005d0 + +80000198 : +80000198: aaaab0b7 lui ra,0xaaaab +8000019c: aab08093 addi ra,ra,-1365 # aaaaaaab <_end+0x2aaa8aab> +800001a0: 00030137 lui sp,0x30 +800001a4: e7d10113 addi sp,sp,-387 # 2fe7d <_start-0x7ffd0183> +800001a8: 0220b733 mulhu a4,ra,sp +800001ac: 00020eb7 lui t4,0x20 +800001b0: efee8e93 addi t4,t4,-258 # 1fefe <_start-0x7ffe0102> +800001b4: 01e00193 li gp,30 +800001b8: 41d71c63 bne a4,t4,800005d0 + +800001bc : +800001bc: 000300b7 lui ra,0x30 +800001c0: e7d08093 addi ra,ra,-387 # 2fe7d <_start-0x7ffd0183> +800001c4: aaaab137 lui sp,0xaaaab +800001c8: aab10113 addi sp,sp,-1365 # aaaaaaab <_end+0x2aaa8aab> +800001cc: 0220b733 mulhu a4,ra,sp +800001d0: 00020eb7 lui t4,0x20 +800001d4: efee8e93 addi t4,t4,-258 # 1fefe <_start-0x7ffe0102> +800001d8: 01f00193 li gp,31 +800001dc: 3fd71a63 bne a4,t4,800005d0 + +800001e0 : +800001e0: ff0000b7 lui ra,0xff000 +800001e4: ff000137 lui sp,0xff000 +800001e8: 0220b733 mulhu a4,ra,sp +800001ec: fe010eb7 lui t4,0xfe010 +800001f0: 02000193 li gp,32 +800001f4: 3dd71e63 bne a4,t4,800005d0 + +800001f8 : +800001f8: fff00093 li ra,-1 +800001fc: fff00113 li sp,-1 +80000200: 0220b733 mulhu a4,ra,sp +80000204: ffe00e93 li t4,-2 +80000208: 02100193 li gp,33 +8000020c: 3dd71263 bne a4,t4,800005d0 + +80000210 : +80000210: fff00093 li ra,-1 +80000214: 00100113 li sp,1 +80000218: 0220b733 mulhu a4,ra,sp +8000021c: 00000e93 li t4,0 +80000220: 02200193 li gp,34 +80000224: 3bd71663 bne a4,t4,800005d0 + +80000228 : +80000228: 00100093 li ra,1 +8000022c: fff00113 li sp,-1 +80000230: 0220b733 mulhu a4,ra,sp +80000234: 00000e93 li t4,0 +80000238: 02300193 li gp,35 +8000023c: 39d71a63 bne a4,t4,800005d0 + +80000240 : +80000240: 00d000b7 lui ra,0xd00 +80000244: 00b00137 lui sp,0xb00 +80000248: 0220b0b3 mulhu ra,ra,sp +8000024c: 00009eb7 lui t4,0x9 +80000250: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000254: 00800193 li gp,8 +80000258: 37d09c63 bne ra,t4,800005d0 + +8000025c : +8000025c: 00e000b7 lui ra,0xe00 +80000260: 00b00137 lui sp,0xb00 +80000264: 0220b133 mulhu sp,ra,sp +80000268: 0000aeb7 lui t4,0xa +8000026c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000270: 00900193 li gp,9 +80000274: 35d11e63 bne sp,t4,800005d0 + +80000278 : +80000278: 00d000b7 lui ra,0xd00 +8000027c: 0210b0b3 mulhu ra,ra,ra +80000280: 0000beb7 lui t4,0xb +80000284: 900e8e93 addi t4,t4,-1792 # a900 <_start-0x7fff5700> +80000288: 00a00193 li gp,10 +8000028c: 35d09263 bne ra,t4,800005d0 + +80000290 : +80000290: 00000213 li tp,0 +80000294: 00d000b7 lui ra,0xd00 +80000298: 00b00137 lui sp,0xb00 +8000029c: 0220b733 mulhu a4,ra,sp +800002a0: 00070313 mv t1,a4 +800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a8: 00200293 li t0,2 +800002ac: fe5214e3 bne tp,t0,80000294 +800002b0: 00009eb7 lui t4,0x9 +800002b4: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +800002b8: 00b00193 li gp,11 +800002bc: 31d31a63 bne t1,t4,800005d0 + +800002c0 : +800002c0: 00000213 li tp,0 +800002c4: 00e000b7 lui ra,0xe00 +800002c8: 00b00137 lui sp,0xb00 +800002cc: 0220b733 mulhu a4,ra,sp +800002d0: 00000013 nop +800002d4: 00070313 mv t1,a4 +800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002dc: 00200293 li t0,2 +800002e0: fe5212e3 bne tp,t0,800002c4 +800002e4: 0000aeb7 lui t4,0xa +800002e8: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800002ec: 00c00193 li gp,12 +800002f0: 2fd31063 bne t1,t4,800005d0 + +800002f4 : +800002f4: 00000213 li tp,0 +800002f8: 00f000b7 lui ra,0xf00 +800002fc: 00b00137 lui sp,0xb00 +80000300: 0220b733 mulhu a4,ra,sp +80000304: 00000013 nop +80000308: 00000013 nop +8000030c: 00070313 mv t1,a4 +80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000314: 00200293 li t0,2 +80000318: fe5210e3 bne tp,t0,800002f8 +8000031c: 0000aeb7 lui t4,0xa +80000320: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000324: 00d00193 li gp,13 +80000328: 2bd31463 bne t1,t4,800005d0 + +8000032c : +8000032c: 00000213 li tp,0 +80000330: 00d000b7 lui ra,0xd00 +80000334: 00b00137 lui sp,0xb00 +80000338: 0220b733 mulhu a4,ra,sp +8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000340: 00200293 li t0,2 +80000344: fe5216e3 bne tp,t0,80000330 +80000348: 00009eb7 lui t4,0x9 +8000034c: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000350: 00e00193 li gp,14 +80000354: 27d71e63 bne a4,t4,800005d0 + +80000358 : +80000358: 00000213 li tp,0 +8000035c: 00e000b7 lui ra,0xe00 +80000360: 00b00137 lui sp,0xb00 +80000364: 00000013 nop +80000368: 0220b733 mulhu a4,ra,sp +8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000370: 00200293 li t0,2 +80000374: fe5214e3 bne tp,t0,8000035c +80000378: 0000aeb7 lui t4,0xa +8000037c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000380: 00f00193 li gp,15 +80000384: 25d71663 bne a4,t4,800005d0 + +80000388 : +80000388: 00000213 li tp,0 +8000038c: 00f000b7 lui ra,0xf00 +80000390: 00b00137 lui sp,0xb00 +80000394: 00000013 nop +80000398: 00000013 nop +8000039c: 0220b733 mulhu a4,ra,sp +800003a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a4: 00200293 li t0,2 +800003a8: fe5212e3 bne tp,t0,8000038c +800003ac: 0000aeb7 lui t4,0xa +800003b0: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +800003b4: 01000193 li gp,16 +800003b8: 21d71c63 bne a4,t4,800005d0 + +800003bc : +800003bc: 00000213 li tp,0 +800003c0: 00d000b7 lui ra,0xd00 +800003c4: 00000013 nop +800003c8: 00b00137 lui sp,0xb00 +800003cc: 0220b733 mulhu a4,ra,sp +800003d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003d4: 00200293 li t0,2 +800003d8: fe5214e3 bne tp,t0,800003c0 +800003dc: 00009eb7 lui t4,0x9 +800003e0: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +800003e4: 01100193 li gp,17 +800003e8: 1fd71463 bne a4,t4,800005d0 + +800003ec : +800003ec: 00000213 li tp,0 +800003f0: 00e000b7 lui ra,0xe00 +800003f4: 00000013 nop +800003f8: 00b00137 lui sp,0xb00 +800003fc: 00000013 nop +80000400: 0220b733 mulhu a4,ra,sp +80000404: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000408: 00200293 li t0,2 +8000040c: fe5212e3 bne tp,t0,800003f0 +80000410: 0000aeb7 lui t4,0xa +80000414: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000418: 01200193 li gp,18 +8000041c: 1bd71a63 bne a4,t4,800005d0 + +80000420 : +80000420: 00000213 li tp,0 +80000424: 00f000b7 lui ra,0xf00 +80000428: 00000013 nop +8000042c: 00000013 nop +80000430: 00b00137 lui sp,0xb00 +80000434: 0220b733 mulhu a4,ra,sp +80000438: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000043c: 00200293 li t0,2 +80000440: fe5212e3 bne tp,t0,80000424 +80000444: 0000aeb7 lui t4,0xa +80000448: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +8000044c: 01300193 li gp,19 +80000450: 19d71063 bne a4,t4,800005d0 + +80000454 : +80000454: 00000213 li tp,0 +80000458: 00b00137 lui sp,0xb00 +8000045c: 00d000b7 lui ra,0xd00 +80000460: 0220b733 mulhu a4,ra,sp +80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000468: 00200293 li t0,2 +8000046c: fe5216e3 bne tp,t0,80000458 +80000470: 00009eb7 lui t4,0x9 +80000474: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000478: 01400193 li gp,20 +8000047c: 15d71a63 bne a4,t4,800005d0 + +80000480 : +80000480: 00000213 li tp,0 +80000484: 00b00137 lui sp,0xb00 +80000488: 00e000b7 lui ra,0xe00 +8000048c: 00000013 nop +80000490: 0220b733 mulhu a4,ra,sp +80000494: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000498: 00200293 li t0,2 +8000049c: fe5214e3 bne tp,t0,80000484 +800004a0: 0000aeb7 lui t4,0xa +800004a4: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800004a8: 01500193 li gp,21 +800004ac: 13d71263 bne a4,t4,800005d0 + +800004b0 : +800004b0: 00000213 li tp,0 +800004b4: 00b00137 lui sp,0xb00 +800004b8: 00f000b7 lui ra,0xf00 +800004bc: 00000013 nop +800004c0: 00000013 nop +800004c4: 0220b733 mulhu a4,ra,sp +800004c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004cc: 00200293 li t0,2 +800004d0: fe5212e3 bne tp,t0,800004b4 +800004d4: 0000aeb7 lui t4,0xa +800004d8: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +800004dc: 01600193 li gp,22 +800004e0: 0fd71863 bne a4,t4,800005d0 + +800004e4 : +800004e4: 00000213 li tp,0 +800004e8: 00b00137 lui sp,0xb00 +800004ec: 00000013 nop +800004f0: 00d000b7 lui ra,0xd00 +800004f4: 0220b733 mulhu a4,ra,sp +800004f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004fc: 00200293 li t0,2 +80000500: fe5214e3 bne tp,t0,800004e8 +80000504: 00009eb7 lui t4,0x9 +80000508: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +8000050c: 01700193 li gp,23 +80000510: 0dd71063 bne a4,t4,800005d0 + +80000514 : +80000514: 00000213 li tp,0 +80000518: 00b00137 lui sp,0xb00 +8000051c: 00000013 nop +80000520: 00e000b7 lui ra,0xe00 +80000524: 00000013 nop +80000528: 0220b733 mulhu a4,ra,sp +8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000530: 00200293 li t0,2 +80000534: fe5212e3 bne tp,t0,80000518 +80000538: 0000aeb7 lui t4,0xa +8000053c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000540: 01800193 li gp,24 +80000544: 09d71663 bne a4,t4,800005d0 + +80000548 : +80000548: 00000213 li tp,0 +8000054c: 00b00137 lui sp,0xb00 +80000550: 00000013 nop +80000554: 00000013 nop +80000558: 00f000b7 lui ra,0xf00 +8000055c: 0220b733 mulhu a4,ra,sp +80000560: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000564: 00200293 li t0,2 +80000568: fe5212e3 bne tp,t0,8000054c +8000056c: 0000aeb7 lui t4,0xa +80000570: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000574: 01900193 li gp,25 +80000578: 05d71c63 bne a4,t4,800005d0 + +8000057c : +8000057c: 7c0000b7 lui ra,0x7c000 +80000580: 02103133 mulhu sp,zero,ra +80000584: 00000e93 li t4,0 +80000588: 01a00193 li gp,26 +8000058c: 05d11263 bne sp,t4,800005d0 + +80000590 : +80000590: 800000b7 lui ra,0x80000 +80000594: 0200b133 mulhu sp,ra,zero +80000598: 00000e93 li t4,0 +8000059c: 01b00193 li gp,27 +800005a0: 03d11863 bne sp,t4,800005d0 + +800005a4 : +800005a4: 020030b3 mulhu ra,zero,zero +800005a8: 00000e93 li t4,0 +800005ac: 01c00193 li gp,28 +800005b0: 03d09063 bne ra,t4,800005d0 + +800005b4 : +800005b4: 021000b7 lui ra,0x2100 +800005b8: 02200137 lui sp,0x2200 +800005bc: 0220b033 mulhu zero,ra,sp +800005c0: 00000e93 li t4,0 +800005c4: 01d00193 li gp,29 +800005c8: 01d01463 bne zero,t4,800005d0 +800005cc: 02301063 bne zero,gp,800005ec + +800005d0 : +800005d0: 0ff0000f fence +800005d4: 00018063 beqz gp,800005d4 +800005d8: 00119193 slli gp,gp,0x1 +800005dc: 0011e193 ori gp,gp,1 +800005e0: 05d00893 li a7,93 +800005e4: 00018513 mv a0,gp +800005e8: 00000073 ecall + +800005ec : +800005ec: 0ff0000f fence +800005f0: 00100193 li gp,1 +800005f4: 05d00893 li a7,93 +800005f8: 00000513 li a0,0 +800005fc: 00000073 ecall +80000600: c0001073 unimp diff --git a/simX/riscv_tests/rv32um-p-mulhu.hex b/simX/riscv_tests/rv32um-p-mulhu.hex index 55359540..b8f1eb30 100644 --- a/simX/riscv_tests/rv32um-p-mulhu.hex +++ b/simX/riscv_tests/rv32um-p-mulhu.hex @@ -2,100 +2,104 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F17300203093000000D8 -:1000C00013010000B3B12002930E0000130E2000B4 -:1000D000639AD14B9300100013011000B3B12002BA -:1000E000930E0000130E3000639ED1499300300040 -:1000F00013017000B3B12002930E0000130E4000F4 -:100100006392D149930000003781FFFFB3B1200211 -:10011000930E0000130E50006396D147B700008085 -:1001200013010000B3B12002930E0000130E600013 -:10013000639AD145B70000803781FFFFB3B1200239 -:10014000B7CEFF7F130E7000639ED143B7B0AAAA4B -:100150009380B0AA370103001301D1E7B3B12002A5 -:10016000B70E0200938EEEEF130EE001639CD141B7 -:10017000B70003009380D0E737B1AAAA1301B1AA50 -:10018000B3B12002B70E0200938EEEEF130EF00112 -:10019000639AD13FB70000FF370100FFB3B12002DF -:1001A000B70E01FE130E0002639ED13D9300F0FFD7 -:1001B0001301F0FFB3B12002930EE0FF130E100203 -:1001C0006392D13D9300F0FF13011000B3B1200200 -:1001D000930E0000130E20026396D13B9300100093 -:1001E0001301F0FFB3B12002930E0000130E300292 -:1001F000639AD139B700D0003701B000B3B0200204 -:10020000B79E0000938E0EF0130E8000639CD037D3 -:10021000B700E0003701B00033B12002B7AE0000F4 -:10022000938E0EA0130E9000631ED135B700D00040 -:10023000B3B01002B7BE0000938E0E90130EA00054 -:100240006392D03513020000B700D0003701B00030 -:10025000B3B12002138301001302120093022000A5 -:10026000E31452FEB79E0000938E0EF0130EB00002 -:10027000631AD33113020000B700E0003701B00069 -:10028000B3B1200213000000138301001302120017 -:1002900093022000E31252FEB7AE0000938E0EA030 -:1002A000130EC0006310D32F13020000B700F0003C -:1002B0003701B000B3B120021300000013000000AA -:1002C000138301001302120093022000E31052FE78 -:1002D000B7AE0000938E0E50130ED0006314D32BD4 -:1002E00013020000B700D0003701B000B3B1200204 -:1002F0001302120093022000E31652FEB79E000084 -:10030000938E0EF0130EE000639ED12713020000BF -:10031000B700E0003701B00013000000B3B12002C5 -:100320001302120093022000E31452FEB7AE000045 -:10033000938E0EA0130EF0006396D12513020000D9 -:10034000B700F0003701B0001300000013000000F8 -:10035000B3B120021302120093022000E31252FEF6 -:10036000B7AE0000938E0E50130E0001639CD12196 -:1003700013020000B700D000130000003701B000E6 -:10038000B3B120021302120093022000E31452FEC4 -:10039000B79E0000938E0EF0130E10016394D11FD0 -:1003A00013020000B700E000130000003701B000A6 -:1003B00013000000B3B120021302120093022000C8 -:1003C000E31252FEB7AE0000938E0EA0130E200172 -:1003D000639AD11B13020000B700F0001300000065 -:1003E000130000003701B000B3B120021302120065 -:1003F00093022000E31252FEB7AE0000938E0E501F -:10040000130E30016390D119130200003701B000C0 -:10041000B700D000B3B120021302120093022000F3 -:10042000E31652FEB79E0000938E0EF0130E4001AD -:10043000639AD115130200003701B000B700E00045 -:1004400013000000B3B12002130212009302200037 -:10045000E31452FEB7AE0000938E0EA0130E5001AF -:100460006392D113130200003701B000B700F0000F -:100470001300000013000000B3B1200213021200A9 -:1004800093022000E31252FEB7AE0000938E0E508E -:10049000130E60016398D10F130200003701B00002 -:1004A00013000000B700D000B3B120021302120005 -:1004B00093022000E31452FEB79E0000938E0EF0CC -:1004C000130E70016390D10D130200003701B000CC -:1004D00013000000B700E00013000000B3B12002D9 -:1004E0001302120093022000E31252FEB7AE000086 -:1004F000938E0EA0130E80016396D10913020000A3 -:100500003701B0001300000013000000B700F00036 -:10051000B3B120021302120093022000E31252FE34 -:10052000B7AE0000938E0E50130E9001639CD10560 -:10053000B700007C33311002930E0000130EA001AF -:100540006312D105B700008033B10002930E0000A2 -:10055000130EB0016318D103B3300002930E0000F4 -:10056000130EC0016390D003B700100237012002C0 -:1005700033B02002930E0000130ED0016314D0019B -:10058000631CC0010F00F00F63000E00131E1E005D -:10059000136E1E00730000000F00F00F130E10000A -:1005A00073000000731000C0000000000000000095 -:1005B000000000000000000000000000000000003B -:0405C0000000000037 +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F1730020309300000013010000BC +:1001100033B72002930E000093012000631AD74BDF +:10012000930010001301100033B72002930E00005B +:1001300093013000631ED749930030001301700013 +:1001400033B72002930E0000930140006312D74999 +:10015000930000003781FFFF33B72002930E0000A9 +:10016000930150006316D747B700008013010000C9 +:1001700033B72002930E000093016000631AD74545 +:10018000B70000803781FFFF33B72002B7CEFF7F73 +:1001900093017000631ED743B7B0AAAA9380B0AA98 +:1001A000370103001301D1E733B72002B70E020075 +:1001B000938EEEEF9301E001631CD741B70003007B +:1001C0009380D0E737B1AAAA1301B1AA33B72002AE +:1001D000B70E0200938EEEEF9301F001631AD73F42 +:1001E000B70000FF370100FF33B72002B70E01FE52 +:1001F00093010002631ED73D9300F0FF1301F0FF4F +:1002000033B72002930EE0FF930110026312D73D33 +:100210009300F0FF1301100033B72002930E00008B +:10022000930120026316D73B930010001301F0FFE7 +:1002300033B72002930E000093013002631AD739BE +:10024000B700D0003701B000B3B02002B79E000065 +:10025000938E0EF093018000639CD037B700E000CE +:100260003701B00033B12002B7AE0000938E0EA06C +:1002700093019000631ED135B700D000B3B01002D7 +:10028000B7BE0000938E0E909301A0006392D0350C +:1002900013020000B700D0003701B00033B72002CE +:1002A000130307001302120093022000E31452FE0E +:1002B000B79E0000938E0EF09301B000631AD33105 +:1002C00013020000B700E0003701B00033B720028E +:1002D0001300000013030700130212009302200012 +:1002E000E31252FEB7AE0000938E0EA09301C00041 +:1002F0006310D32F13020000B700F0003701B000E5 +:1003000033B720021300000013000000130307009E +:100310001302120093022000E31052FEB7AE000059 +:10032000938E0E509301D0006314D32B1302000060 +:10033000B700D0003701B00033B72002130212001B +:1003400093022000E31652FEB79E0000938E0EF03B +:100350009301E000631ED72713020000B700E000FE +:100360003701B0001300000033B72002130212005F +:1003700093022000E31452FEB7AE0000938E0EA04D +:100380009301F0006316D72513020000B700F000B8 +:100390003701B000130000001300000033B7200243 +:1003A0001302120093022000E31252FEB7AE0000C7 +:1003B000938E0E5093010001631CD721130200009D +:1003C000B700D000130000003701B00033B720029F +:1003D0001302120093022000E31452FEB79E0000A5 +:1003E000938E0EF0930110016314D71F13020000C7 +:1003F000B700E000130000003701B0001300000058 +:1004000033B720021302120093022000E31252FEBF +:10041000B7AE0000938E0EA093012001631AD71B84 +:1004200013020000B700F0001300000013000000EA +:100430003701B00033B720021302120093022000EC +:10044000E31252FEB7AE0000938E0E5093013001BE +:100450006310D719130200003701B000B700D000B5 +:1004600033B720021302120093022000E31652FE5B +:10047000B79E0000938E0EF093014001631AD715CA +:10048000130200003701B000B700E00013000000C5 +:1004900033B720021302120093022000E31452FE2D +:1004A000B7AE0000938E0EA0930150016312D713D4 +:1004B000130200003701B000B700F0001300000085 +:1004C0001300000033B72002130212009302200031 +:1004D000E31252FEB7AE0000938E0E5093016001FE +:1004E0006318D70F130200003701B000130000009B +:1004F000B700D00033B7200213021200930220008D +:10050000E31452FEB79E0000938E0EF0930170012B +:100510006310D70D130200003701B0001300000074 +:10052000B700E0001300000033B7200213021200EE +:1005300093022000E31252FEB7AE0000938E0EA08D +:10054000930180016316D709130200003701B00040 +:100550001300000013000000B700F00033B72002C2 +:100560001302120093022000E31252FEB7AE000005 +:10057000938E0E5093019001631CD705B700007C49 +:1005800033311002930E00009301A0016312D105D4 +:10059000B700008033B10002930E00009301B00158 +:1005A0006318D103B3300002930E00009301C00121 +:1005B0006390D003B70010023701200233B020024D +:1005C000930E00009301D0016314D0016310300238 +:1005D0000F00F00F638001009391110093E111006F +:1005E0009308D00513850100730000000F00F00F81 +:1005F000930110009308D00513050000730000005C +:04060000731000C0B3 :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32um-p-rem.dump b/simX/riscv_tests/rv32um-p-rem.dump new file mode 100644 index 00000000..74b90865 --- /dev/null +++ b/simX/riscv_tests/rv32um-p-rem.dump @@ -0,0 +1,193 @@ + +rv32um-p-rem: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 01400093 li ra,20 +8000010c: 00600113 li sp,6 +80000110: 0220e733 rem a4,ra,sp +80000114: 00200e93 li t4,2 +80000118: 00200193 li gp,2 +8000011c: 0dd71463 bne a4,t4,800001e4 + +80000120 : +80000120: fec00093 li ra,-20 +80000124: 00600113 li sp,6 +80000128: 0220e733 rem a4,ra,sp +8000012c: ffe00e93 li t4,-2 +80000130: 00300193 li gp,3 +80000134: 0bd71863 bne a4,t4,800001e4 + +80000138 : +80000138: 01400093 li ra,20 +8000013c: ffa00113 li sp,-6 +80000140: 0220e733 rem a4,ra,sp +80000144: 00200e93 li t4,2 +80000148: 00400193 li gp,4 +8000014c: 09d71c63 bne a4,t4,800001e4 + +80000150 : +80000150: fec00093 li ra,-20 +80000154: ffa00113 li sp,-6 +80000158: 0220e733 rem a4,ra,sp +8000015c: ffe00e93 li t4,-2 +80000160: 00500193 li gp,5 +80000164: 09d71063 bne a4,t4,800001e4 + +80000168 : +80000168: 800000b7 lui ra,0x80000 +8000016c: 00100113 li sp,1 +80000170: 0220e733 rem a4,ra,sp +80000174: 00000e93 li t4,0 +80000178: 00600193 li gp,6 +8000017c: 07d71463 bne a4,t4,800001e4 + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: fff00113 li sp,-1 +80000188: 0220e733 rem a4,ra,sp +8000018c: 00000e93 li t4,0 +80000190: 00700193 li gp,7 +80000194: 05d71863 bne a4,t4,800001e4 + +80000198 : +80000198: 800000b7 lui ra,0x80000 +8000019c: 00000113 li sp,0 +800001a0: 0220e733 rem a4,ra,sp +800001a4: 80000eb7 lui t4,0x80000 +800001a8: 00800193 li gp,8 +800001ac: 03d71c63 bne a4,t4,800001e4 + +800001b0 : +800001b0: 00100093 li ra,1 +800001b4: 00000113 li sp,0 +800001b8: 0220e733 rem a4,ra,sp +800001bc: 00100e93 li t4,1 +800001c0: 00900193 li gp,9 +800001c4: 03d71063 bne a4,t4,800001e4 + +800001c8 : +800001c8: 00000093 li ra,0 +800001cc: 00000113 li sp,0 +800001d0: 0220e733 rem a4,ra,sp +800001d4: 00000e93 li t4,0 +800001d8: 00a00193 li gp,10 +800001dc: 01d71463 bne a4,t4,800001e4 +800001e0: 02301063 bne zero,gp,80000200 + +800001e4 : +800001e4: 0ff0000f fence +800001e8: 00018063 beqz gp,800001e8 +800001ec: 00119193 slli gp,gp,0x1 +800001f0: 0011e193 ori gp,gp,1 +800001f4: 05d00893 li a7,93 +800001f8: 00018513 mv a0,gp +800001fc: 00000073 ecall + +80000200 : +80000200: 0ff0000f fence +80000204: 00100193 li gp,1 +80000208: 05d00893 li a7,93 +8000020c: 00000513 li a0,0 +80000210: 00000073 ecall +80000214: c0001073 unimp +80000218: 0000 unimp +8000021a: 0000 unimp +8000021c: 0000 unimp +8000021e: 0000 unimp +80000220: 0000 unimp +80000222: 0000 unimp +80000224: 0000 unimp +80000226: 0000 unimp +80000228: 0000 unimp +8000022a: 0000 unimp +8000022c: 0000 unimp +8000022e: 0000 unimp +80000230: 0000 unimp +80000232: 0000 unimp +80000234: 0000 unimp +80000236: 0000 unimp +80000238: 0000 unimp +8000023a: 0000 unimp +8000023c: 0000 unimp +8000023e: 0000 unimp +80000240: 0000 unimp +80000242: 0000 unimp diff --git a/simX/riscv_tests/rv32um-p-rem.hex b/simX/riscv_tests/rv32um-p-rem.hex index f65f890b..5a2e393f 100644 --- a/simX/riscv_tests/rv32um-p-rem.hex +++ b/simX/riscv_tests/rv32um-p-rem.hex @@ -2,36 +2,44 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F1730020309300400197 -:1000C00013016000B3E12002930E2000130E200004 -:1000D0006394D10D9300C0FE13016000B3E12002D0 -:1000E000930EE0FF130E30006398D10B9300400194 -:1000F0001301A0FFB3E12002930E2000130E400075 -:10010000639CD1099300C0FE1301A0FFB3E120025C -:10011000930EE0FF130E50006390D109930000008E -:1001200013011000B3E12002930E0000130E6000D3 -:100130006394D107930000001301F0FFB3E12002A4 -:10014000930E0000130E70006398D1059300000019 -:1001500013010000B3E12002930E0000130E800093 -:10016000639CD1039300100013010000B3E120024F -:10017000930E1000130E90006390D10393000000C3 -:1001800013010000B3E12002930E0000130EA00043 -:100190006394D101631CC0010F00F00F63000E00D7 -:1001A000131E1E00136E1E00730000000F00F00FE0 -:1001B000130E100073000000731000C00000000058 -:0401C000000000003B +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093004001130160001B +:1001100033E72002930E2000930120006314D70DD3 +:100120009300C0FE1301600033E72002930EE0FF4E +:10013000930130006318D70B930040011301A0FF17 +:1001400033E72002930E200093014000631CD7097F +:100150009300C0FE1301A0FF33E72002930EE0FFDF +:10016000930150006310D709B700008013011000FD +:1001700033E72002930E0000930160006314D70759 +:10018000B70000801301F0FF33E72002930E000058 +:10019000930170006318D705B700008013010000B9 +:1001A00033E72002B70E008093018000631CD70361 +:1001B000930010001301000033E72002930E10009B +:1001C000930190006310D703930000001301000017 +:1001D00033E72002930E00009301A0006314D701BF +:1001E000631030020F00F00F638001009391110043 +:1001F00093E111009308D0051385010073000000FE +:100200000F00F00F930110009308D00513050000B4 +:1002100073000000731000C0000000000000000028 +:1002200000000000000000000000000000000000CE +:1002300000000000000000000000000000000000BE +:0402400000000000BA :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/riscv_tests/rv32um-p-remu.dump b/simX/riscv_tests/rv32um-p-remu.dump new file mode 100644 index 00000000..404c771e --- /dev/null +++ b/simX/riscv_tests/rv32um-p-remu.dump @@ -0,0 +1,193 @@ + +rv32um-p-remu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c +80000038: 0040006f j 8000003c + +8000003c : +8000003c: 5391e193 ori gp,gp,1337 + +80000040 : +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 +80000048: ff9ff06f j 80000040 + +8000004c : +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 02028293 addi t0,t0,32 # 80000084 +8000006c: 30529073 csrw mtvec,t0 +80000070: 800002b7 lui t0,0x80000 +80000074: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +80000078: 3b029073 csrw pmpaddr0,t0 +8000007c: 01f00293 li t0,31 +80000080: 3a029073 csrw pmpcfg0,t0 +80000084: 00000297 auipc t0,0x0 +80000088: 01828293 addi t0,t0,24 # 8000009c +8000008c: 30529073 csrw mtvec,t0 +80000090: 30205073 csrwi medeleg,0 +80000094: 30305073 csrwi mideleg,0 +80000098: 30405073 csrwi mie,0 +8000009c: 00000193 li gp,0 +800000a0: 00000297 auipc t0,0x0 +800000a4: f6428293 addi t0,t0,-156 # 80000004 +800000a8: 30529073 csrw mtvec,t0 +800000ac: 00100513 li a0,1 +800000b0: 01f51513 slli a0,a0,0x1f +800000b4: 00054c63 bltz a0,800000cc +800000b8: 0ff0000f fence +800000bc: 00100193 li gp,1 +800000c0: 05d00893 li a7,93 +800000c4: 00000513 li a0,0 +800000c8: 00000073 ecall +800000cc: 80000297 auipc t0,0x80000 +800000d0: f3428293 addi t0,t0,-204 # 0 <_start-0x80000000> +800000d4: 00028e63 beqz t0,800000f0 +800000d8: 10529073 csrw stvec,t0 +800000dc: 0000b2b7 lui t0,0xb +800000e0: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000e4: 30229073 csrw medeleg,t0 +800000e8: 30202373 csrr t1,medeleg +800000ec: f46298e3 bne t0,t1,8000003c +800000f0: 30005073 csrwi mstatus,0 +800000f4: 00000297 auipc t0,0x0 +800000f8: 01428293 addi t0,t0,20 # 80000108 +800000fc: 34129073 csrw mepc,t0 +80000100: f1402573 csrr a0,mhartid +80000104: 30200073 mret + +80000108 : +80000108: 01400093 li ra,20 +8000010c: 00600113 li sp,6 +80000110: 0220f733 remu a4,ra,sp +80000114: 00200e93 li t4,2 +80000118: 00200193 li gp,2 +8000011c: 0dd71463 bne a4,t4,800001e4 + +80000120 : +80000120: fec00093 li ra,-20 +80000124: 00600113 li sp,6 +80000128: 0220f733 remu a4,ra,sp +8000012c: 00200e93 li t4,2 +80000130: 00300193 li gp,3 +80000134: 0bd71863 bne a4,t4,800001e4 + +80000138 : +80000138: 01400093 li ra,20 +8000013c: ffa00113 li sp,-6 +80000140: 0220f733 remu a4,ra,sp +80000144: 01400e93 li t4,20 +80000148: 00400193 li gp,4 +8000014c: 09d71c63 bne a4,t4,800001e4 + +80000150 : +80000150: fec00093 li ra,-20 +80000154: ffa00113 li sp,-6 +80000158: 0220f733 remu a4,ra,sp +8000015c: fec00e93 li t4,-20 +80000160: 00500193 li gp,5 +80000164: 09d71063 bne a4,t4,800001e4 + +80000168 : +80000168: 800000b7 lui ra,0x80000 +8000016c: 00100113 li sp,1 +80000170: 0220f733 remu a4,ra,sp +80000174: 00000e93 li t4,0 +80000178: 00600193 li gp,6 +8000017c: 07d71463 bne a4,t4,800001e4 + +80000180 : +80000180: 800000b7 lui ra,0x80000 +80000184: fff00113 li sp,-1 +80000188: 0220f733 remu a4,ra,sp +8000018c: 80000eb7 lui t4,0x80000 +80000190: 00700193 li gp,7 +80000194: 05d71863 bne a4,t4,800001e4 + +80000198 : +80000198: 800000b7 lui ra,0x80000 +8000019c: 00000113 li sp,0 +800001a0: 0220f733 remu a4,ra,sp +800001a4: 80000eb7 lui t4,0x80000 +800001a8: 00800193 li gp,8 +800001ac: 03d71c63 bne a4,t4,800001e4 + +800001b0 : +800001b0: 00100093 li ra,1 +800001b4: 00000113 li sp,0 +800001b8: 0220f733 remu a4,ra,sp +800001bc: 00100e93 li t4,1 +800001c0: 00900193 li gp,9 +800001c4: 03d71063 bne a4,t4,800001e4 + +800001c8 : +800001c8: 00000093 li ra,0 +800001cc: 00000113 li sp,0 +800001d0: 0220f733 remu a4,ra,sp +800001d4: 00000e93 li t4,0 +800001d8: 00a00193 li gp,10 +800001dc: 01d71463 bne a4,t4,800001e4 +800001e0: 02301063 bne zero,gp,80000200 + +800001e4 : +800001e4: 0ff0000f fence +800001e8: 00018063 beqz gp,800001e8 +800001ec: 00119193 slli gp,gp,0x1 +800001f0: 0011e193 ori gp,gp,1 +800001f4: 05d00893 li a7,93 +800001f8: 00018513 mv a0,gp +800001fc: 00000073 ecall + +80000200 : +80000200: 0ff0000f fence +80000204: 00100193 li gp,1 +80000208: 05d00893 li a7,93 +8000020c: 00000513 li a0,0 +80000210: 00000073 ecall +80000214: c0001073 unimp +80000218: 0000 unimp +8000021a: 0000 unimp +8000021c: 0000 unimp +8000021e: 0000 unimp +80000220: 0000 unimp +80000222: 0000 unimp +80000224: 0000 unimp +80000226: 0000 unimp +80000228: 0000 unimp +8000022a: 0000 unimp +8000022c: 0000 unimp +8000022e: 0000 unimp +80000230: 0000 unimp +80000232: 0000 unimp +80000234: 0000 unimp +80000236: 0000 unimp +80000238: 0000 unimp +8000023a: 0000 unimp +8000023c: 0000 unimp +8000023e: 0000 unimp +80000240: 0000 unimp +80000242: 0000 unimp diff --git a/simX/riscv_tests/rv32um-p-remu.hex b/simX/riscv_tests/rv32um-p-remu.hex index 1be01270..4ae8eeb3 100644 --- a/simX/riscv_tests/rv32um-p-remu.hex +++ b/simX/riscv_tests/rv32um-p-remu.hex @@ -2,36 +2,44 @@ :100000006F00C004732F2034930F8000630AFF0336 :10001000930F90006306FF03930FB0006302FF038A :10002000170F0080130F0FFE63040F0067000F000F -:10003000732F203463540F006F004000136E9E53E3 -:10004000171F00002320CFFD6FF09FFF732540F1A5 -:100050006310050073251030635805000F00F00F82 -:10006000130E100073000000130E00009702000032 -:10007000938282F973905230735020307350303035 -:1000800073504030970200809382C2F7638C020065 -:10009000739052109302B01A739022307323203061 -:1000A000E39E62F873500030970200009382420191 -:1000B00073901234732540F1730020309300400197 -:1000C00013016000B3F12002930E2000130E2000F4 -:1000D0006394D10D9300C0FE13016000B3F12002C0 -:1000E000930E2000130E30006398D10B9300400153 -:1000F0001301A0FFB3F12002930E4001130E400044 -:10010000639CD1099300C0FE1301A0FFB3F120024C -:10011000930EC0FE130E50006390D10993000000AF -:1001200013011000B3F12002930E0000130E6000C3 -:100130006394D107930000001301F0FFB3F1200294 -:10014000930E0000130E70006398D1059300000019 -:1001500013010000B3F12002930E0000130E800083 -:10016000639CD1039300100013010000B3F120023F -:10017000930E1000130E90006390D10393000000C3 -:1001800013010000B3F12002930E0000130EA00033 -:100190006394D101631CC0010F00F00F63000E00D7 -:1001A000131E1E00136E1E00730000000F00F00FE0 -:1001B000130E100073000000731000C00000000058 -:0401C000000000003B +:10003000732F203463540F006F00400093E19153FD +:10004000171F000023203FFC6FF09FFF732540F136 +:1000500063100500970200009382020173905230F2 +:10006000735000189702000093820202739052307E +:10007000B70200809382F2FF7390023B9302F0017B +:100080007390023A9702000093828201739052307B +:100090007350203073503030735040309301000063 +:1000A00097020000938242F67390523013051000BD +:1000B0001315F501634C05000F00F00F93011000BC +:1000C0009308D0051305000073000000970200801C +:1000D000938242F3638E020073905210B7B2000015 +:1000E000938292107390223073232030E39862F44D +:1000F00073500030970200009382420173901234D3 +:10010000732540F17300203093004001130160001B +:1001100033F72002930E2000930120006314D70DC3 +:100120009300C0FE1301600033F72002930E2000FD +:10013000930130006318D70B930040011301A0FF17 +:1001400033F72002930E400193014000631CD7094E +:100150009300C0FE1301A0FF33F72002930EC0FEF0 +:10016000930150006310D709B700008013011000FD +:1001700033F72002930E0000930160006314D70749 +:10018000B70000801301F0FF33F72002B70E0080A4 +:10019000930170006318D705B700008013010000B9 +:1001A00033F72002B70E008093018000631CD70351 +:1001B000930010001301000033F72002930E10008B +:1001C000930190006310D703930000001301000017 +:1001D00033F72002930E00009301A0006314D701AF +:1001E000631030020F00F00F638001009391110043 +:1001F00093E111009308D0051385010073000000FE +:100200000F00F00F930110009308D00513050000B4 +:1002100073000000731000C0000000000000000028 +:1002200000000000000000000000000000000000CE +:1002300000000000000000000000000000000000BE +:0402400000000000BA :1010000000000000000000000000000000000000E0 :1010100000000000000000000000000000000000D0 :1010200000000000000000000000000000000000C0 :1010300000000000000000000000000000000000B0 :081040000000000000000000A8 -:040000058000200057 +:040000058000000077 :00000001FF diff --git a/simX/test.sh b/simX/test.sh deleted file mode 100644 index 066bc487..00000000 --- a/simX/test.sh +++ /dev/null @@ -1,143 +0,0 @@ -echo start > results.txt - -echo ./riscv_tests/rv32ui-p-add.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-add.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-addi.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-addi.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-and.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-and.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-andi.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-andi.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-auipc.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-auipc.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-beq.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-beq.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-bge.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-bge.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-bgeu.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-bgeu.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-blt.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-blt.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-bltu.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-bltu.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-bne.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-bne.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-jal.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-jal.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-jalr.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-jalr.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-lb.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-lb.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-lbu.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-lbu.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-lh.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-lh.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-lhu.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-lhu.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-lui.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-lui.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-lw.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-lw.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-or.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-or.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-ori.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-ori.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-sb.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-sb.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-sh.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-sh.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-simple.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-simple.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-sll.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-sll.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-slli.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-slli.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-slt.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-slt.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-slti.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-slti.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-sltiu.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-sltiu.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-sltu.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-sltu.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-sra.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-sra.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-srai.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-srai.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-srl.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-srl.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-srli.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-srli.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-sub.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-sub.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-sw.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-sw.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-xor.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-xor.hex -s -b >> results.txt - -echo ./riscv_tests/rv32ui-p-xori.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32ui-p-xori.hex -s -b >> results.txt - - - - -echo ./riscv_tests/rv32um-p-div.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32um-p-div.hex -s -b >> results.txt - -echo ./riscv_tests/rv32um-p-divu.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32um-p-divu.hex -s -b >> results.txt - -echo ./riscv_tests/rv32um-p-mul.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32um-p-mul.hex -s -b >> results.txt - -echo ./riscv_tests/rv32um-p-mulh.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32um-p-mulh.hex -s -b >> results.txt - -echo ./riscv_tests/rv32um-p-mulhsu.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32um-p-mulhsu.hex -s -b >> results.txt - -echo ./riscv_tests/rv32um-p-mulhu.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32um-p-mulhu.hex -s -b >> results.txt - -echo ./riscv_tests/rv32um-p-rem.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32um-p-rem.hex -s -b >> results.txt - -echo ./riscv_tests/rv32um-p-remu.hex >> results.txt -./harptool -E -a rv32i --core ./riscv_tests/rv32um-p-remu.hex -s -b >> results.txt - diff --git a/simX/test_rv32ui.sh b/simX/test_rv32ui.sh new file mode 100644 index 00000000..5f22540c --- /dev/null +++ b/simX/test_rv32ui.sh @@ -0,0 +1,145 @@ +make +cd obj_dir +echo start > results.txt + +echo ./riscv_tests/rv32ui-p-add.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-add.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-addi.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-addi.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-and.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-and.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-andi.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-andi.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-auipc.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-auipc.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-beq.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-beq.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-bge.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-bge.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-bgeu.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-bgeu.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-blt.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-blt.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-bltu.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-bltu.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-bne.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-bne.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-jal.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-jal.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-jalr.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-jalr.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-lb.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-lb.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-lbu.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-lbu.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-lh.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-lh.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-lhu.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-lhu.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-lui.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-lui.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-lw.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-lw.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-or.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-or.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-ori.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-ori.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-sb.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-sb.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-sh.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-sh.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-simple.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-simple.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-sll.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-sll.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-slli.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-slli.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-slt.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-slt.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-slti.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-slti.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-sltiu.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-sltiu.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-sltu.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-sltu.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-sra.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-sra.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-srai.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-srai.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-srl.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-srl.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-srli.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-srli.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-sub.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-sub.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-sw.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-sw.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-xor.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-xor.hex -s -b >> results.txt + +echo ./riscv_tests/rv32ui-p-xori.hex >> results.txt +./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32ui-p-xori.hex -s -b >> results.txt + + + + +# echo ./riscv_tests/rv32um-p-div.hex >> results.txt +# ./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32um-p-div.hex -s -b >> results.txt + +# echo ./riscv_tests/rv32um-p-divu.hex >> results.txt +# ./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32um-p-divu.hex -s -b >> results.txt + +# echo ./riscv_tests/rv32um-p-mul.hex >> results.txt +# ./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32um-p-mul.hex -s -b >> results.txt + +# echo ./riscv_tests/rv32um-p-mulh.hex >> results.txt +# ./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32um-p-mulh.hex -s -b >> results.txt + +# echo ./riscv_tests/rv32um-p-mulhsu.hex >> results.txt +# ./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32um-p-mulhsu.hex -s -b >> results.txt + +# echo ./riscv_tests/rv32um-p-mulhu.hex >> results.txt +# ./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32um-p-mulhu.hex -s -b >> results.txt + +# echo ./riscv_tests/rv32um-p-rem.hex >> results.txt +# ./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32um-p-rem.hex -s -b >> results.txt + +# echo ./riscv_tests/rv32um-p-remu.hex >> results.txt +# ./Vcache_simX -E -a rv32i --core ../riscv_tests/rv32um-p-remu.hex -s -b >> results.txt +