From 368e8b200d53611ca145c63a876a6d37fcf5acaf Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Tue, 30 Jan 2018 15:06:20 +0000 Subject: Fix failing Lem tests --- test/typecheck/pass/arm_types.sail | 2 ++ test/typecheck/pass/exist_tlb.sail | 2 ++ test/typecheck/pass/simple_record_access.sail | 2 ++ 3 files changed, 6 insertions(+) (limited to 'test') diff --git a/test/typecheck/pass/arm_types.sail b/test/typecheck/pass/arm_types.sail index 83cc8687..af0bcba9 100644 --- a/test/typecheck/pass/arm_types.sail +++ b/test/typecheck/pass/arm_types.sail @@ -1,3 +1,5 @@ +$include + enum boolean = {FALSE, TRUE} enum signal = {LOW, HIGH} diff --git a/test/typecheck/pass/exist_tlb.sail b/test/typecheck/pass/exist_tlb.sail index f1b79b3d..de15edf8 100644 --- a/test/typecheck/pass/exist_tlb.sail +++ b/test/typecheck/pass/exist_tlb.sail @@ -1,3 +1,5 @@ +$include + val extz : forall ('n : Int) ('m : Int) ('ord : Order). vector('n, 'ord, bit) -> vector('m, 'ord, bit) diff --git a/test/typecheck/pass/simple_record_access.sail b/test/typecheck/pass/simple_record_access.sail index b1eab652..a6e34c8b 100644 --- a/test/typecheck/pass/simple_record_access.sail +++ b/test/typecheck/pass/simple_record_access.sail @@ -1,3 +1,5 @@ +$include + enum signal = {LOW, HIGH} type Bit32 = vector(32, inc, bit) -- cgit v1.2.3 From d4f33092406cbed65d98f4c342579f617ad8a99c Mon Sep 17 00:00:00 2001 From: Robert Norton Date: Wed, 31 Jan 2018 10:54:48 +0000 Subject: add some elf files from riscv test suite and run them on riscv model. --- test/riscv/run_tests.sh | 17 +- test/riscv/tests/README | 27 + test/riscv/tests/rv64ua-p-amoadd_d.dump | 153 + test/riscv/tests/rv64ua-p-amoadd_d.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amoadd_w.dump | 124 + test/riscv/tests/rv64ua-p-amoadd_w.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amoand_d.dump | 124 + test/riscv/tests/rv64ua-p-amoand_d.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amoand_w.dump | 125 + test/riscv/tests/rv64ua-p-amoand_w.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amomax_d.dump | 125 + test/riscv/tests/rv64ua-p-amomax_d.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amomax_w.dump | 125 + test/riscv/tests/rv64ua-p-amomax_w.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amomaxu_d.dump | 125 + test/riscv/tests/rv64ua-p-amomaxu_d.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amomaxu_w.dump | 125 + test/riscv/tests/rv64ua-p-amomaxu_w.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amomin_d.dump | 125 + test/riscv/tests/rv64ua-p-amomin_d.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amomin_w.dump | 125 + test/riscv/tests/rv64ua-p-amomin_w.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amominu_d.dump | 125 + test/riscv/tests/rv64ua-p-amominu_d.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amominu_w.dump | 125 + test/riscv/tests/rv64ua-p-amominu_w.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amoor_d.dump | 126 + test/riscv/tests/rv64ua-p-amoor_d.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amoor_w.dump | 126 + test/riscv/tests/rv64ua-p-amoor_w.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amoswap_d.dump | 124 + test/riscv/tests/rv64ua-p-amoswap_d.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amoswap_w.dump | 125 + test/riscv/tests/rv64ua-p-amoswap_w.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amoxor_d.dump | 155 + test/riscv/tests/rv64ua-p-amoxor_d.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-amoxor_w.dump | 153 + test/riscv/tests/rv64ua-p-amoxor_w.elf | Bin 0 -> 9504 bytes test/riscv/tests/rv64ua-p-lrsc.dump | 178 ++ test/riscv/tests/rv64ua-p-lrsc.elf | Bin 0 -> 13576 bytes test/riscv/tests/rv64uc-p-rvc.dump | 4878 ++++++++++++++++++++++++++++++ test/riscv/tests/rv64uc-p-rvc.elf | Bin 0 -> 18392 bytes test/riscv/tests/rv64ui-p-add.dump | 506 ++++ test/riscv/tests/rv64ui-p-add.elf | Bin 0 -> 10432 bytes test/riscv/tests/rv64ui-p-addi.dump | 312 ++ test/riscv/tests/rv64ui-p-addi.elf | Bin 0 -> 10016 bytes test/riscv/tests/rv64ui-p-addiw.dump | 315 ++ test/riscv/tests/rv64ui-p-addiw.elf | Bin 0 -> 10016 bytes test/riscv/tests/rv64ui-p-addw.dump | 479 +++ test/riscv/tests/rv64ui-p-addw.elf | Bin 0 -> 10432 bytes test/riscv/tests/rv64ui-p-and.dump | 491 +++ test/riscv/tests/rv64ui-p-and.elf | Bin 0 -> 10080 bytes test/riscv/tests/rv64ui-p-andi.dump | 265 ++ test/riscv/tests/rv64ui-p-andi.elf | Bin 0 -> 9664 bytes test/riscv/tests/rv64ui-p-auipc.dump | 125 + test/riscv/tests/rv64ui-p-auipc.elf | Bin 0 -> 9320 bytes test/riscv/tests/rv64ui-p-beq.dump | 325 ++ test/riscv/tests/rv64ui-p-beq.elf | Bin 0 -> 9888 bytes test/riscv/tests/rv64ui-p-bge.dump | 339 +++ test/riscv/tests/rv64ui-p-bge.elf | Bin 0 -> 9984 bytes test/riscv/tests/rv64ui-p-bgeu.dump | 413 +++ test/riscv/tests/rv64ui-p-bgeu.elf | Bin 0 -> 9984 bytes test/riscv/tests/rv64ui-p-blt.dump | 325 ++ test/riscv/tests/rv64ui-p-blt.elf | Bin 0 -> 9888 bytes test/riscv/tests/rv64ui-p-bltu.dump | 371 +++ test/riscv/tests/rv64ui-p-bltu.elf | Bin 0 -> 9888 bytes test/riscv/tests/rv64ui-p-bne.dump | 324 ++ test/riscv/tests/rv64ui-p-bne.elf | Bin 0 -> 9888 bytes test/riscv/tests/rv64ui-p-fence_i.dump | 189 ++ test/riscv/tests/rv64ui-p-fence_i.elf | Bin 0 -> 13480 bytes test/riscv/tests/rv64ui-p-jal.dump | 128 + test/riscv/tests/rv64ui-p-jal.elf | Bin 0 -> 9384 bytes test/riscv/tests/rv64ui-p-jalr.dump | 166 + test/riscv/tests/rv64ui-p-jalr.elf | Bin 0 -> 9480 bytes test/riscv/tests/rv64ui-p-lb.dump | 306 ++ test/riscv/tests/rv64ui-p-lb.elf | Bin 0 -> 14104 bytes test/riscv/tests/rv64ui-p-lbu.dump | 306 ++ test/riscv/tests/rv64ui-p-lbu.elf | Bin 0 -> 14104 bytes test/riscv/tests/rv64ui-p-ld.dump | 406 +++ test/riscv/tests/rv64ui-p-ld.elf | Bin 0 -> 14120 bytes test/riscv/tests/rv64ui-p-lh.dump | 327 ++ test/riscv/tests/rv64ui-p-lh.elf | Bin 0 -> 14104 bytes test/riscv/tests/rv64ui-p-lhu.dump | 322 ++ test/riscv/tests/rv64ui-p-lhu.elf | Bin 0 -> 14104 bytes test/riscv/tests/rv64ui-p-lui.dump | 127 + test/riscv/tests/rv64ui-p-lui.elf | Bin 0 -> 9408 bytes test/riscv/tests/rv64ui-p-lw.dump | 319 ++ test/riscv/tests/rv64ui-p-lw.elf | Bin 0 -> 14104 bytes test/riscv/tests/rv64ui-p-lwu.dump | 333 ++ test/riscv/tests/rv64ui-p-lwu.elf | Bin 0 -> 14104 bytes test/riscv/tests/rv64ui-p-or.dump | 522 ++++ test/riscv/tests/rv64ui-p-or.elf | Bin 0 -> 10080 bytes test/riscv/tests/rv64ui-p-ori.dump | 268 ++ test/riscv/tests/rv64ui-p-ori.elf | Bin 0 -> 9664 bytes test/riscv/tests/rv64ui-p-sb.dump | 447 +++ test/riscv/tests/rv64ui-p-sb.elf | Bin 0 -> 14416 bytes test/riscv/tests/rv64ui-p-sd.dump | 594 ++++ test/riscv/tests/rv64ui-p-sd.elf | Bin 0 -> 14480 bytes test/riscv/tests/rv64ui-p-sh.dump | 480 +++ test/riscv/tests/rv64ui-p-sh.elf | Bin 0 -> 14432 bytes test/riscv/tests/rv64ui-p-simple.dump | 110 + test/riscv/tests/rv64ui-p-simple.elf | Bin 0 -> 9200 bytes test/riscv/tests/rv64ui-p-sll.dump | 580 ++++ test/riscv/tests/rv64ui-p-sll.elf | Bin 0 -> 10688 bytes test/riscv/tests/rv64ui-p-slli.dump | 354 +++ test/riscv/tests/rv64ui-p-slli.elf | Bin 0 -> 10112 bytes test/riscv/tests/rv64ui-p-slliw.dump | 316 ++ test/riscv/tests/rv64ui-p-slliw.elf | Bin 0 -> 10016 bytes test/riscv/tests/rv64ui-p-sllw.dump | 550 ++++ test/riscv/tests/rv64ui-p-sllw.elf | Bin 0 -> 10592 bytes test/riscv/tests/rv64ui-p-slt.dump | 485 +++ test/riscv/tests/rv64ui-p-slt.elf | Bin 0 -> 10432 bytes test/riscv/tests/rv64ui-p-slti.dump | 320 ++ test/riscv/tests/rv64ui-p-slti.elf | Bin 0 -> 10016 bytes test/riscv/tests/rv64ui-p-sltiu.dump | 320 ++ test/riscv/tests/rv64ui-p-sltiu.elf | Bin 0 -> 10016 bytes test/riscv/tests/rv64ui-p-sltu.dump | 500 +++ test/riscv/tests/rv64ui-p-sltu.elf | Bin 0 -> 10432 bytes test/riscv/tests/rv64ui-p-sra.dump | 538 ++++ test/riscv/tests/rv64ui-p-sra.elf | Bin 0 -> 10592 bytes test/riscv/tests/rv64ui-p-srai.dump | 333 ++ test/riscv/tests/rv64ui-p-srai.elf | Bin 0 -> 10016 bytes test/riscv/tests/rv64ui-p-sraiw.dump | 359 +++ test/riscv/tests/rv64ui-p-sraiw.elf | Bin 0 -> 10080 bytes test/riscv/tests/rv64ui-p-sraw.dump | 538 ++++ test/riscv/tests/rv64ui-p-sraw.elf | Bin 0 -> 10592 bytes test/riscv/tests/rv64ui-p-srl.dump | 575 ++++ test/riscv/tests/rv64ui-p-srl.elf | Bin 0 -> 10592 bytes test/riscv/tests/rv64ui-p-srli.dump | 350 +++ test/riscv/tests/rv64ui-p-srli.elf | Bin 0 -> 10016 bytes test/riscv/tests/rv64ui-p-srliw.dump | 309 ++ test/riscv/tests/rv64ui-p-srliw.elf | Bin 0 -> 10016 bytes test/riscv/tests/rv64ui-p-srlw.dump | 544 ++++ test/riscv/tests/rv64ui-p-srlw.elf | Bin 0 -> 10592 bytes test/riscv/tests/rv64ui-p-sub.dump | 481 +++ test/riscv/tests/rv64ui-p-sub.elf | Bin 0 -> 10400 bytes test/riscv/tests/rv64ui-p-subw.dump | 485 +++ test/riscv/tests/rv64ui-p-subw.elf | Bin 0 -> 10400 bytes test/riscv/tests/rv64ui-p-sw.dump | 476 +++ test/riscv/tests/rv64ui-p-sw.elf | Bin 0 -> 14448 bytes test/riscv/tests/rv64ui-p-xor.dump | 527 ++++ test/riscv/tests/rv64ui-p-xor.elf | Bin 0 -> 10080 bytes test/riscv/tests/rv64ui-p-xori.dump | 238 ++ test/riscv/tests/rv64ui-p-xori.elf | Bin 0 -> 9664 bytes test/riscv/tests/rv64um-p-div.dump | 195 ++ test/riscv/tests/rv64um-p-div.elf | Bin 0 -> 9536 bytes test/riscv/tests/rv64um-p-divu.dump | 189 ++ test/riscv/tests/rv64um-p-divu.elf | Bin 0 -> 9536 bytes test/riscv/tests/rv64um-p-divuw.dump | 197 ++ test/riscv/tests/rv64um-p-divuw.elf | Bin 0 -> 9536 bytes test/riscv/tests/rv64um-p-divw.dump | 168 + test/riscv/tests/rv64um-p-divw.elf | Bin 0 -> 9536 bytes test/riscv/tests/rv64um-p-mul.dump | 474 +++ test/riscv/tests/rv64um-p-mul.elf | Bin 0 -> 10272 bytes test/riscv/tests/rv64um-p-mulh.dump | 456 +++ test/riscv/tests/rv64um-p-mulh.elf | Bin 0 -> 10144 bytes test/riscv/tests/rv64um-p-mulhsu.dump | 456 +++ test/riscv/tests/rv64um-p-mulhsu.elf | Bin 0 -> 10144 bytes test/riscv/tests/rv64um-p-mulhu.dump | 492 +++ test/riscv/tests/rv64um-p-mulhu.elf | Bin 0 -> 10208 bytes test/riscv/tests/rv64um-p-mulw.dump | 399 +++ test/riscv/tests/rv64um-p-mulw.elf | Bin 0 -> 10144 bytes test/riscv/tests/rv64um-p-rem.dump | 196 ++ test/riscv/tests/rv64um-p-rem.elf | Bin 0 -> 9536 bytes test/riscv/tests/rv64um-p-remu.dump | 195 ++ test/riscv/tests/rv64um-p-remu.elf | Bin 0 -> 9536 bytes test/riscv/tests/rv64um-p-remuw.dump | 168 + test/riscv/tests/rv64um-p-remuw.elf | Bin 0 -> 9536 bytes test/riscv/tests/rv64um-p-remw.dump | 196 ++ test/riscv/tests/rv64um-p-remw.elf | Bin 0 -> 9568 bytes 170 files changed, 30330 insertions(+), 4 deletions(-) create mode 100644 test/riscv/tests/README create mode 100644 test/riscv/tests/rv64ua-p-amoadd_d.dump create mode 100755 test/riscv/tests/rv64ua-p-amoadd_d.elf create mode 100644 test/riscv/tests/rv64ua-p-amoadd_w.dump create mode 100755 test/riscv/tests/rv64ua-p-amoadd_w.elf create mode 100644 test/riscv/tests/rv64ua-p-amoand_d.dump create mode 100755 test/riscv/tests/rv64ua-p-amoand_d.elf create mode 100644 test/riscv/tests/rv64ua-p-amoand_w.dump create mode 100755 test/riscv/tests/rv64ua-p-amoand_w.elf create mode 100644 test/riscv/tests/rv64ua-p-amomax_d.dump create mode 100755 test/riscv/tests/rv64ua-p-amomax_d.elf create mode 100644 test/riscv/tests/rv64ua-p-amomax_w.dump create mode 100755 test/riscv/tests/rv64ua-p-amomax_w.elf create mode 100644 test/riscv/tests/rv64ua-p-amomaxu_d.dump create mode 100755 test/riscv/tests/rv64ua-p-amomaxu_d.elf create mode 100644 test/riscv/tests/rv64ua-p-amomaxu_w.dump create mode 100755 test/riscv/tests/rv64ua-p-amomaxu_w.elf create mode 100644 test/riscv/tests/rv64ua-p-amomin_d.dump create mode 100755 test/riscv/tests/rv64ua-p-amomin_d.elf create mode 100644 test/riscv/tests/rv64ua-p-amomin_w.dump create mode 100755 test/riscv/tests/rv64ua-p-amomin_w.elf create mode 100644 test/riscv/tests/rv64ua-p-amominu_d.dump create mode 100755 test/riscv/tests/rv64ua-p-amominu_d.elf create mode 100644 test/riscv/tests/rv64ua-p-amominu_w.dump create mode 100755 test/riscv/tests/rv64ua-p-amominu_w.elf create mode 100644 test/riscv/tests/rv64ua-p-amoor_d.dump create mode 100755 test/riscv/tests/rv64ua-p-amoor_d.elf create mode 100644 test/riscv/tests/rv64ua-p-amoor_w.dump create mode 100755 test/riscv/tests/rv64ua-p-amoor_w.elf create mode 100644 test/riscv/tests/rv64ua-p-amoswap_d.dump create mode 100755 test/riscv/tests/rv64ua-p-amoswap_d.elf create mode 100644 test/riscv/tests/rv64ua-p-amoswap_w.dump create mode 100755 test/riscv/tests/rv64ua-p-amoswap_w.elf create mode 100644 test/riscv/tests/rv64ua-p-amoxor_d.dump create mode 100755 test/riscv/tests/rv64ua-p-amoxor_d.elf create mode 100644 test/riscv/tests/rv64ua-p-amoxor_w.dump create mode 100755 test/riscv/tests/rv64ua-p-amoxor_w.elf create mode 100644 test/riscv/tests/rv64ua-p-lrsc.dump create mode 100755 test/riscv/tests/rv64ua-p-lrsc.elf create mode 100644 test/riscv/tests/rv64uc-p-rvc.dump create mode 100755 test/riscv/tests/rv64uc-p-rvc.elf create mode 100644 test/riscv/tests/rv64ui-p-add.dump create mode 100755 test/riscv/tests/rv64ui-p-add.elf create mode 100644 test/riscv/tests/rv64ui-p-addi.dump create mode 100755 test/riscv/tests/rv64ui-p-addi.elf create mode 100644 test/riscv/tests/rv64ui-p-addiw.dump create mode 100755 test/riscv/tests/rv64ui-p-addiw.elf create mode 100644 test/riscv/tests/rv64ui-p-addw.dump create mode 100755 test/riscv/tests/rv64ui-p-addw.elf create mode 100644 test/riscv/tests/rv64ui-p-and.dump create mode 100755 test/riscv/tests/rv64ui-p-and.elf create mode 100644 test/riscv/tests/rv64ui-p-andi.dump create mode 100755 test/riscv/tests/rv64ui-p-andi.elf create mode 100644 test/riscv/tests/rv64ui-p-auipc.dump create mode 100755 test/riscv/tests/rv64ui-p-auipc.elf create mode 100644 test/riscv/tests/rv64ui-p-beq.dump create mode 100755 test/riscv/tests/rv64ui-p-beq.elf create mode 100644 test/riscv/tests/rv64ui-p-bge.dump create mode 100755 test/riscv/tests/rv64ui-p-bge.elf create mode 100644 test/riscv/tests/rv64ui-p-bgeu.dump create mode 100755 test/riscv/tests/rv64ui-p-bgeu.elf create mode 100644 test/riscv/tests/rv64ui-p-blt.dump create mode 100755 test/riscv/tests/rv64ui-p-blt.elf create mode 100644 test/riscv/tests/rv64ui-p-bltu.dump create mode 100755 test/riscv/tests/rv64ui-p-bltu.elf create mode 100644 test/riscv/tests/rv64ui-p-bne.dump create mode 100755 test/riscv/tests/rv64ui-p-bne.elf create mode 100644 test/riscv/tests/rv64ui-p-fence_i.dump create mode 100755 test/riscv/tests/rv64ui-p-fence_i.elf create mode 100644 test/riscv/tests/rv64ui-p-jal.dump create mode 100755 test/riscv/tests/rv64ui-p-jal.elf create mode 100644 test/riscv/tests/rv64ui-p-jalr.dump create mode 100755 test/riscv/tests/rv64ui-p-jalr.elf create mode 100644 test/riscv/tests/rv64ui-p-lb.dump create mode 100755 test/riscv/tests/rv64ui-p-lb.elf create mode 100644 test/riscv/tests/rv64ui-p-lbu.dump create mode 100755 test/riscv/tests/rv64ui-p-lbu.elf create mode 100644 test/riscv/tests/rv64ui-p-ld.dump create mode 100755 test/riscv/tests/rv64ui-p-ld.elf create mode 100644 test/riscv/tests/rv64ui-p-lh.dump create mode 100755 test/riscv/tests/rv64ui-p-lh.elf create mode 100644 test/riscv/tests/rv64ui-p-lhu.dump create mode 100755 test/riscv/tests/rv64ui-p-lhu.elf create mode 100644 test/riscv/tests/rv64ui-p-lui.dump create mode 100755 test/riscv/tests/rv64ui-p-lui.elf create mode 100644 test/riscv/tests/rv64ui-p-lw.dump create mode 100755 test/riscv/tests/rv64ui-p-lw.elf create mode 100644 test/riscv/tests/rv64ui-p-lwu.dump create mode 100755 test/riscv/tests/rv64ui-p-lwu.elf create mode 100644 test/riscv/tests/rv64ui-p-or.dump create mode 100755 test/riscv/tests/rv64ui-p-or.elf create mode 100644 test/riscv/tests/rv64ui-p-ori.dump create mode 100755 test/riscv/tests/rv64ui-p-ori.elf create mode 100644 test/riscv/tests/rv64ui-p-sb.dump create mode 100755 test/riscv/tests/rv64ui-p-sb.elf create mode 100644 test/riscv/tests/rv64ui-p-sd.dump create mode 100755 test/riscv/tests/rv64ui-p-sd.elf create mode 100644 test/riscv/tests/rv64ui-p-sh.dump create mode 100755 test/riscv/tests/rv64ui-p-sh.elf create mode 100644 test/riscv/tests/rv64ui-p-simple.dump create mode 100755 test/riscv/tests/rv64ui-p-simple.elf create mode 100644 test/riscv/tests/rv64ui-p-sll.dump create mode 100755 test/riscv/tests/rv64ui-p-sll.elf create mode 100644 test/riscv/tests/rv64ui-p-slli.dump create mode 100755 test/riscv/tests/rv64ui-p-slli.elf create mode 100644 test/riscv/tests/rv64ui-p-slliw.dump create mode 100755 test/riscv/tests/rv64ui-p-slliw.elf create mode 100644 test/riscv/tests/rv64ui-p-sllw.dump create mode 100755 test/riscv/tests/rv64ui-p-sllw.elf create mode 100644 test/riscv/tests/rv64ui-p-slt.dump create mode 100755 test/riscv/tests/rv64ui-p-slt.elf create mode 100644 test/riscv/tests/rv64ui-p-slti.dump create mode 100755 test/riscv/tests/rv64ui-p-slti.elf create mode 100644 test/riscv/tests/rv64ui-p-sltiu.dump create mode 100755 test/riscv/tests/rv64ui-p-sltiu.elf create mode 100644 test/riscv/tests/rv64ui-p-sltu.dump create mode 100755 test/riscv/tests/rv64ui-p-sltu.elf create mode 100644 test/riscv/tests/rv64ui-p-sra.dump create mode 100755 test/riscv/tests/rv64ui-p-sra.elf create mode 100644 test/riscv/tests/rv64ui-p-srai.dump create mode 100755 test/riscv/tests/rv64ui-p-srai.elf create mode 100644 test/riscv/tests/rv64ui-p-sraiw.dump create mode 100755 test/riscv/tests/rv64ui-p-sraiw.elf create mode 100644 test/riscv/tests/rv64ui-p-sraw.dump create mode 100755 test/riscv/tests/rv64ui-p-sraw.elf create mode 100644 test/riscv/tests/rv64ui-p-srl.dump create mode 100755 test/riscv/tests/rv64ui-p-srl.elf create mode 100644 test/riscv/tests/rv64ui-p-srli.dump create mode 100755 test/riscv/tests/rv64ui-p-srli.elf create mode 100644 test/riscv/tests/rv64ui-p-srliw.dump create mode 100755 test/riscv/tests/rv64ui-p-srliw.elf create mode 100644 test/riscv/tests/rv64ui-p-srlw.dump create mode 100755 test/riscv/tests/rv64ui-p-srlw.elf create mode 100644 test/riscv/tests/rv64ui-p-sub.dump create mode 100755 test/riscv/tests/rv64ui-p-sub.elf create mode 100644 test/riscv/tests/rv64ui-p-subw.dump create mode 100755 test/riscv/tests/rv64ui-p-subw.elf create mode 100644 test/riscv/tests/rv64ui-p-sw.dump create mode 100755 test/riscv/tests/rv64ui-p-sw.elf create mode 100644 test/riscv/tests/rv64ui-p-xor.dump create mode 100755 test/riscv/tests/rv64ui-p-xor.elf create mode 100644 test/riscv/tests/rv64ui-p-xori.dump create mode 100755 test/riscv/tests/rv64ui-p-xori.elf create mode 100644 test/riscv/tests/rv64um-p-div.dump create mode 100755 test/riscv/tests/rv64um-p-div.elf create mode 100644 test/riscv/tests/rv64um-p-divu.dump create mode 100755 test/riscv/tests/rv64um-p-divu.elf create mode 100644 test/riscv/tests/rv64um-p-divuw.dump create mode 100755 test/riscv/tests/rv64um-p-divuw.elf create mode 100644 test/riscv/tests/rv64um-p-divw.dump create mode 100755 test/riscv/tests/rv64um-p-divw.elf create mode 100644 test/riscv/tests/rv64um-p-mul.dump create mode 100755 test/riscv/tests/rv64um-p-mul.elf create mode 100644 test/riscv/tests/rv64um-p-mulh.dump create mode 100755 test/riscv/tests/rv64um-p-mulh.elf create mode 100644 test/riscv/tests/rv64um-p-mulhsu.dump create mode 100755 test/riscv/tests/rv64um-p-mulhsu.elf create mode 100644 test/riscv/tests/rv64um-p-mulhu.dump create mode 100755 test/riscv/tests/rv64um-p-mulhu.elf create mode 100644 test/riscv/tests/rv64um-p-mulw.dump create mode 100755 test/riscv/tests/rv64um-p-mulw.elf create mode 100644 test/riscv/tests/rv64um-p-rem.dump create mode 100755 test/riscv/tests/rv64um-p-rem.elf create mode 100644 test/riscv/tests/rv64um-p-remu.dump create mode 100755 test/riscv/tests/rv64um-p-remu.elf create mode 100644 test/riscv/tests/rv64um-p-remuw.dump create mode 100755 test/riscv/tests/rv64um-p-remuw.elf create mode 100644 test/riscv/tests/rv64um-p-remw.dump create mode 100755 test/riscv/tests/rv64um-p-remw.elf (limited to 'test') diff --git a/test/riscv/run_tests.sh b/test/riscv/run_tests.sh index d52caeb4..dd19bd72 100755 --- a/test/riscv/run_tests.sh +++ b/test/riscv/run_tests.sh @@ -49,15 +49,24 @@ printf "\n" >> $DIR/tests.xml cd $SAILDIR/riscv -printf "Checking specification...\n" +printf "Building RISCV specification...\n" -if make -C $SAILDIR/riscv check; +if make -C $SAILDIR/riscv riscv ; then - green "checked RISCV specification" "ok" + green "Building RISCV specification" "ok" else - red "checking RISCV specification" "fail" + red "Building RISCV specification" "fail" fi +for test in $DIR/tests/*.elf; do + if $SAILDIR/riscv/riscv "$test" >"${test/.elf/.out}" 2>&1 && grep -q SUCCESS "${test/.elf/.out}" + then + green "$test" "ok" + else + red "$test" "fail" + fi +done + finish_suite "RISCV tests" printf "\n" >> $DIR/tests.xml diff --git a/test/riscv/tests/README b/test/riscv/tests/README new file mode 100644 index 00000000..4dcfeb11 --- /dev/null +++ b/test/riscv/tests/README @@ -0,0 +1,27 @@ +Copyright (c) 2012-2015, The Regents of the University of California (Regents). +All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the Regents nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, +SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING +OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED +HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE +MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +The tests in this directory were built from +https://github.com/riscv/riscv-tools commit 98682995dc4a1ab8777ff45ba673cf2658e54ae2 . diff --git a/test/riscv/tests/rv64ua-p-amoadd_d.dump b/test/riscv/tests/rv64ua-p-amoadd_d.dump new file mode 100644 index 00000000..e90473bb --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amoadd_d.dump @@ -0,0 +1,153 @@ + +rv64ua-p-amoadd_d: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6b023 sd a0,0(a3) + 80000110: 00b6b72f amoadd.d a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71863 bne a4,t4,8000016c + +0000000080000120 : + 80000120: 0006b783 ld a5,0(a3) + 80000124: fff00e9b addiw t4,zero,-1 + 80000128: 01fe9e93 slli t4,t4,0x1f + 8000012c: 800e8e93 addi t4,t4,-2048 # ffffffff7ffff800 <_end+0xfffffffeffffd7f8> + 80000130: 00300193 li gp,3 + 80000134: 03d79c63 bne a5,t4,8000016c + +0000000080000138 : + 80000138: 00b6b72f amoadd.d a4,a1,(a3) + 8000013c: fff00e9b addiw t4,zero,-1 + 80000140: 01fe9e93 slli t4,t4,0x1f + 80000144: 800e8e93 addi t4,t4,-2048 + 80000148: 00400193 li gp,4 + 8000014c: 03d71063 bne a4,t4,8000016c + +0000000080000150 : + 80000150: 0006b783 ld a5,0(a3) + 80000154: fff80eb7 lui t4,0xfff80 + 80000158: fffe8e9b addiw t4,t4,-1 + 8000015c: 00ce9e93 slli t4,t4,0xc + 80000160: 00500193 li gp,5 + 80000164: 01d79463 bne a5,t4,8000016c + 80000168: 00301c63 bne zero,gp,80000180 + +000000008000016c : + 8000016c: 0ff0000f fence + 80000170: 00018063 beqz gp,80000170 + 80000174: 00119193 slli gp,gp,0x1 + 80000178: 0011e193 ori gp,gp,1 + 8000017c: 00000073 ecall + +0000000080000180 : + 80000180: 0ff0000f fence + 80000184: 00100193 li gp,1 + 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/test/riscv/tests/rv64ua-p-amoadd_d.elf b/test/riscv/tests/rv64ua-p-amoadd_d.elf new file mode 100755 index 00000000..f4fac374 Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amoadd_d.elf differ diff --git a/test/riscv/tests/rv64ua-p-amoadd_w.dump b/test/riscv/tests/rv64ua-p-amoadd_w.dump new file mode 100644 index 00000000..a0bc84ef --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amoadd_w.dump @@ -0,0 +1,124 @@ + +rv64ua-p-amoadd_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6a023 sw a0,0(a3) + 80000110: 00b6a72f amoadd.w a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71263 bne a4,t4,80000160 + +0000000080000120 : + 80000120: 0006a783 lw a5,0(a3) + 80000124: 80000eb7 lui t4,0x80000 + 80000128: 800e8e9b addiw t4,t4,-2048 + 8000012c: 00300193 li gp,3 + 80000130: 03d79863 bne a5,t4,80000160 + +0000000080000134 : + 80000134: 800005b7 lui a1,0x80000 + 80000138: 00b6a72f amoadd.w a4,a1,(a3) + 8000013c: 80000eb7 lui t4,0x80000 + 80000140: 800e8e9b addiw t4,t4,-2048 + 80000144: 00400193 li gp,4 + 80000148: 01d71c63 bne a4,t4,80000160 + +000000008000014c : + 8000014c: 0006a783 lw a5,0(a3) + 80000150: 80000e93 li t4,-2048 + 80000154: 00500193 li gp,5 + 80000158: 01d79463 bne a5,t4,80000160 + 8000015c: 00301c63 bne zero,gp,80000174 + +0000000080000160 : + 80000160: 0ff0000f fence + 80000164: 00018063 beqz gp,80000164 + 80000168: 00119193 slli gp,gp,0x1 + 8000016c: 0011e193 ori gp,gp,1 + 80000170: 00000073 ecall + +0000000080000174 : + 80000174: 0ff0000f fence + 80000178: 00100193 li gp,1 + 8000017c: 00000073 ecall + 80000180: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-p-amoadd_w.elf b/test/riscv/tests/rv64ua-p-amoadd_w.elf new file mode 100755 index 00000000..4b3457d8 Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amoadd_w.elf differ diff --git a/test/riscv/tests/rv64ua-p-amoand_d.dump b/test/riscv/tests/rv64ua-p-amoand_d.dump new file mode 100644 index 00000000..cb398f8d --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amoand_d.dump @@ -0,0 +1,124 @@ + +rv64ua-p-amoand_d: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6b023 sd a0,0(a3) + 80000110: 60b6b72f amoand.d a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71263 bne a4,t4,80000160 + +0000000080000120 : + 80000120: 0006b783 ld a5,0(a3) + 80000124: 80000eb7 lui t4,0x80000 + 80000128: 00300193 li gp,3 + 8000012c: 03d79a63 bne a5,t4,80000160 + +0000000080000130 : + 80000130: 0010059b addiw a1,zero,1 + 80000134: 01f59593 slli a1,a1,0x1f + 80000138: 60b6b72f amoand.d a4,a1,(a3) + 8000013c: 80000eb7 lui t4,0x80000 + 80000140: 00400193 li gp,4 + 80000144: 01d71e63 bne a4,t4,80000160 + +0000000080000148 : + 80000148: 0006b783 ld a5,0(a3) + 8000014c: 00100e9b addiw t4,zero,1 + 80000150: 01fe9e93 slli t4,t4,0x1f + 80000154: 00500193 li gp,5 + 80000158: 01d79463 bne a5,t4,80000160 + 8000015c: 00301c63 bne zero,gp,80000174 + +0000000080000160 : + 80000160: 0ff0000f fence + 80000164: 00018063 beqz gp,80000164 + 80000168: 00119193 slli gp,gp,0x1 + 8000016c: 0011e193 ori gp,gp,1 + 80000170: 00000073 ecall + +0000000080000174 : + 80000174: 0ff0000f fence + 80000178: 00100193 li gp,1 + 8000017c: 00000073 ecall + 80000180: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-p-amoand_d.elf b/test/riscv/tests/rv64ua-p-amoand_d.elf new file mode 100755 index 00000000..47e8b321 Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amoand_d.elf differ diff --git a/test/riscv/tests/rv64ua-p-amoand_w.dump b/test/riscv/tests/rv64ua-p-amoand_w.dump new file mode 100644 index 00000000..83ce206d --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amoand_w.dump @@ -0,0 +1,125 @@ + +rv64ua-p-amoand_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6a023 sw a0,0(a3) + 80000110: 60b6a72f amoand.w a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71063 bne a4,t4,8000015c + +0000000080000120 : + 80000120: 0006a783 lw a5,0(a3) + 80000124: 80000eb7 lui t4,0x80000 + 80000128: 00300193 li gp,3 + 8000012c: 03d79863 bne a5,t4,8000015c + +0000000080000130 : + 80000130: 0010059b addiw a1,zero,1 + 80000134: 01f59593 slli a1,a1,0x1f + 80000138: 60b6a72f amoand.w a4,a1,(a3) + 8000013c: 80000eb7 lui t4,0x80000 + 80000140: 00400193 li gp,4 + 80000144: 01d71c63 bne a4,t4,8000015c + +0000000080000148 : + 80000148: 0006a783 lw a5,0(a3) + 8000014c: 80000eb7 lui t4,0x80000 + 80000150: 00500193 li gp,5 + 80000154: 01d79463 bne a5,t4,8000015c + 80000158: 00301c63 bne zero,gp,80000170 + +000000008000015c : + 8000015c: 0ff0000f fence + 80000160: 00018063 beqz gp,80000160 + 80000164: 00119193 slli gp,gp,0x1 + 80000168: 0011e193 ori gp,gp,1 + 8000016c: 00000073 ecall + +0000000080000170 : + 80000170: 0ff0000f fence + 80000174: 00100193 li gp,1 + 80000178: 00000073 ecall + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amoand_w.elf b/test/riscv/tests/rv64ua-p-amoand_w.elf new file mode 100755 index 00000000..06c29f8b Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amoand_w.elf differ diff --git a/test/riscv/tests/rv64ua-p-amomax_d.dump b/test/riscv/tests/rv64ua-p-amomax_d.dump new file mode 100644 index 00000000..c91c2c8a --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amomax_d.dump @@ -0,0 +1,125 @@ + +rv64ua-p-amomax_d: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6b023 sd a0,0(a3) + 80000110: a0b6b72f amomax.d a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71063 bne a4,t4,8000015c + +0000000080000120 : + 80000120: 0006b783 ld a5,0(a3) + 80000124: 80000e93 li t4,-2048 + 80000128: 00300193 li gp,3 + 8000012c: 03d79863 bne a5,t4,8000015c + +0000000080000130 : + 80000130: 00100593 li a1,1 + 80000134: 0006b023 sd zero,0(a3) + 80000138: a0b6b72f amomax.d a4,a1,(a3) + 8000013c: 00000e93 li t4,0 + 80000140: 00400193 li gp,4 + 80000144: 01d71c63 bne a4,t4,8000015c + +0000000080000148 : + 80000148: 0006b783 ld a5,0(a3) + 8000014c: 00100e93 li t4,1 + 80000150: 00500193 li gp,5 + 80000154: 01d79463 bne a5,t4,8000015c + 80000158: 00301c63 bne zero,gp,80000170 + +000000008000015c : + 8000015c: 0ff0000f fence + 80000160: 00018063 beqz gp,80000160 + 80000164: 00119193 slli gp,gp,0x1 + 80000168: 0011e193 ori gp,gp,1 + 8000016c: 00000073 ecall + +0000000080000170 : + 80000170: 0ff0000f fence + 80000174: 00100193 li gp,1 + 80000178: 00000073 ecall + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amomax_d.elf b/test/riscv/tests/rv64ua-p-amomax_d.elf new file mode 100755 index 00000000..4828a226 Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amomax_d.elf differ diff --git a/test/riscv/tests/rv64ua-p-amomax_w.dump b/test/riscv/tests/rv64ua-p-amomax_w.dump new file mode 100644 index 00000000..5de2185e --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amomax_w.dump @@ -0,0 +1,125 @@ + +rv64ua-p-amomax_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6a023 sw a0,0(a3) + 80000110: a0b6a72f amomax.w a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71063 bne a4,t4,8000015c + +0000000080000120 : + 80000120: 0006a783 lw a5,0(a3) + 80000124: 80000e93 li t4,-2048 + 80000128: 00300193 li gp,3 + 8000012c: 03d79863 bne a5,t4,8000015c + +0000000080000130 : + 80000130: 00100593 li a1,1 + 80000134: 0006a023 sw zero,0(a3) + 80000138: a0b6a72f amomax.w a4,a1,(a3) + 8000013c: 00000e93 li t4,0 + 80000140: 00400193 li gp,4 + 80000144: 01d71c63 bne a4,t4,8000015c + +0000000080000148 : + 80000148: 0006a783 lw a5,0(a3) + 8000014c: 00100e93 li t4,1 + 80000150: 00500193 li gp,5 + 80000154: 01d79463 bne a5,t4,8000015c + 80000158: 00301c63 bne zero,gp,80000170 + +000000008000015c : + 8000015c: 0ff0000f fence + 80000160: 00018063 beqz gp,80000160 + 80000164: 00119193 slli gp,gp,0x1 + 80000168: 0011e193 ori gp,gp,1 + 8000016c: 00000073 ecall + +0000000080000170 : + 80000170: 0ff0000f fence + 80000174: 00100193 li gp,1 + 80000178: 00000073 ecall + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amomax_w.elf b/test/riscv/tests/rv64ua-p-amomax_w.elf new file mode 100755 index 00000000..1336c9c7 Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amomax_w.elf differ diff --git a/test/riscv/tests/rv64ua-p-amomaxu_d.dump b/test/riscv/tests/rv64ua-p-amomaxu_d.dump new file mode 100644 index 00000000..8492cd4d --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amomaxu_d.dump @@ -0,0 +1,125 @@ + +rv64ua-p-amomaxu_d: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6b023 sd a0,0(a3) + 80000110: e0b6b72f amomaxu.d a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71063 bne a4,t4,8000015c + +0000000080000120 : + 80000120: 0006b783 ld a5,0(a3) + 80000124: 80000e93 li t4,-2048 + 80000128: 00300193 li gp,3 + 8000012c: 03d79863 bne a5,t4,8000015c + +0000000080000130 : + 80000130: fff00593 li a1,-1 + 80000134: 0006b023 sd zero,0(a3) + 80000138: e0b6b72f amomaxu.d a4,a1,(a3) + 8000013c: 00000e93 li t4,0 + 80000140: 00400193 li gp,4 + 80000144: 01d71c63 bne a4,t4,8000015c + +0000000080000148 : + 80000148: 0006b783 ld a5,0(a3) + 8000014c: fff00e93 li t4,-1 + 80000150: 00500193 li gp,5 + 80000154: 01d79463 bne a5,t4,8000015c + 80000158: 00301c63 bne zero,gp,80000170 + +000000008000015c : + 8000015c: 0ff0000f fence + 80000160: 00018063 beqz gp,80000160 + 80000164: 00119193 slli gp,gp,0x1 + 80000168: 0011e193 ori gp,gp,1 + 8000016c: 00000073 ecall + +0000000080000170 : + 80000170: 0ff0000f fence + 80000174: 00100193 li gp,1 + 80000178: 00000073 ecall + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amomaxu_d.elf b/test/riscv/tests/rv64ua-p-amomaxu_d.elf new file mode 100755 index 00000000..04a36aad Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amomaxu_d.elf differ diff --git a/test/riscv/tests/rv64ua-p-amomaxu_w.dump b/test/riscv/tests/rv64ua-p-amomaxu_w.dump new file mode 100644 index 00000000..1f01067b --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amomaxu_w.dump @@ -0,0 +1,125 @@ + +rv64ua-p-amomaxu_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6a023 sw a0,0(a3) + 80000110: e0b6a72f amomaxu.w a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71063 bne a4,t4,8000015c + +0000000080000120 : + 80000120: 0006a783 lw a5,0(a3) + 80000124: 80000e93 li t4,-2048 + 80000128: 00300193 li gp,3 + 8000012c: 03d79863 bne a5,t4,8000015c + +0000000080000130 : + 80000130: fff00593 li a1,-1 + 80000134: 0006a023 sw zero,0(a3) + 80000138: e0b6a72f amomaxu.w a4,a1,(a3) + 8000013c: 00000e93 li t4,0 + 80000140: 00400193 li gp,4 + 80000144: 01d71c63 bne a4,t4,8000015c + +0000000080000148 : + 80000148: 0006a783 lw a5,0(a3) + 8000014c: fff00e93 li t4,-1 + 80000150: 00500193 li gp,5 + 80000154: 01d79463 bne a5,t4,8000015c + 80000158: 00301c63 bne zero,gp,80000170 + +000000008000015c : + 8000015c: 0ff0000f fence + 80000160: 00018063 beqz gp,80000160 + 80000164: 00119193 slli gp,gp,0x1 + 80000168: 0011e193 ori gp,gp,1 + 8000016c: 00000073 ecall + +0000000080000170 : + 80000170: 0ff0000f fence + 80000174: 00100193 li gp,1 + 80000178: 00000073 ecall + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amomaxu_w.elf b/test/riscv/tests/rv64ua-p-amomaxu_w.elf new file mode 100755 index 00000000..37b392f4 Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amomaxu_w.elf differ diff --git a/test/riscv/tests/rv64ua-p-amomin_d.dump b/test/riscv/tests/rv64ua-p-amomin_d.dump new file mode 100644 index 00000000..a45ab4fd --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amomin_d.dump @@ -0,0 +1,125 @@ + +rv64ua-p-amomin_d: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6b023 sd a0,0(a3) + 80000110: 80b6b72f amomin.d a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71063 bne a4,t4,8000015c + +0000000080000120 : + 80000120: 0006b783 ld a5,0(a3) + 80000124: 80000eb7 lui t4,0x80000 + 80000128: 00300193 li gp,3 + 8000012c: 03d79863 bne a5,t4,8000015c + +0000000080000130 : + 80000130: fff00593 li a1,-1 + 80000134: 0006b023 sd zero,0(a3) + 80000138: 80b6b72f amomin.d a4,a1,(a3) + 8000013c: 00000e93 li t4,0 + 80000140: 00400193 li gp,4 + 80000144: 01d71c63 bne a4,t4,8000015c + +0000000080000148 : + 80000148: 0006b783 ld a5,0(a3) + 8000014c: fff00e93 li t4,-1 + 80000150: 00500193 li gp,5 + 80000154: 01d79463 bne a5,t4,8000015c + 80000158: 00301c63 bne zero,gp,80000170 + +000000008000015c : + 8000015c: 0ff0000f fence + 80000160: 00018063 beqz gp,80000160 + 80000164: 00119193 slli gp,gp,0x1 + 80000168: 0011e193 ori gp,gp,1 + 8000016c: 00000073 ecall + +0000000080000170 : + 80000170: 0ff0000f fence + 80000174: 00100193 li gp,1 + 80000178: 00000073 ecall + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amomin_d.elf b/test/riscv/tests/rv64ua-p-amomin_d.elf new file mode 100755 index 00000000..87a28983 Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amomin_d.elf differ diff --git a/test/riscv/tests/rv64ua-p-amomin_w.dump b/test/riscv/tests/rv64ua-p-amomin_w.dump new file mode 100644 index 00000000..b97ec5a8 --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amomin_w.dump @@ -0,0 +1,125 @@ + +rv64ua-p-amomin_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6a023 sw a0,0(a3) + 80000110: 80b6a72f amomin.w a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71063 bne a4,t4,8000015c + +0000000080000120 : + 80000120: 0006a783 lw a5,0(a3) + 80000124: 80000eb7 lui t4,0x80000 + 80000128: 00300193 li gp,3 + 8000012c: 03d79863 bne a5,t4,8000015c + +0000000080000130 : + 80000130: fff00593 li a1,-1 + 80000134: 0006a023 sw zero,0(a3) + 80000138: 80b6a72f amomin.w a4,a1,(a3) + 8000013c: 00000e93 li t4,0 + 80000140: 00400193 li gp,4 + 80000144: 01d71c63 bne a4,t4,8000015c + +0000000080000148 : + 80000148: 0006a783 lw a5,0(a3) + 8000014c: fff00e93 li t4,-1 + 80000150: 00500193 li gp,5 + 80000154: 01d79463 bne a5,t4,8000015c + 80000158: 00301c63 bne zero,gp,80000170 + +000000008000015c : + 8000015c: 0ff0000f fence + 80000160: 00018063 beqz gp,80000160 + 80000164: 00119193 slli gp,gp,0x1 + 80000168: 0011e193 ori gp,gp,1 + 8000016c: 00000073 ecall + +0000000080000170 : + 80000170: 0ff0000f fence + 80000174: 00100193 li gp,1 + 80000178: 00000073 ecall + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amomin_w.elf b/test/riscv/tests/rv64ua-p-amomin_w.elf new file mode 100755 index 00000000..201e7deb Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amomin_w.elf differ diff --git a/test/riscv/tests/rv64ua-p-amominu_d.dump b/test/riscv/tests/rv64ua-p-amominu_d.dump new file mode 100644 index 00000000..c4b90c66 --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amominu_d.dump @@ -0,0 +1,125 @@ + +rv64ua-p-amominu_d: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6b023 sd a0,0(a3) + 80000110: c0b6b72f amominu.d a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71063 bne a4,t4,8000015c + +0000000080000120 : + 80000120: 0006b783 ld a5,0(a3) + 80000124: 80000eb7 lui t4,0x80000 + 80000128: 00300193 li gp,3 + 8000012c: 03d79863 bne a5,t4,8000015c + +0000000080000130 : + 80000130: fff00593 li a1,-1 + 80000134: 0006b023 sd zero,0(a3) + 80000138: c0b6b72f amominu.d a4,a1,(a3) + 8000013c: 00000e93 li t4,0 + 80000140: 00400193 li gp,4 + 80000144: 01d71c63 bne a4,t4,8000015c + +0000000080000148 : + 80000148: 0006b783 ld a5,0(a3) + 8000014c: 00000e93 li t4,0 + 80000150: 00500193 li gp,5 + 80000154: 01d79463 bne a5,t4,8000015c + 80000158: 00301c63 bne zero,gp,80000170 + +000000008000015c : + 8000015c: 0ff0000f fence + 80000160: 00018063 beqz gp,80000160 + 80000164: 00119193 slli gp,gp,0x1 + 80000168: 0011e193 ori gp,gp,1 + 8000016c: 00000073 ecall + +0000000080000170 : + 80000170: 0ff0000f fence + 80000174: 00100193 li gp,1 + 80000178: 00000073 ecall + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amominu_d.elf b/test/riscv/tests/rv64ua-p-amominu_d.elf new file mode 100755 index 00000000..a5cee277 Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amominu_d.elf differ diff --git a/test/riscv/tests/rv64ua-p-amominu_w.dump b/test/riscv/tests/rv64ua-p-amominu_w.dump new file mode 100644 index 00000000..7a80790f --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amominu_w.dump @@ -0,0 +1,125 @@ + +rv64ua-p-amominu_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6a023 sw a0,0(a3) + 80000110: c0b6a72f amominu.w a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71063 bne a4,t4,8000015c + +0000000080000120 : + 80000120: 0006a783 lw a5,0(a3) + 80000124: 80000eb7 lui t4,0x80000 + 80000128: 00300193 li gp,3 + 8000012c: 03d79863 bne a5,t4,8000015c + +0000000080000130 : + 80000130: fff00593 li a1,-1 + 80000134: 0006a023 sw zero,0(a3) + 80000138: c0b6a72f amominu.w a4,a1,(a3) + 8000013c: 00000e93 li t4,0 + 80000140: 00400193 li gp,4 + 80000144: 01d71c63 bne a4,t4,8000015c + +0000000080000148 : + 80000148: 0006a783 lw a5,0(a3) + 8000014c: 00000e93 li t4,0 + 80000150: 00500193 li gp,5 + 80000154: 01d79463 bne a5,t4,8000015c + 80000158: 00301c63 bne zero,gp,80000170 + +000000008000015c : + 8000015c: 0ff0000f fence + 80000160: 00018063 beqz gp,80000160 + 80000164: 00119193 slli gp,gp,0x1 + 80000168: 0011e193 ori gp,gp,1 + 8000016c: 00000073 ecall + +0000000080000170 : + 80000170: 0ff0000f fence + 80000174: 00100193 li gp,1 + 80000178: 00000073 ecall + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amominu_w.elf b/test/riscv/tests/rv64ua-p-amominu_w.elf new file mode 100755 index 00000000..a2b0bfdd Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amominu_w.elf differ diff --git a/test/riscv/tests/rv64ua-p-amoor_d.dump b/test/riscv/tests/rv64ua-p-amoor_d.dump new file mode 100644 index 00000000..0248704e --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amoor_d.dump @@ -0,0 +1,126 @@ + +rv64ua-p-amoor_d: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6b023 sd a0,0(a3) + 80000110: 40b6b72f amoor.d a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 03d71e63 bne a4,t4,80000158 + +0000000080000120 : + 80000120: 0006b783 ld a5,0(a3) + 80000124: 80000e93 li t4,-2048 + 80000128: 00300193 li gp,3 + 8000012c: 03d79663 bne a5,t4,80000158 + +0000000080000130 : + 80000130: 00100593 li a1,1 + 80000134: 40b6b72f amoor.d a4,a1,(a3) + 80000138: 80000e93 li t4,-2048 + 8000013c: 00400193 li gp,4 + 80000140: 01d71c63 bne a4,t4,80000158 + +0000000080000144 : + 80000144: 0006b783 ld a5,0(a3) + 80000148: 80100e93 li t4,-2047 + 8000014c: 00500193 li gp,5 + 80000150: 01d79463 bne a5,t4,80000158 + 80000154: 00301c63 bne zero,gp,8000016c + +0000000080000158 : + 80000158: 0ff0000f fence + 8000015c: 00018063 beqz gp,8000015c + 80000160: 00119193 slli gp,gp,0x1 + 80000164: 0011e193 ori gp,gp,1 + 80000168: 00000073 ecall + +000000008000016c : + 8000016c: 0ff0000f fence + 80000170: 00100193 li gp,1 + 80000174: 00000073 ecall + 80000178: c0001073 unimp + 8000017c: 0000 unimp + 8000017e: 0000 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amoor_d.elf b/test/riscv/tests/rv64ua-p-amoor_d.elf new file mode 100755 index 00000000..3549d35f Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amoor_d.elf differ diff --git a/test/riscv/tests/rv64ua-p-amoor_w.dump b/test/riscv/tests/rv64ua-p-amoor_w.dump new file mode 100644 index 00000000..d20d20a6 --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amoor_w.dump @@ -0,0 +1,126 @@ + +rv64ua-p-amoor_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6a023 sw a0,0(a3) + 80000110: 40b6a72f amoor.w a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 03d71e63 bne a4,t4,80000158 + +0000000080000120 : + 80000120: 0006a783 lw a5,0(a3) + 80000124: 80000e93 li t4,-2048 + 80000128: 00300193 li gp,3 + 8000012c: 03d79663 bne a5,t4,80000158 + +0000000080000130 : + 80000130: 00100593 li a1,1 + 80000134: 40b6a72f amoor.w a4,a1,(a3) + 80000138: 80000e93 li t4,-2048 + 8000013c: 00400193 li gp,4 + 80000140: 01d71c63 bne a4,t4,80000158 + +0000000080000144 : + 80000144: 0006a783 lw a5,0(a3) + 80000148: 80100e93 li t4,-2047 + 8000014c: 00500193 li gp,5 + 80000150: 01d79463 bne a5,t4,80000158 + 80000154: 00301c63 bne zero,gp,8000016c + +0000000080000158 : + 80000158: 0ff0000f fence + 8000015c: 00018063 beqz gp,8000015c + 80000160: 00119193 slli gp,gp,0x1 + 80000164: 0011e193 ori gp,gp,1 + 80000168: 00000073 ecall + +000000008000016c : + 8000016c: 0ff0000f fence + 80000170: 00100193 li gp,1 + 80000174: 00000073 ecall + 80000178: c0001073 unimp + 8000017c: 0000 unimp + 8000017e: 0000 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amoor_w.elf b/test/riscv/tests/rv64ua-p-amoor_w.elf new file mode 100755 index 00000000..4e408f28 Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amoor_w.elf differ diff --git a/test/riscv/tests/rv64ua-p-amoswap_d.dump b/test/riscv/tests/rv64ua-p-amoswap_d.dump new file mode 100644 index 00000000..f61e23bd --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amoswap_d.dump @@ -0,0 +1,124 @@ + +rv64ua-p-amoswap_d: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6b023 sd a0,0(a3) + 80000110: 08b6b72f amoswap.d a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71263 bne a4,t4,80000160 + +0000000080000120 : + 80000120: 0006b783 ld a5,0(a3) + 80000124: 80000e93 li t4,-2048 + 80000128: 00300193 li gp,3 + 8000012c: 03d79a63 bne a5,t4,80000160 + +0000000080000130 : + 80000130: 0010059b addiw a1,zero,1 + 80000134: 01f59593 slli a1,a1,0x1f + 80000138: 08b6b72f amoswap.d a4,a1,(a3) + 8000013c: 80000e93 li t4,-2048 + 80000140: 00400193 li gp,4 + 80000144: 01d71e63 bne a4,t4,80000160 + +0000000080000148 : + 80000148: 0006b783 ld a5,0(a3) + 8000014c: 00100e9b addiw t4,zero,1 + 80000150: 01fe9e93 slli t4,t4,0x1f + 80000154: 00500193 li gp,5 + 80000158: 01d79463 bne a5,t4,80000160 + 8000015c: 00301c63 bne zero,gp,80000174 + +0000000080000160 : + 80000160: 0ff0000f fence + 80000164: 00018063 beqz gp,80000164 + 80000168: 00119193 slli gp,gp,0x1 + 8000016c: 0011e193 ori gp,gp,1 + 80000170: 00000073 ecall + +0000000080000174 : + 80000174: 0ff0000f fence + 80000178: 00100193 li gp,1 + 8000017c: 00000073 ecall + 80000180: c0001073 unimp diff --git a/test/riscv/tests/rv64ua-p-amoswap_d.elf b/test/riscv/tests/rv64ua-p-amoswap_d.elf new file mode 100755 index 00000000..642c648d Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amoswap_d.elf differ diff --git a/test/riscv/tests/rv64ua-p-amoswap_w.dump b/test/riscv/tests/rv64ua-p-amoswap_w.dump new file mode 100644 index 00000000..e43f3820 --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amoswap_w.dump @@ -0,0 +1,125 @@ + +rv64ua-p-amoswap_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6a023 sw a0,0(a3) + 80000110: 08b6a72f amoswap.w a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71063 bne a4,t4,8000015c + +0000000080000120 : + 80000120: 0006a783 lw a5,0(a3) + 80000124: 80000e93 li t4,-2048 + 80000128: 00300193 li gp,3 + 8000012c: 03d79863 bne a5,t4,8000015c + +0000000080000130 : + 80000130: 0010059b addiw a1,zero,1 + 80000134: 01f59593 slli a1,a1,0x1f + 80000138: 08b6a72f amoswap.w a4,a1,(a3) + 8000013c: 80000e93 li t4,-2048 + 80000140: 00400193 li gp,4 + 80000144: 01d71c63 bne a4,t4,8000015c + +0000000080000148 : + 80000148: 0006a783 lw a5,0(a3) + 8000014c: 80000eb7 lui t4,0x80000 + 80000150: 00500193 li gp,5 + 80000154: 01d79463 bne a5,t4,8000015c + 80000158: 00301c63 bne zero,gp,80000170 + +000000008000015c : + 8000015c: 0ff0000f fence + 80000160: 00018063 beqz gp,80000160 + 80000164: 00119193 slli gp,gp,0x1 + 80000168: 0011e193 ori gp,gp,1 + 8000016c: 00000073 ecall + +0000000080000170 : + 80000170: 0ff0000f fence + 80000174: 00100193 li gp,1 + 80000178: 00000073 ecall + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amoswap_w.elf b/test/riscv/tests/rv64ua-p-amoswap_w.elf new file mode 100755 index 00000000..e0b9e58e Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amoswap_w.elf differ diff --git a/test/riscv/tests/rv64ua-p-amoxor_d.dump b/test/riscv/tests/rv64ua-p-amoxor_d.dump new file mode 100644 index 00000000..992a22e1 --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amoxor_d.dump @@ -0,0 +1,155 @@ + +rv64ua-p-amoxor_d: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6b023 sd a0,0(a3) + 80000110: 20b6b72f amoxor.d a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71463 bne a4,t4,80000164 + +0000000080000120 : + 80000120: 0006b783 ld a5,0(a3) + 80000124: 80000eb7 lui t4,0x80000 + 80000128: 800e8e9b addiw t4,t4,-2048 + 8000012c: 00300193 li gp,3 + 80000130: 03d79a63 bne a5,t4,80000164 + +0000000080000134 : + 80000134: 00100593 li a1,1 + 80000138: 20b6b72f amoxor.d a4,a1,(a3) + 8000013c: 80000eb7 lui t4,0x80000 + 80000140: 800e8e9b addiw t4,t4,-2048 + 80000144: 00400193 li gp,4 + 80000148: 01d71e63 bne a4,t4,80000164 + +000000008000014c : + 8000014c: 0006b783 ld a5,0(a3) + 80000150: 80000eb7 lui t4,0x80000 + 80000154: 801e8e9b addiw t4,t4,-2047 + 80000158: 00500193 li gp,5 + 8000015c: 01d79463 bne a5,t4,80000164 + 80000160: 00301c63 bne zero,gp,80000178 + +0000000080000164 : + 80000164: 0ff0000f fence + 80000168: 00018063 beqz gp,80000168 + 8000016c: 00119193 slli gp,gp,0x1 + 80000170: 0011e193 ori gp,gp,1 + 80000174: 00000073 ecall + +0000000080000178 : + 80000178: 0ff0000f fence + 8000017c: 00100193 li gp,1 + 80000180: 00000073 ecall + 80000184: c0001073 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 + 800001bc: 0000 unimp + 800001be: 0000 unimp + 800001c0: 0000 unimp + 800001c2: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-amoxor_d.elf b/test/riscv/tests/rv64ua-p-amoxor_d.elf new file mode 100755 index 00000000..a04e1f1c Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amoxor_d.elf differ diff --git a/test/riscv/tests/rv64ua-p-amoxor_w.dump b/test/riscv/tests/rv64ua-p-amoxor_w.dump new file mode 100644 index 00000000..6bca3f65 --- /dev/null +++ b/test/riscv/tests/rv64ua-p-amoxor_w.dump @@ -0,0 +1,153 @@ + +rv64ua-p-amoxor_w: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 80000537 lui a0,0x80000 + 80000100: 80000593 li a1,-2048 + 80000104: 00002697 auipc a3,0x2 + 80000108: efc68693 addi a3,a3,-260 # 80002000 + 8000010c: 00a6a023 sw a0,0(a3) + 80000110: 20b6a72f amoxor.w a4,a1,(a3) + 80000114: 80000eb7 lui t4,0x80000 + 80000118: 00200193 li gp,2 + 8000011c: 05d71863 bne a4,t4,8000016c + +0000000080000120 : + 80000120: 0006a783 lw a5,0(a3) + 80000124: 80000eb7 lui t4,0x80000 + 80000128: 800e8e9b addiw t4,t4,-2048 + 8000012c: 00300193 li gp,3 + 80000130: 03d79e63 bne a5,t4,8000016c + +0000000080000134 : + 80000134: 0030059b addiw a1,zero,3 + 80000138: 01e59593 slli a1,a1,0x1e + 8000013c: 00158593 addi a1,a1,1 + 80000140: 20b6a72f amoxor.w a4,a1,(a3) + 80000144: 80000eb7 lui t4,0x80000 + 80000148: 800e8e9b addiw t4,t4,-2048 + 8000014c: 00400193 li gp,4 + 80000150: 01d71e63 bne a4,t4,8000016c + +0000000080000154 : + 80000154: 0006a783 lw a5,0(a3) + 80000158: c0000eb7 lui t4,0xc0000 + 8000015c: 801e8e9b addiw t4,t4,-2047 + 80000160: 00500193 li gp,5 + 80000164: 01d79463 bne a5,t4,8000016c + 80000168: 00301c63 bne zero,gp,80000180 + +000000008000016c : + 8000016c: 0ff0000f fence + 80000170: 00018063 beqz gp,80000170 + 80000174: 00119193 slli gp,gp,0x1 + 80000178: 0011e193 ori gp,gp,1 + 8000017c: 00000073 ecall + +0000000080000180 : + 80000180: 0ff0000f fence + 80000184: 00100193 li gp,1 + 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/test/riscv/tests/rv64ua-p-amoxor_w.elf b/test/riscv/tests/rv64ua-p-amoxor_w.elf new file mode 100755 index 00000000..fc27683f Binary files /dev/null and b/test/riscv/tests/rv64ua-p-amoxor_w.elf differ diff --git a/test/riscv/tests/rv64ua-p-lrsc.dump b/test/riscv/tests/rv64ua-p-lrsc.dump new file mode 100644 index 00000000..4aec511e --- /dev/null +++ b/test/riscv/tests/rv64ua-p-lrsc.dump @@ -0,0 +1,178 @@ + +rv64ua-p-lrsc: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + 800000fc: 00002517 auipc a0,0x2 + 80000100: f0450513 addi a0,a0,-252 # 80002000 + 80000104: 00100593 li a1,1 + 80000108: 00b5262f amoadd.w a2,a1,(a0) + 8000010c: 00100693 li a3,1 + 80000110: fed67ee3 bleu a3,a2,8000010c + 80000114: 00052583 lw a1,0(a0) + 80000118: fed5eee3 bltu a1,a3,80000114 + +000000008000011c : + 8000011c: 00002517 auipc a0,0x2 + 80000120: eec50513 addi a0,a0,-276 # 80002008 + 80000124: 1805272f sc.w a4,zero,(a0) + 80000128: 00100e93 li t4,1 + 8000012c: 00200193 li gp,2 + 80000130: 09d71863 bne a4,t4,800001c0 + +0000000080000134 : + 80000134: 00002517 auipc a0,0x2 + 80000138: ed450513 addi a0,a0,-300 # 80002008 + 8000013c: 40050593 addi a1,a0,1024 + 80000140: 1005a5af lr.w a1,(a1) + 80000144: 18b5272f sc.w a4,a1,(a0) + 80000148: 00100e93 li t4,1 + 8000014c: 00300193 li gp,3 + 80000150: 07d71863 bne a4,t4,800001c0 + 80000154: 00002517 auipc a0,0x2 + 80000158: eb450513 addi a0,a0,-332 # 80002008 + 8000015c: 40000593 li a1,1024 + 80000160: 00160613 addi a2,a2,1 + 80000164: 1005272f lr.w a4,(a0) + 80000168: 00c70733 add a4,a4,a2 + 8000016c: 18e5272f sc.w a4,a4,(a0) + 80000170: fe071ae3 bnez a4,80000164 + 80000174: fff58593 addi a1,a1,-1 + 80000178: fe0596e3 bnez a1,80000164 + 8000017c: 00002517 auipc a0,0x2 + 80000180: e8850513 addi a0,a0,-376 # 80002004 + 80000184: 00100593 li a1,1 + 80000188: 00b5202f amoadd.w zero,a1,(a0) + 8000018c: 00052583 lw a1,0(a0) + 80000190: fed5cee3 blt a1,a3,8000018c + 80000194: 0ff0000f fence + +0000000080000198 : + 80000198: 00002517 auipc a0,0x2 + 8000019c: e7052503 lw a0,-400(a0) # 80002008 + 800001a0: 00969593 slli a1,a3,0x9 + 800001a4: 40b50533 sub a0,a0,a1 + 800001a8: fff68693 addi a3,a3,-1 + 800001ac: fe06dce3 bgez a3,800001a4 + 800001b0: 00000e93 li t4,0 + 800001b4: 00400193 li gp,4 + 800001b8: 01d51463 bne a0,t4,800001c0 + 800001bc: 00301c63 bne zero,gp,800001d4 + +00000000800001c0 : + 800001c0: 0ff0000f fence + 800001c4: 00018063 beqz gp,800001c4 + 800001c8: 00119193 slli gp,gp,0x1 + 800001cc: 0011e193 ori gp,gp,1 + 800001d0: 00000073 ecall + +00000000800001d4 : + 800001d4: 0ff0000f fence + 800001d8: 00100193 li gp,1 + 800001dc: 00000073 ecall + 800001e0: c0001073 unimp + 800001e4: 0000 unimp + 800001e6: 0000 unimp + 800001e8: 0000 unimp + 800001ea: 0000 unimp + 800001ec: 0000 unimp + 800001ee: 0000 unimp + 800001f0: 0000 unimp + 800001f2: 0000 unimp + 800001f4: 0000 unimp + 800001f6: 0000 unimp + 800001f8: 0000 unimp + 800001fa: 0000 unimp + 800001fc: 0000 unimp + 800001fe: 0000 unimp + 80000200: 0000 unimp + 80000202: 0000 unimp + +Disassembly of section .data: + +0000000080002000 : + 80002000: 0000 unimp + 80002002: 0000 unimp + +0000000080002004 : + 80002004: 0000 unimp + 80002006: 0000 unimp + +0000000080002008 : + 80002008: 0000 unimp + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 0000 unimp diff --git a/test/riscv/tests/rv64ua-p-lrsc.elf b/test/riscv/tests/rv64ua-p-lrsc.elf new file mode 100755 index 00000000..f9b7fc2e Binary files /dev/null and b/test/riscv/tests/rv64ua-p-lrsc.elf differ diff --git a/test/riscv/tests/rv64uc-p-rvc.dump b/test/riscv/tests/rv64uc-p-rvc.dump new file mode 100644 index 00000000..616e38fe --- /dev/null +++ b/test/riscv/tests/rv64uc-p-rvc.dump @@ -0,0 +1,4878 @@ + +rv64uc-p-rvc: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00003f17 auipc t5,0x3 + 80000044: fc3f2023 sw gp,-64(t5) # 80003000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + 800000fc: 00200193 li gp,2 + 80000100: 29a00593 li a1,666 + +0000000080000104 : + 80000104: 6fb0106f j 80001ffe + +0000000080000108 : + 80000108: 3210 fld fa2,32(a2) + 8000010a: 7654 ld a3,168(a2) + 8000010c: ba98 fsd fa4,48(a3) + 8000010e: fedc sd a5,184(a3) + 80000110: 3210 fld fa2,32(a2) + 80000112: 7654 ld a3,168(a2) + 80000114: ba98 fsd fa4,48(a3) + 80000116: fedc sd a5,184(a3) + 80000118: 00000013 nop + 8000011c: 00000013 nop + 80000120: 00000013 nop + 80000124: 00000013 nop + 80000128: 00000013 nop + 8000012c: 00000013 nop + 80000130: 00000013 nop + 80000134: 00000013 nop + 80000138: 00000013 nop + 8000013c: 00000013 nop + 80000140: 00000013 nop + 80000144: 00000013 nop + 80000148: 00000013 nop + 8000014c: 00000013 nop + 80000150: 00000013 nop + 80000154: 00000013 nop + 80000158: 00000013 nop + 8000015c: 00000013 nop + 80000160: 00000013 nop + 80000164: 00000013 nop + 80000168: 00000013 nop + 8000016c: 00000013 nop + 80000170: 00000013 nop + 80000174: 00000013 nop + 80000178: 00000013 nop + 8000017c: 00000013 nop + 80000180: 00000013 nop + 80000184: 00000013 nop + 80000188: 00000013 nop + 8000018c: 00000013 nop + 80000190: 00000013 nop + 80000194: 00000013 nop + 80000198: 00000013 nop + 8000019c: 00000013 nop + 800001a0: 00000013 nop + 800001a4: 00000013 nop + 800001a8: 00000013 nop + 800001ac: 00000013 nop + 800001b0: 00000013 nop + 800001b4: 00000013 nop + 800001b8: 00000013 nop + 800001bc: 00000013 nop + 800001c0: 00000013 nop + 800001c4: 00000013 nop + 800001c8: 00000013 nop + 800001cc: 00000013 nop + 800001d0: 00000013 nop + 800001d4: 00000013 nop + 800001d8: 00000013 nop + 800001dc: 00000013 nop + 800001e0: 00000013 nop + 800001e4: 00000013 nop + 800001e8: 00000013 nop + 800001ec: 00000013 nop + 800001f0: 00000013 nop + 800001f4: 00000013 nop + 800001f8: 00000013 nop + 800001fc: 00000013 nop + 80000200: 00000013 nop + 80000204: 00000013 nop + 80000208: 00000013 nop + 8000020c: 00000013 nop + 80000210: 00000013 nop + 80000214: 00000013 nop + 80000218: 00000013 nop + 8000021c: 00000013 nop + 80000220: 00000013 nop + 80000224: 00000013 nop + 80000228: 00000013 nop + 8000022c: 00000013 nop + 80000230: 00000013 nop + 80000234: 00000013 nop + 80000238: 00000013 nop + 8000023c: 00000013 nop + 80000240: 00000013 nop + 80000244: 00000013 nop + 80000248: 00000013 nop + 8000024c: 00000013 nop + 80000250: 00000013 nop + 80000254: 00000013 nop + 80000258: 00000013 nop + 8000025c: 00000013 nop + 80000260: 00000013 nop + 80000264: 00000013 nop + 80000268: 00000013 nop + 8000026c: 00000013 nop + 80000270: 00000013 nop + 80000274: 00000013 nop + 80000278: 00000013 nop + 8000027c: 00000013 nop + 80000280: 00000013 nop + 80000284: 00000013 nop + 80000288: 00000013 nop + 8000028c: 00000013 nop + 80000290: 00000013 nop + 80000294: 00000013 nop + 80000298: 00000013 nop + 8000029c: 00000013 nop + 800002a0: 00000013 nop + 800002a4: 00000013 nop + 800002a8: 00000013 nop + 800002ac: 00000013 nop + 800002b0: 00000013 nop + 800002b4: 00000013 nop + 800002b8: 00000013 nop + 800002bc: 00000013 nop + 800002c0: 00000013 nop + 800002c4: 00000013 nop + 800002c8: 00000013 nop + 800002cc: 00000013 nop + 800002d0: 00000013 nop + 800002d4: 00000013 nop + 800002d8: 00000013 nop + 800002dc: 00000013 nop + 800002e0: 00000013 nop + 800002e4: 00000013 nop + 800002e8: 00000013 nop + 800002ec: 00000013 nop + 800002f0: 00000013 nop + 800002f4: 00000013 nop + 800002f8: 00000013 nop + 800002fc: 00000013 nop + 80000300: 00000013 nop + 80000304: 00000013 nop + 80000308: 00000013 nop + 8000030c: 00000013 nop + 80000310: 00000013 nop + 80000314: 00000013 nop + 80000318: 00000013 nop + 8000031c: 00000013 nop + 80000320: 00000013 nop + 80000324: 00000013 nop + 80000328: 00000013 nop + 8000032c: 00000013 nop + 80000330: 00000013 nop + 80000334: 00000013 nop + 80000338: 00000013 nop + 8000033c: 00000013 nop + 80000340: 00000013 nop + 80000344: 00000013 nop + 80000348: 00000013 nop + 8000034c: 00000013 nop + 80000350: 00000013 nop + 80000354: 00000013 nop + 80000358: 00000013 nop + 8000035c: 00000013 nop + 80000360: 00000013 nop + 80000364: 00000013 nop + 80000368: 00000013 nop + 8000036c: 00000013 nop + 80000370: 00000013 nop + 80000374: 00000013 nop + 80000378: 00000013 nop + 8000037c: 00000013 nop + 80000380: 00000013 nop + 80000384: 00000013 nop + 80000388: 00000013 nop + 8000038c: 00000013 nop + 80000390: 00000013 nop + 80000394: 00000013 nop + 80000398: 00000013 nop + 8000039c: 00000013 nop + 800003a0: 00000013 nop + 800003a4: 00000013 nop + 800003a8: 00000013 nop + 800003ac: 00000013 nop + 800003b0: 00000013 nop + 800003b4: 00000013 nop + 800003b8: 00000013 nop + 800003bc: 00000013 nop + 800003c0: 00000013 nop + 800003c4: 00000013 nop + 800003c8: 00000013 nop + 800003cc: 00000013 nop + 800003d0: 00000013 nop + 800003d4: 00000013 nop + 800003d8: 00000013 nop + 800003dc: 00000013 nop + 800003e0: 00000013 nop + 800003e4: 00000013 nop + 800003e8: 00000013 nop + 800003ec: 00000013 nop + 800003f0: 00000013 nop + 800003f4: 00000013 nop + 800003f8: 00000013 nop + 800003fc: 00000013 nop + 80000400: 00000013 nop + 80000404: 00000013 nop + 80000408: 00000013 nop + 8000040c: 00000013 nop + 80000410: 00000013 nop + 80000414: 00000013 nop + 80000418: 00000013 nop + 8000041c: 00000013 nop + 80000420: 00000013 nop + 80000424: 00000013 nop + 80000428: 00000013 nop + 8000042c: 00000013 nop + 80000430: 00000013 nop + 80000434: 00000013 nop + 80000438: 00000013 nop + 8000043c: 00000013 nop + 80000440: 00000013 nop + 80000444: 00000013 nop + 80000448: 00000013 nop + 8000044c: 00000013 nop + 80000450: 00000013 nop + 80000454: 00000013 nop + 80000458: 00000013 nop + 8000045c: 00000013 nop + 80000460: 00000013 nop + 80000464: 00000013 nop + 80000468: 00000013 nop + 8000046c: 00000013 nop + 80000470: 00000013 nop + 80000474: 00000013 nop + 80000478: 00000013 nop + 8000047c: 00000013 nop + 80000480: 00000013 nop + 80000484: 00000013 nop + 80000488: 00000013 nop + 8000048c: 00000013 nop + 80000490: 00000013 nop + 80000494: 00000013 nop + 80000498: 00000013 nop + 8000049c: 00000013 nop + 800004a0: 00000013 nop + 800004a4: 00000013 nop + 800004a8: 00000013 nop + 800004ac: 00000013 nop + 800004b0: 00000013 nop + 800004b4: 00000013 nop + 800004b8: 00000013 nop + 800004bc: 00000013 nop + 800004c0: 00000013 nop + 800004c4: 00000013 nop + 800004c8: 00000013 nop + 800004cc: 00000013 nop + 800004d0: 00000013 nop + 800004d4: 00000013 nop + 800004d8: 00000013 nop + 800004dc: 00000013 nop + 800004e0: 00000013 nop + 800004e4: 00000013 nop + 800004e8: 00000013 nop + 800004ec: 00000013 nop + 800004f0: 00000013 nop + 800004f4: 00000013 nop + 800004f8: 00000013 nop + 800004fc: 00000013 nop + 80000500: 00000013 nop + 80000504: 00000013 nop + 80000508: 00000013 nop + 8000050c: 00000013 nop + 80000510: 00000013 nop + 80000514: 00000013 nop + 80000518: 00000013 nop + 8000051c: 00000013 nop + 80000520: 00000013 nop + 80000524: 00000013 nop + 80000528: 00000013 nop + 8000052c: 00000013 nop + 80000530: 00000013 nop + 80000534: 00000013 nop + 80000538: 00000013 nop + 8000053c: 00000013 nop + 80000540: 00000013 nop + 80000544: 00000013 nop + 80000548: 00000013 nop + 8000054c: 00000013 nop + 80000550: 00000013 nop + 80000554: 00000013 nop + 80000558: 00000013 nop + 8000055c: 00000013 nop + 80000560: 00000013 nop + 80000564: 00000013 nop + 80000568: 00000013 nop + 8000056c: 00000013 nop + 80000570: 00000013 nop + 80000574: 00000013 nop + 80000578: 00000013 nop + 8000057c: 00000013 nop + 80000580: 00000013 nop + 80000584: 00000013 nop + 80000588: 00000013 nop + 8000058c: 00000013 nop + 80000590: 00000013 nop + 80000594: 00000013 nop + 80000598: 00000013 nop + 8000059c: 00000013 nop + 800005a0: 00000013 nop + 800005a4: 00000013 nop + 800005a8: 00000013 nop + 800005ac: 00000013 nop + 800005b0: 00000013 nop + 800005b4: 00000013 nop + 800005b8: 00000013 nop + 800005bc: 00000013 nop + 800005c0: 00000013 nop + 800005c4: 00000013 nop + 800005c8: 00000013 nop + 800005cc: 00000013 nop + 800005d0: 00000013 nop + 800005d4: 00000013 nop + 800005d8: 00000013 nop + 800005dc: 00000013 nop + 800005e0: 00000013 nop + 800005e4: 00000013 nop + 800005e8: 00000013 nop + 800005ec: 00000013 nop + 800005f0: 00000013 nop + 800005f4: 00000013 nop + 800005f8: 00000013 nop + 800005fc: 00000013 nop + 80000600: 00000013 nop + 80000604: 00000013 nop + 80000608: 00000013 nop + 8000060c: 00000013 nop + 80000610: 00000013 nop + 80000614: 00000013 nop + 80000618: 00000013 nop + 8000061c: 00000013 nop + 80000620: 00000013 nop + 80000624: 00000013 nop + 80000628: 00000013 nop + 8000062c: 00000013 nop + 80000630: 00000013 nop + 80000634: 00000013 nop + 80000638: 00000013 nop + 8000063c: 00000013 nop + 80000640: 00000013 nop + 80000644: 00000013 nop + 80000648: 00000013 nop + 8000064c: 00000013 nop + 80000650: 00000013 nop + 80000654: 00000013 nop + 80000658: 00000013 nop + 8000065c: 00000013 nop + 80000660: 00000013 nop + 80000664: 00000013 nop + 80000668: 00000013 nop + 8000066c: 00000013 nop + 80000670: 00000013 nop + 80000674: 00000013 nop + 80000678: 00000013 nop + 8000067c: 00000013 nop + 80000680: 00000013 nop + 80000684: 00000013 nop + 80000688: 00000013 nop + 8000068c: 00000013 nop + 80000690: 00000013 nop + 80000694: 00000013 nop + 80000698: 00000013 nop + 8000069c: 00000013 nop + 800006a0: 00000013 nop + 800006a4: 00000013 nop + 800006a8: 00000013 nop + 800006ac: 00000013 nop + 800006b0: 00000013 nop + 800006b4: 00000013 nop + 800006b8: 00000013 nop + 800006bc: 00000013 nop + 800006c0: 00000013 nop + 800006c4: 00000013 nop + 800006c8: 00000013 nop + 800006cc: 00000013 nop + 800006d0: 00000013 nop + 800006d4: 00000013 nop + 800006d8: 00000013 nop + 800006dc: 00000013 nop + 800006e0: 00000013 nop + 800006e4: 00000013 nop + 800006e8: 00000013 nop + 800006ec: 00000013 nop + 800006f0: 00000013 nop + 800006f4: 00000013 nop + 800006f8: 00000013 nop + 800006fc: 00000013 nop + 80000700: 00000013 nop + 80000704: 00000013 nop + 80000708: 00000013 nop + 8000070c: 00000013 nop + 80000710: 00000013 nop + 80000714: 00000013 nop + 80000718: 00000013 nop + 8000071c: 00000013 nop + 80000720: 00000013 nop + 80000724: 00000013 nop + 80000728: 00000013 nop + 8000072c: 00000013 nop + 80000730: 00000013 nop + 80000734: 00000013 nop + 80000738: 00000013 nop + 8000073c: 00000013 nop + 80000740: 00000013 nop + 80000744: 00000013 nop + 80000748: 00000013 nop + 8000074c: 00000013 nop + 80000750: 00000013 nop + 80000754: 00000013 nop + 80000758: 00000013 nop + 8000075c: 00000013 nop + 80000760: 00000013 nop + 80000764: 00000013 nop + 80000768: 00000013 nop + 8000076c: 00000013 nop + 80000770: 00000013 nop + 80000774: 00000013 nop + 80000778: 00000013 nop + 8000077c: 00000013 nop + 80000780: 00000013 nop + 80000784: 00000013 nop + 80000788: 00000013 nop + 8000078c: 00000013 nop + 80000790: 00000013 nop + 80000794: 00000013 nop + 80000798: 00000013 nop + 8000079c: 00000013 nop + 800007a0: 00000013 nop + 800007a4: 00000013 nop + 800007a8: 00000013 nop + 800007ac: 00000013 nop + 800007b0: 00000013 nop + 800007b4: 00000013 nop + 800007b8: 00000013 nop + 800007bc: 00000013 nop + 800007c0: 00000013 nop + 800007c4: 00000013 nop + 800007c8: 00000013 nop + 800007cc: 00000013 nop + 800007d0: 00000013 nop + 800007d4: 00000013 nop + 800007d8: 00000013 nop + 800007dc: 00000013 nop + 800007e0: 00000013 nop + 800007e4: 00000013 nop + 800007e8: 00000013 nop + 800007ec: 00000013 nop + 800007f0: 00000013 nop + 800007f4: 00000013 nop + 800007f8: 00000013 nop + 800007fc: 00000013 nop + 80000800: 00000013 nop + 80000804: 00000013 nop + 80000808: 00000013 nop + 8000080c: 00000013 nop + 80000810: 00000013 nop + 80000814: 00000013 nop + 80000818: 00000013 nop + 8000081c: 00000013 nop + 80000820: 00000013 nop + 80000824: 00000013 nop + 80000828: 00000013 nop + 8000082c: 00000013 nop + 80000830: 00000013 nop + 80000834: 00000013 nop + 80000838: 00000013 nop + 8000083c: 00000013 nop + 80000840: 00000013 nop + 80000844: 00000013 nop + 80000848: 00000013 nop + 8000084c: 00000013 nop + 80000850: 00000013 nop + 80000854: 00000013 nop + 80000858: 00000013 nop + 8000085c: 00000013 nop + 80000860: 00000013 nop + 80000864: 00000013 nop + 80000868: 00000013 nop + 8000086c: 00000013 nop + 80000870: 00000013 nop + 80000874: 00000013 nop + 80000878: 00000013 nop + 8000087c: 00000013 nop + 80000880: 00000013 nop + 80000884: 00000013 nop + 80000888: 00000013 nop + 8000088c: 00000013 nop + 80000890: 00000013 nop + 80000894: 00000013 nop + 80000898: 00000013 nop + 8000089c: 00000013 nop + 800008a0: 00000013 nop + 800008a4: 00000013 nop + 800008a8: 00000013 nop + 800008ac: 00000013 nop + 800008b0: 00000013 nop + 800008b4: 00000013 nop + 800008b8: 00000013 nop + 800008bc: 00000013 nop + 800008c0: 00000013 nop + 800008c4: 00000013 nop + 800008c8: 00000013 nop + 800008cc: 00000013 nop + 800008d0: 00000013 nop + 800008d4: 00000013 nop + 800008d8: 00000013 nop + 800008dc: 00000013 nop + 800008e0: 00000013 nop + 800008e4: 00000013 nop + 800008e8: 00000013 nop + 800008ec: 00000013 nop + 800008f0: 00000013 nop + 800008f4: 00000013 nop + 800008f8: 00000013 nop + 800008fc: 00000013 nop + 80000900: 00000013 nop + 80000904: 00000013 nop + 80000908: 00000013 nop + 8000090c: 00000013 nop + 80000910: 00000013 nop + 80000914: 00000013 nop + 80000918: 00000013 nop + 8000091c: 00000013 nop + 80000920: 00000013 nop + 80000924: 00000013 nop + 80000928: 00000013 nop + 8000092c: 00000013 nop + 80000930: 00000013 nop + 80000934: 00000013 nop + 80000938: 00000013 nop + 8000093c: 00000013 nop + 80000940: 00000013 nop + 80000944: 00000013 nop + 80000948: 00000013 nop + 8000094c: 00000013 nop + 80000950: 00000013 nop + 80000954: 00000013 nop + 80000958: 00000013 nop + 8000095c: 00000013 nop + 80000960: 00000013 nop + 80000964: 00000013 nop + 80000968: 00000013 nop + 8000096c: 00000013 nop + 80000970: 00000013 nop + 80000974: 00000013 nop + 80000978: 00000013 nop + 8000097c: 00000013 nop + 80000980: 00000013 nop + 80000984: 00000013 nop + 80000988: 00000013 nop + 8000098c: 00000013 nop + 80000990: 00000013 nop + 80000994: 00000013 nop + 80000998: 00000013 nop + 8000099c: 00000013 nop + 800009a0: 00000013 nop + 800009a4: 00000013 nop + 800009a8: 00000013 nop + 800009ac: 00000013 nop + 800009b0: 00000013 nop + 800009b4: 00000013 nop + 800009b8: 00000013 nop + 800009bc: 00000013 nop + 800009c0: 00000013 nop + 800009c4: 00000013 nop + 800009c8: 00000013 nop + 800009cc: 00000013 nop + 800009d0: 00000013 nop + 800009d4: 00000013 nop + 800009d8: 00000013 nop + 800009dc: 00000013 nop + 800009e0: 00000013 nop + 800009e4: 00000013 nop + 800009e8: 00000013 nop + 800009ec: 00000013 nop + 800009f0: 00000013 nop + 800009f4: 00000013 nop + 800009f8: 00000013 nop + 800009fc: 00000013 nop + 80000a00: 00000013 nop + 80000a04: 00000013 nop + 80000a08: 00000013 nop + 80000a0c: 00000013 nop + 80000a10: 00000013 nop + 80000a14: 00000013 nop + 80000a18: 00000013 nop + 80000a1c: 00000013 nop + 80000a20: 00000013 nop + 80000a24: 00000013 nop + 80000a28: 00000013 nop + 80000a2c: 00000013 nop + 80000a30: 00000013 nop + 80000a34: 00000013 nop + 80000a38: 00000013 nop + 80000a3c: 00000013 nop + 80000a40: 00000013 nop + 80000a44: 00000013 nop + 80000a48: 00000013 nop + 80000a4c: 00000013 nop + 80000a50: 00000013 nop + 80000a54: 00000013 nop + 80000a58: 00000013 nop + 80000a5c: 00000013 nop + 80000a60: 00000013 nop + 80000a64: 00000013 nop + 80000a68: 00000013 nop + 80000a6c: 00000013 nop + 80000a70: 00000013 nop + 80000a74: 00000013 nop + 80000a78: 00000013 nop + 80000a7c: 00000013 nop + 80000a80: 00000013 nop + 80000a84: 00000013 nop + 80000a88: 00000013 nop + 80000a8c: 00000013 nop + 80000a90: 00000013 nop + 80000a94: 00000013 nop + 80000a98: 00000013 nop + 80000a9c: 00000013 nop + 80000aa0: 00000013 nop + 80000aa4: 00000013 nop + 80000aa8: 00000013 nop + 80000aac: 00000013 nop + 80000ab0: 00000013 nop + 80000ab4: 00000013 nop + 80000ab8: 00000013 nop + 80000abc: 00000013 nop + 80000ac0: 00000013 nop + 80000ac4: 00000013 nop + 80000ac8: 00000013 nop + 80000acc: 00000013 nop + 80000ad0: 00000013 nop + 80000ad4: 00000013 nop + 80000ad8: 00000013 nop + 80000adc: 00000013 nop + 80000ae0: 00000013 nop + 80000ae4: 00000013 nop + 80000ae8: 00000013 nop + 80000aec: 00000013 nop + 80000af0: 00000013 nop + 80000af4: 00000013 nop + 80000af8: 00000013 nop + 80000afc: 00000013 nop + 80000b00: 00000013 nop + 80000b04: 00000013 nop + 80000b08: 00000013 nop + 80000b0c: 00000013 nop + 80000b10: 00000013 nop + 80000b14: 00000013 nop + 80000b18: 00000013 nop + 80000b1c: 00000013 nop + 80000b20: 00000013 nop + 80000b24: 00000013 nop + 80000b28: 00000013 nop + 80000b2c: 00000013 nop + 80000b30: 00000013 nop + 80000b34: 00000013 nop + 80000b38: 00000013 nop + 80000b3c: 00000013 nop + 80000b40: 00000013 nop + 80000b44: 00000013 nop + 80000b48: 00000013 nop + 80000b4c: 00000013 nop + 80000b50: 00000013 nop + 80000b54: 00000013 nop + 80000b58: 00000013 nop + 80000b5c: 00000013 nop + 80000b60: 00000013 nop + 80000b64: 00000013 nop + 80000b68: 00000013 nop + 80000b6c: 00000013 nop + 80000b70: 00000013 nop + 80000b74: 00000013 nop + 80000b78: 00000013 nop + 80000b7c: 00000013 nop + 80000b80: 00000013 nop + 80000b84: 00000013 nop + 80000b88: 00000013 nop + 80000b8c: 00000013 nop + 80000b90: 00000013 nop + 80000b94: 00000013 nop + 80000b98: 00000013 nop + 80000b9c: 00000013 nop + 80000ba0: 00000013 nop + 80000ba4: 00000013 nop + 80000ba8: 00000013 nop + 80000bac: 00000013 nop + 80000bb0: 00000013 nop + 80000bb4: 00000013 nop + 80000bb8: 00000013 nop + 80000bbc: 00000013 nop + 80000bc0: 00000013 nop + 80000bc4: 00000013 nop + 80000bc8: 00000013 nop + 80000bcc: 00000013 nop + 80000bd0: 00000013 nop + 80000bd4: 00000013 nop + 80000bd8: 00000013 nop + 80000bdc: 00000013 nop + 80000be0: 00000013 nop + 80000be4: 00000013 nop + 80000be8: 00000013 nop + 80000bec: 00000013 nop + 80000bf0: 00000013 nop + 80000bf4: 00000013 nop + 80000bf8: 00000013 nop + 80000bfc: 00000013 nop + 80000c00: 00000013 nop + 80000c04: 00000013 nop + 80000c08: 00000013 nop + 80000c0c: 00000013 nop + 80000c10: 00000013 nop + 80000c14: 00000013 nop + 80000c18: 00000013 nop + 80000c1c: 00000013 nop + 80000c20: 00000013 nop + 80000c24: 00000013 nop + 80000c28: 00000013 nop + 80000c2c: 00000013 nop + 80000c30: 00000013 nop + 80000c34: 00000013 nop + 80000c38: 00000013 nop + 80000c3c: 00000013 nop + 80000c40: 00000013 nop + 80000c44: 00000013 nop + 80000c48: 00000013 nop + 80000c4c: 00000013 nop + 80000c50: 00000013 nop + 80000c54: 00000013 nop + 80000c58: 00000013 nop + 80000c5c: 00000013 nop + 80000c60: 00000013 nop + 80000c64: 00000013 nop + 80000c68: 00000013 nop + 80000c6c: 00000013 nop + 80000c70: 00000013 nop + 80000c74: 00000013 nop + 80000c78: 00000013 nop + 80000c7c: 00000013 nop + 80000c80: 00000013 nop + 80000c84: 00000013 nop + 80000c88: 00000013 nop + 80000c8c: 00000013 nop + 80000c90: 00000013 nop + 80000c94: 00000013 nop + 80000c98: 00000013 nop + 80000c9c: 00000013 nop + 80000ca0: 00000013 nop + 80000ca4: 00000013 nop + 80000ca8: 00000013 nop + 80000cac: 00000013 nop + 80000cb0: 00000013 nop + 80000cb4: 00000013 nop + 80000cb8: 00000013 nop + 80000cbc: 00000013 nop + 80000cc0: 00000013 nop + 80000cc4: 00000013 nop + 80000cc8: 00000013 nop + 80000ccc: 00000013 nop + 80000cd0: 00000013 nop + 80000cd4: 00000013 nop + 80000cd8: 00000013 nop + 80000cdc: 00000013 nop + 80000ce0: 00000013 nop + 80000ce4: 00000013 nop + 80000ce8: 00000013 nop + 80000cec: 00000013 nop + 80000cf0: 00000013 nop + 80000cf4: 00000013 nop + 80000cf8: 00000013 nop + 80000cfc: 00000013 nop + 80000d00: 00000013 nop + 80000d04: 00000013 nop + 80000d08: 00000013 nop + 80000d0c: 00000013 nop + 80000d10: 00000013 nop + 80000d14: 00000013 nop + 80000d18: 00000013 nop + 80000d1c: 00000013 nop + 80000d20: 00000013 nop + 80000d24: 00000013 nop + 80000d28: 00000013 nop + 80000d2c: 00000013 nop + 80000d30: 00000013 nop + 80000d34: 00000013 nop + 80000d38: 00000013 nop + 80000d3c: 00000013 nop + 80000d40: 00000013 nop + 80000d44: 00000013 nop + 80000d48: 00000013 nop + 80000d4c: 00000013 nop + 80000d50: 00000013 nop + 80000d54: 00000013 nop + 80000d58: 00000013 nop + 80000d5c: 00000013 nop + 80000d60: 00000013 nop + 80000d64: 00000013 nop + 80000d68: 00000013 nop + 80000d6c: 00000013 nop + 80000d70: 00000013 nop + 80000d74: 00000013 nop + 80000d78: 00000013 nop + 80000d7c: 00000013 nop + 80000d80: 00000013 nop + 80000d84: 00000013 nop + 80000d88: 00000013 nop + 80000d8c: 00000013 nop + 80000d90: 00000013 nop + 80000d94: 00000013 nop + 80000d98: 00000013 nop + 80000d9c: 00000013 nop + 80000da0: 00000013 nop + 80000da4: 00000013 nop + 80000da8: 00000013 nop + 80000dac: 00000013 nop + 80000db0: 00000013 nop + 80000db4: 00000013 nop + 80000db8: 00000013 nop + 80000dbc: 00000013 nop + 80000dc0: 00000013 nop + 80000dc4: 00000013 nop + 80000dc8: 00000013 nop + 80000dcc: 00000013 nop + 80000dd0: 00000013 nop + 80000dd4: 00000013 nop + 80000dd8: 00000013 nop + 80000ddc: 00000013 nop + 80000de0: 00000013 nop + 80000de4: 00000013 nop + 80000de8: 00000013 nop + 80000dec: 00000013 nop + 80000df0: 00000013 nop + 80000df4: 00000013 nop + 80000df8: 00000013 nop + 80000dfc: 00000013 nop + 80000e00: 00000013 nop + 80000e04: 00000013 nop + 80000e08: 00000013 nop + 80000e0c: 00000013 nop + 80000e10: 00000013 nop + 80000e14: 00000013 nop + 80000e18: 00000013 nop + 80000e1c: 00000013 nop + 80000e20: 00000013 nop + 80000e24: 00000013 nop + 80000e28: 00000013 nop + 80000e2c: 00000013 nop + 80000e30: 00000013 nop + 80000e34: 00000013 nop + 80000e38: 00000013 nop + 80000e3c: 00000013 nop + 80000e40: 00000013 nop + 80000e44: 00000013 nop + 80000e48: 00000013 nop + 80000e4c: 00000013 nop + 80000e50: 00000013 nop + 80000e54: 00000013 nop + 80000e58: 00000013 nop + 80000e5c: 00000013 nop + 80000e60: 00000013 nop + 80000e64: 00000013 nop + 80000e68: 00000013 nop + 80000e6c: 00000013 nop + 80000e70: 00000013 nop + 80000e74: 00000013 nop + 80000e78: 00000013 nop + 80000e7c: 00000013 nop + 80000e80: 00000013 nop + 80000e84: 00000013 nop + 80000e88: 00000013 nop + 80000e8c: 00000013 nop + 80000e90: 00000013 nop + 80000e94: 00000013 nop + 80000e98: 00000013 nop + 80000e9c: 00000013 nop + 80000ea0: 00000013 nop + 80000ea4: 00000013 nop + 80000ea8: 00000013 nop + 80000eac: 00000013 nop + 80000eb0: 00000013 nop + 80000eb4: 00000013 nop + 80000eb8: 00000013 nop + 80000ebc: 00000013 nop + 80000ec0: 00000013 nop + 80000ec4: 00000013 nop + 80000ec8: 00000013 nop + 80000ecc: 00000013 nop + 80000ed0: 00000013 nop + 80000ed4: 00000013 nop + 80000ed8: 00000013 nop + 80000edc: 00000013 nop + 80000ee0: 00000013 nop + 80000ee4: 00000013 nop + 80000ee8: 00000013 nop + 80000eec: 00000013 nop + 80000ef0: 00000013 nop + 80000ef4: 00000013 nop + 80000ef8: 00000013 nop + 80000efc: 00000013 nop + 80000f00: 00000013 nop + 80000f04: 00000013 nop + 80000f08: 00000013 nop + 80000f0c: 00000013 nop + 80000f10: 00000013 nop + 80000f14: 00000013 nop + 80000f18: 00000013 nop + 80000f1c: 00000013 nop + 80000f20: 00000013 nop + 80000f24: 00000013 nop + 80000f28: 00000013 nop + 80000f2c: 00000013 nop + 80000f30: 00000013 nop + 80000f34: 00000013 nop + 80000f38: 00000013 nop + 80000f3c: 00000013 nop + 80000f40: 00000013 nop + 80000f44: 00000013 nop + 80000f48: 00000013 nop + 80000f4c: 00000013 nop + 80000f50: 00000013 nop + 80000f54: 00000013 nop + 80000f58: 00000013 nop + 80000f5c: 00000013 nop + 80000f60: 00000013 nop + 80000f64: 00000013 nop + 80000f68: 00000013 nop + 80000f6c: 00000013 nop + 80000f70: 00000013 nop + 80000f74: 00000013 nop + 80000f78: 00000013 nop + 80000f7c: 00000013 nop + 80000f80: 00000013 nop + 80000f84: 00000013 nop + 80000f88: 00000013 nop + 80000f8c: 00000013 nop + 80000f90: 00000013 nop + 80000f94: 00000013 nop + 80000f98: 00000013 nop + 80000f9c: 00000013 nop + 80000fa0: 00000013 nop + 80000fa4: 00000013 nop + 80000fa8: 00000013 nop + 80000fac: 00000013 nop + 80000fb0: 00000013 nop + 80000fb4: 00000013 nop + 80000fb8: 00000013 nop + 80000fbc: 00000013 nop + 80000fc0: 00000013 nop + 80000fc4: 00000013 nop + 80000fc8: 00000013 nop + 80000fcc: 00000013 nop + 80000fd0: 00000013 nop + 80000fd4: 00000013 nop + 80000fd8: 00000013 nop + 80000fdc: 00000013 nop + 80000fe0: 00000013 nop + 80000fe4: 00000013 nop + 80000fe8: 00000013 nop + 80000fec: 00000013 nop + 80000ff0: 00000013 nop + 80000ff4: 00000013 nop + 80000ff8: 00000013 nop + 80000ffc: 00000013 nop + 80001000: 0000 unimp + 80001002: 0000 unimp + 80001004: 0000 unimp + 80001006: 0000 unimp + 80001008: 0000 unimp + 8000100a: 0000 unimp + 8000100c: 0000 unimp + 8000100e: 0000 unimp + 80001010: 0000 unimp + 80001012: 0000 unimp + 80001014: 0000 unimp + 80001016: 0000 unimp + 80001018: 0000 unimp + 8000101a: 0000 unimp + 8000101c: 0000 unimp + 8000101e: 0000 unimp + 80001020: 0000 unimp + 80001022: 0000 unimp + 80001024: 0000 unimp + 80001026: 0000 unimp + 80001028: 0000 unimp + 8000102a: 0000 unimp + 8000102c: 0000 unimp + 8000102e: 0000 unimp + 80001030: 0000 unimp + 80001032: 0000 unimp + 80001034: 0000 unimp + 80001036: 0000 unimp + 80001038: 0000 unimp + 8000103a: 0000 unimp + 8000103c: 0000 unimp + 8000103e: 0000 unimp + 80001040: 0000 unimp + 80001042: 0000 unimp + 80001044: 0000 unimp + 80001046: 0000 unimp + 80001048: 0000 unimp + 8000104a: 0000 unimp + 8000104c: 0000 unimp + 8000104e: 0000 unimp + 80001050: 0000 unimp + 80001052: 0000 unimp + 80001054: 0000 unimp + 80001056: 0000 unimp + 80001058: 0000 unimp + 8000105a: 0000 unimp + 8000105c: 0000 unimp + 8000105e: 0000 unimp + 80001060: 0000 unimp + 80001062: 0000 unimp + 80001064: 0000 unimp + 80001066: 0000 unimp + 80001068: 0000 unimp + 8000106a: 0000 unimp + 8000106c: 0000 unimp + 8000106e: 0000 unimp + 80001070: 0000 unimp + 80001072: 0000 unimp + 80001074: 0000 unimp + 80001076: 0000 unimp + 80001078: 0000 unimp + 8000107a: 0000 unimp + 8000107c: 0000 unimp + 8000107e: 0000 unimp + 80001080: 0000 unimp + 80001082: 0000 unimp + 80001084: 0000 unimp + 80001086: 0000 unimp + 80001088: 0000 unimp + 8000108a: 0000 unimp + 8000108c: 0000 unimp + 8000108e: 0000 unimp + 80001090: 0000 unimp + 80001092: 0000 unimp + 80001094: 0000 unimp + 80001096: 0000 unimp + 80001098: 0000 unimp + 8000109a: 0000 unimp + 8000109c: 0000 unimp + 8000109e: 0000 unimp + 800010a0: 0000 unimp + 800010a2: 0000 unimp + 800010a4: 0000 unimp + 800010a6: 0000 unimp + 800010a8: 0000 unimp + 800010aa: 0000 unimp + 800010ac: 0000 unimp + 800010ae: 0000 unimp + 800010b0: 0000 unimp + 800010b2: 0000 unimp + 800010b4: 0000 unimp + 800010b6: 0000 unimp + 800010b8: 0000 unimp + 800010ba: 0000 unimp + 800010bc: 0000 unimp + 800010be: 0000 unimp + 800010c0: 0000 unimp + 800010c2: 0000 unimp + 800010c4: 0000 unimp + 800010c6: 0000 unimp + 800010c8: 0000 unimp + 800010ca: 0000 unimp + 800010cc: 0000 unimp + 800010ce: 0000 unimp + 800010d0: 0000 unimp + 800010d2: 0000 unimp + 800010d4: 0000 unimp + 800010d6: 0000 unimp + 800010d8: 0000 unimp + 800010da: 0000 unimp + 800010dc: 0000 unimp + 800010de: 0000 unimp + 800010e0: 0000 unimp + 800010e2: 0000 unimp + 800010e4: 0000 unimp + 800010e6: 0000 unimp + 800010e8: 0000 unimp + 800010ea: 0000 unimp + 800010ec: 0000 unimp + 800010ee: 0000 unimp + 800010f0: 0000 unimp + 800010f2: 0000 unimp + 800010f4: 0000 unimp + 800010f6: 0000 unimp + 800010f8: 0000 unimp + 800010fa: 0000 unimp + 800010fc: 0000 unimp + 800010fe: 0000 unimp + 80001100: 0000 unimp + 80001102: 0000 unimp + 80001104: 0000 unimp + 80001106: 0000 unimp + 80001108: 0000 unimp + 8000110a: 0000 unimp + 8000110c: 0000 unimp + 8000110e: 0000 unimp + 80001110: 0000 unimp + 80001112: 0000 unimp + 80001114: 0000 unimp + 80001116: 0000 unimp + 80001118: 0000 unimp + 8000111a: 0000 unimp + 8000111c: 0000 unimp + 8000111e: 0000 unimp + 80001120: 0000 unimp + 80001122: 0000 unimp + 80001124: 0000 unimp + 80001126: 0000 unimp + 80001128: 0000 unimp + 8000112a: 0000 unimp + 8000112c: 0000 unimp + 8000112e: 0000 unimp + 80001130: 0000 unimp + 80001132: 0000 unimp + 80001134: 0000 unimp + 80001136: 0000 unimp + 80001138: 0000 unimp + 8000113a: 0000 unimp + 8000113c: 0000 unimp + 8000113e: 0000 unimp + 80001140: 0000 unimp + 80001142: 0000 unimp + 80001144: 0000 unimp + 80001146: 0000 unimp + 80001148: 0000 unimp + 8000114a: 0000 unimp + 8000114c: 0000 unimp + 8000114e: 0000 unimp + 80001150: 0000 unimp + 80001152: 0000 unimp + 80001154: 0000 unimp + 80001156: 0000 unimp + 80001158: 0000 unimp + 8000115a: 0000 unimp + 8000115c: 0000 unimp + 8000115e: 0000 unimp + 80001160: 0000 unimp + 80001162: 0000 unimp + 80001164: 0000 unimp + 80001166: 0000 unimp + 80001168: 0000 unimp + 8000116a: 0000 unimp + 8000116c: 0000 unimp + 8000116e: 0000 unimp + 80001170: 0000 unimp + 80001172: 0000 unimp + 80001174: 0000 unimp + 80001176: 0000 unimp + 80001178: 0000 unimp + 8000117a: 0000 unimp + 8000117c: 0000 unimp + 8000117e: 0000 unimp + 80001180: 0000 unimp + 80001182: 0000 unimp + 80001184: 0000 unimp + 80001186: 0000 unimp + 80001188: 0000 unimp + 8000118a: 0000 unimp + 8000118c: 0000 unimp + 8000118e: 0000 unimp + 80001190: 0000 unimp + 80001192: 0000 unimp + 80001194: 0000 unimp + 80001196: 0000 unimp + 80001198: 0000 unimp + 8000119a: 0000 unimp + 8000119c: 0000 unimp + 8000119e: 0000 unimp + 800011a0: 0000 unimp + 800011a2: 0000 unimp + 800011a4: 0000 unimp + 800011a6: 0000 unimp + 800011a8: 0000 unimp + 800011aa: 0000 unimp + 800011ac: 0000 unimp + 800011ae: 0000 unimp + 800011b0: 0000 unimp + 800011b2: 0000 unimp + 800011b4: 0000 unimp + 800011b6: 0000 unimp + 800011b8: 0000 unimp + 800011ba: 0000 unimp + 800011bc: 0000 unimp + 800011be: 0000 unimp + 800011c0: 0000 unimp + 800011c2: 0000 unimp + 800011c4: 0000 unimp + 800011c6: 0000 unimp + 800011c8: 0000 unimp + 800011ca: 0000 unimp + 800011cc: 0000 unimp + 800011ce: 0000 unimp + 800011d0: 0000 unimp + 800011d2: 0000 unimp + 800011d4: 0000 unimp + 800011d6: 0000 unimp + 800011d8: 0000 unimp + 800011da: 0000 unimp + 800011dc: 0000 unimp + 800011de: 0000 unimp + 800011e0: 0000 unimp + 800011e2: 0000 unimp + 800011e4: 0000 unimp + 800011e6: 0000 unimp + 800011e8: 0000 unimp + 800011ea: 0000 unimp + 800011ec: 0000 unimp + 800011ee: 0000 unimp + 800011f0: 0000 unimp + 800011f2: 0000 unimp + 800011f4: 0000 unimp + 800011f6: 0000 unimp + 800011f8: 0000 unimp + 800011fa: 0000 unimp + 800011fc: 0000 unimp + 800011fe: 0000 unimp + 80001200: 0000 unimp + 80001202: 0000 unimp + 80001204: 0000 unimp + 80001206: 0000 unimp + 80001208: 0000 unimp + 8000120a: 0000 unimp + 8000120c: 0000 unimp + 8000120e: 0000 unimp + 80001210: 0000 unimp + 80001212: 0000 unimp + 80001214: 0000 unimp + 80001216: 0000 unimp + 80001218: 0000 unimp + 8000121a: 0000 unimp + 8000121c: 0000 unimp + 8000121e: 0000 unimp + 80001220: 0000 unimp + 80001222: 0000 unimp + 80001224: 0000 unimp + 80001226: 0000 unimp + 80001228: 0000 unimp + 8000122a: 0000 unimp + 8000122c: 0000 unimp + 8000122e: 0000 unimp + 80001230: 0000 unimp + 80001232: 0000 unimp + 80001234: 0000 unimp + 80001236: 0000 unimp + 80001238: 0000 unimp + 8000123a: 0000 unimp + 8000123c: 0000 unimp + 8000123e: 0000 unimp + 80001240: 0000 unimp + 80001242: 0000 unimp + 80001244: 0000 unimp + 80001246: 0000 unimp + 80001248: 0000 unimp + 8000124a: 0000 unimp + 8000124c: 0000 unimp + 8000124e: 0000 unimp + 80001250: 0000 unimp + 80001252: 0000 unimp + 80001254: 0000 unimp + 80001256: 0000 unimp + 80001258: 0000 unimp + 8000125a: 0000 unimp + 8000125c: 0000 unimp + 8000125e: 0000 unimp + 80001260: 0000 unimp + 80001262: 0000 unimp + 80001264: 0000 unimp + 80001266: 0000 unimp + 80001268: 0000 unimp + 8000126a: 0000 unimp + 8000126c: 0000 unimp + 8000126e: 0000 unimp + 80001270: 0000 unimp + 80001272: 0000 unimp + 80001274: 0000 unimp + 80001276: 0000 unimp + 80001278: 0000 unimp + 8000127a: 0000 unimp + 8000127c: 0000 unimp + 8000127e: 0000 unimp + 80001280: 0000 unimp + 80001282: 0000 unimp + 80001284: 0000 unimp + 80001286: 0000 unimp + 80001288: 0000 unimp + 8000128a: 0000 unimp + 8000128c: 0000 unimp + 8000128e: 0000 unimp + 80001290: 0000 unimp + 80001292: 0000 unimp + 80001294: 0000 unimp + 80001296: 0000 unimp + 80001298: 0000 unimp + 8000129a: 0000 unimp + 8000129c: 0000 unimp + 8000129e: 0000 unimp + 800012a0: 0000 unimp + 800012a2: 0000 unimp + 800012a4: 0000 unimp + 800012a6: 0000 unimp + 800012a8: 0000 unimp + 800012aa: 0000 unimp + 800012ac: 0000 unimp + 800012ae: 0000 unimp + 800012b0: 0000 unimp + 800012b2: 0000 unimp + 800012b4: 0000 unimp + 800012b6: 0000 unimp + 800012b8: 0000 unimp + 800012ba: 0000 unimp + 800012bc: 0000 unimp + 800012be: 0000 unimp + 800012c0: 0000 unimp + 800012c2: 0000 unimp + 800012c4: 0000 unimp + 800012c6: 0000 unimp + 800012c8: 0000 unimp + 800012ca: 0000 unimp + 800012cc: 0000 unimp + 800012ce: 0000 unimp + 800012d0: 0000 unimp + 800012d2: 0000 unimp + 800012d4: 0000 unimp + 800012d6: 0000 unimp + 800012d8: 0000 unimp + 800012da: 0000 unimp + 800012dc: 0000 unimp + 800012de: 0000 unimp + 800012e0: 0000 unimp + 800012e2: 0000 unimp + 800012e4: 0000 unimp + 800012e6: 0000 unimp + 800012e8: 0000 unimp + 800012ea: 0000 unimp + 800012ec: 0000 unimp + 800012ee: 0000 unimp + 800012f0: 0000 unimp + 800012f2: 0000 unimp + 800012f4: 0000 unimp + 800012f6: 0000 unimp + 800012f8: 0000 unimp + 800012fa: 0000 unimp + 800012fc: 0000 unimp + 800012fe: 0000 unimp + 80001300: 0000 unimp + 80001302: 0000 unimp + 80001304: 0000 unimp + 80001306: 0000 unimp + 80001308: 0000 unimp + 8000130a: 0000 unimp + 8000130c: 0000 unimp + 8000130e: 0000 unimp + 80001310: 0000 unimp + 80001312: 0000 unimp + 80001314: 0000 unimp + 80001316: 0000 unimp + 80001318: 0000 unimp + 8000131a: 0000 unimp + 8000131c: 0000 unimp + 8000131e: 0000 unimp + 80001320: 0000 unimp + 80001322: 0000 unimp + 80001324: 0000 unimp + 80001326: 0000 unimp + 80001328: 0000 unimp + 8000132a: 0000 unimp + 8000132c: 0000 unimp + 8000132e: 0000 unimp + 80001330: 0000 unimp + 80001332: 0000 unimp + 80001334: 0000 unimp + 80001336: 0000 unimp + 80001338: 0000 unimp + 8000133a: 0000 unimp + 8000133c: 0000 unimp + 8000133e: 0000 unimp + 80001340: 0000 unimp + 80001342: 0000 unimp + 80001344: 0000 unimp + 80001346: 0000 unimp + 80001348: 0000 unimp + 8000134a: 0000 unimp + 8000134c: 0000 unimp + 8000134e: 0000 unimp + 80001350: 0000 unimp + 80001352: 0000 unimp + 80001354: 0000 unimp + 80001356: 0000 unimp + 80001358: 0000 unimp + 8000135a: 0000 unimp + 8000135c: 0000 unimp + 8000135e: 0000 unimp + 80001360: 0000 unimp + 80001362: 0000 unimp + 80001364: 0000 unimp + 80001366: 0000 unimp + 80001368: 0000 unimp + 8000136a: 0000 unimp + 8000136c: 0000 unimp + 8000136e: 0000 unimp + 80001370: 0000 unimp + 80001372: 0000 unimp + 80001374: 0000 unimp + 80001376: 0000 unimp + 80001378: 0000 unimp + 8000137a: 0000 unimp + 8000137c: 0000 unimp + 8000137e: 0000 unimp + 80001380: 0000 unimp + 80001382: 0000 unimp + 80001384: 0000 unimp + 80001386: 0000 unimp + 80001388: 0000 unimp + 8000138a: 0000 unimp + 8000138c: 0000 unimp + 8000138e: 0000 unimp + 80001390: 0000 unimp + 80001392: 0000 unimp + 80001394: 0000 unimp + 80001396: 0000 unimp + 80001398: 0000 unimp + 8000139a: 0000 unimp + 8000139c: 0000 unimp + 8000139e: 0000 unimp + 800013a0: 0000 unimp + 800013a2: 0000 unimp + 800013a4: 0000 unimp + 800013a6: 0000 unimp + 800013a8: 0000 unimp + 800013aa: 0000 unimp + 800013ac: 0000 unimp + 800013ae: 0000 unimp + 800013b0: 0000 unimp + 800013b2: 0000 unimp + 800013b4: 0000 unimp + 800013b6: 0000 unimp + 800013b8: 0000 unimp + 800013ba: 0000 unimp + 800013bc: 0000 unimp + 800013be: 0000 unimp + 800013c0: 0000 unimp + 800013c2: 0000 unimp + 800013c4: 0000 unimp + 800013c6: 0000 unimp + 800013c8: 0000 unimp + 800013ca: 0000 unimp + 800013cc: 0000 unimp + 800013ce: 0000 unimp + 800013d0: 0000 unimp + 800013d2: 0000 unimp + 800013d4: 0000 unimp + 800013d6: 0000 unimp + 800013d8: 0000 unimp + 800013da: 0000 unimp + 800013dc: 0000 unimp + 800013de: 0000 unimp + 800013e0: 0000 unimp + 800013e2: 0000 unimp + 800013e4: 0000 unimp + 800013e6: 0000 unimp + 800013e8: 0000 unimp + 800013ea: 0000 unimp + 800013ec: 0000 unimp + 800013ee: 0000 unimp + 800013f0: 0000 unimp + 800013f2: 0000 unimp + 800013f4: 0000 unimp + 800013f6: 0000 unimp + 800013f8: 0000 unimp + 800013fa: 0000 unimp + 800013fc: 0000 unimp + 800013fe: 0000 unimp + 80001400: 0000 unimp + 80001402: 0000 unimp + 80001404: 0000 unimp + 80001406: 0000 unimp + 80001408: 0000 unimp + 8000140a: 0000 unimp + 8000140c: 0000 unimp + 8000140e: 0000 unimp + 80001410: 0000 unimp + 80001412: 0000 unimp + 80001414: 0000 unimp + 80001416: 0000 unimp + 80001418: 0000 unimp + 8000141a: 0000 unimp + 8000141c: 0000 unimp + 8000141e: 0000 unimp + 80001420: 0000 unimp + 80001422: 0000 unimp + 80001424: 0000 unimp + 80001426: 0000 unimp + 80001428: 0000 unimp + 8000142a: 0000 unimp + 8000142c: 0000 unimp + 8000142e: 0000 unimp + 80001430: 0000 unimp + 80001432: 0000 unimp + 80001434: 0000 unimp + 80001436: 0000 unimp + 80001438: 0000 unimp + 8000143a: 0000 unimp + 8000143c: 0000 unimp + 8000143e: 0000 unimp + 80001440: 0000 unimp + 80001442: 0000 unimp + 80001444: 0000 unimp + 80001446: 0000 unimp + 80001448: 0000 unimp + 8000144a: 0000 unimp + 8000144c: 0000 unimp + 8000144e: 0000 unimp + 80001450: 0000 unimp + 80001452: 0000 unimp + 80001454: 0000 unimp + 80001456: 0000 unimp + 80001458: 0000 unimp + 8000145a: 0000 unimp + 8000145c: 0000 unimp + 8000145e: 0000 unimp + 80001460: 0000 unimp + 80001462: 0000 unimp + 80001464: 0000 unimp + 80001466: 0000 unimp + 80001468: 0000 unimp + 8000146a: 0000 unimp + 8000146c: 0000 unimp + 8000146e: 0000 unimp + 80001470: 0000 unimp + 80001472: 0000 unimp + 80001474: 0000 unimp + 80001476: 0000 unimp + 80001478: 0000 unimp + 8000147a: 0000 unimp + 8000147c: 0000 unimp + 8000147e: 0000 unimp + 80001480: 0000 unimp + 80001482: 0000 unimp + 80001484: 0000 unimp + 80001486: 0000 unimp + 80001488: 0000 unimp + 8000148a: 0000 unimp + 8000148c: 0000 unimp + 8000148e: 0000 unimp + 80001490: 0000 unimp + 80001492: 0000 unimp + 80001494: 0000 unimp + 80001496: 0000 unimp + 80001498: 0000 unimp + 8000149a: 0000 unimp + 8000149c: 0000 unimp + 8000149e: 0000 unimp + 800014a0: 0000 unimp + 800014a2: 0000 unimp + 800014a4: 0000 unimp + 800014a6: 0000 unimp + 800014a8: 0000 unimp + 800014aa: 0000 unimp + 800014ac: 0000 unimp + 800014ae: 0000 unimp + 800014b0: 0000 unimp + 800014b2: 0000 unimp + 800014b4: 0000 unimp + 800014b6: 0000 unimp + 800014b8: 0000 unimp + 800014ba: 0000 unimp + 800014bc: 0000 unimp + 800014be: 0000 unimp + 800014c0: 0000 unimp + 800014c2: 0000 unimp + 800014c4: 0000 unimp + 800014c6: 0000 unimp + 800014c8: 0000 unimp + 800014ca: 0000 unimp + 800014cc: 0000 unimp + 800014ce: 0000 unimp + 800014d0: 0000 unimp + 800014d2: 0000 unimp + 800014d4: 0000 unimp + 800014d6: 0000 unimp + 800014d8: 0000 unimp + 800014da: 0000 unimp + 800014dc: 0000 unimp + 800014de: 0000 unimp + 800014e0: 0000 unimp + 800014e2: 0000 unimp + 800014e4: 0000 unimp + 800014e6: 0000 unimp + 800014e8: 0000 unimp + 800014ea: 0000 unimp + 800014ec: 0000 unimp + 800014ee: 0000 unimp + 800014f0: 0000 unimp + 800014f2: 0000 unimp + 800014f4: 0000 unimp + 800014f6: 0000 unimp + 800014f8: 0000 unimp + 800014fa: 0000 unimp + 800014fc: 0000 unimp + 800014fe: 0000 unimp + 80001500: 0000 unimp + 80001502: 0000 unimp + 80001504: 0000 unimp + 80001506: 0000 unimp + 80001508: 0000 unimp + 8000150a: 0000 unimp + 8000150c: 0000 unimp + 8000150e: 0000 unimp + 80001510: 0000 unimp + 80001512: 0000 unimp + 80001514: 0000 unimp + 80001516: 0000 unimp + 80001518: 0000 unimp + 8000151a: 0000 unimp + 8000151c: 0000 unimp + 8000151e: 0000 unimp + 80001520: 0000 unimp + 80001522: 0000 unimp + 80001524: 0000 unimp + 80001526: 0000 unimp + 80001528: 0000 unimp + 8000152a: 0000 unimp + 8000152c: 0000 unimp + 8000152e: 0000 unimp + 80001530: 0000 unimp + 80001532: 0000 unimp + 80001534: 0000 unimp + 80001536: 0000 unimp + 80001538: 0000 unimp + 8000153a: 0000 unimp + 8000153c: 0000 unimp + 8000153e: 0000 unimp + 80001540: 0000 unimp + 80001542: 0000 unimp + 80001544: 0000 unimp + 80001546: 0000 unimp + 80001548: 0000 unimp + 8000154a: 0000 unimp + 8000154c: 0000 unimp + 8000154e: 0000 unimp + 80001550: 0000 unimp + 80001552: 0000 unimp + 80001554: 0000 unimp + 80001556: 0000 unimp + 80001558: 0000 unimp + 8000155a: 0000 unimp + 8000155c: 0000 unimp + 8000155e: 0000 unimp + 80001560: 0000 unimp + 80001562: 0000 unimp + 80001564: 0000 unimp + 80001566: 0000 unimp + 80001568: 0000 unimp + 8000156a: 0000 unimp + 8000156c: 0000 unimp + 8000156e: 0000 unimp + 80001570: 0000 unimp + 80001572: 0000 unimp + 80001574: 0000 unimp + 80001576: 0000 unimp + 80001578: 0000 unimp + 8000157a: 0000 unimp + 8000157c: 0000 unimp + 8000157e: 0000 unimp + 80001580: 0000 unimp + 80001582: 0000 unimp + 80001584: 0000 unimp + 80001586: 0000 unimp + 80001588: 0000 unimp + 8000158a: 0000 unimp + 8000158c: 0000 unimp + 8000158e: 0000 unimp + 80001590: 0000 unimp + 80001592: 0000 unimp + 80001594: 0000 unimp + 80001596: 0000 unimp + 80001598: 0000 unimp + 8000159a: 0000 unimp + 8000159c: 0000 unimp + 8000159e: 0000 unimp + 800015a0: 0000 unimp + 800015a2: 0000 unimp + 800015a4: 0000 unimp + 800015a6: 0000 unimp + 800015a8: 0000 unimp + 800015aa: 0000 unimp + 800015ac: 0000 unimp + 800015ae: 0000 unimp + 800015b0: 0000 unimp + 800015b2: 0000 unimp + 800015b4: 0000 unimp + 800015b6: 0000 unimp + 800015b8: 0000 unimp + 800015ba: 0000 unimp + 800015bc: 0000 unimp + 800015be: 0000 unimp + 800015c0: 0000 unimp + 800015c2: 0000 unimp + 800015c4: 0000 unimp + 800015c6: 0000 unimp + 800015c8: 0000 unimp + 800015ca: 0000 unimp + 800015cc: 0000 unimp + 800015ce: 0000 unimp + 800015d0: 0000 unimp + 800015d2: 0000 unimp + 800015d4: 0000 unimp + 800015d6: 0000 unimp + 800015d8: 0000 unimp + 800015da: 0000 unimp + 800015dc: 0000 unimp + 800015de: 0000 unimp + 800015e0: 0000 unimp + 800015e2: 0000 unimp + 800015e4: 0000 unimp + 800015e6: 0000 unimp + 800015e8: 0000 unimp + 800015ea: 0000 unimp + 800015ec: 0000 unimp + 800015ee: 0000 unimp + 800015f0: 0000 unimp + 800015f2: 0000 unimp + 800015f4: 0000 unimp + 800015f6: 0000 unimp + 800015f8: 0000 unimp + 800015fa: 0000 unimp + 800015fc: 0000 unimp + 800015fe: 0000 unimp + 80001600: 0000 unimp + 80001602: 0000 unimp + 80001604: 0000 unimp + 80001606: 0000 unimp + 80001608: 0000 unimp + 8000160a: 0000 unimp + 8000160c: 0000 unimp + 8000160e: 0000 unimp + 80001610: 0000 unimp + 80001612: 0000 unimp + 80001614: 0000 unimp + 80001616: 0000 unimp + 80001618: 0000 unimp + 8000161a: 0000 unimp + 8000161c: 0000 unimp + 8000161e: 0000 unimp + 80001620: 0000 unimp + 80001622: 0000 unimp + 80001624: 0000 unimp + 80001626: 0000 unimp + 80001628: 0000 unimp + 8000162a: 0000 unimp + 8000162c: 0000 unimp + 8000162e: 0000 unimp + 80001630: 0000 unimp + 80001632: 0000 unimp + 80001634: 0000 unimp + 80001636: 0000 unimp + 80001638: 0000 unimp + 8000163a: 0000 unimp + 8000163c: 0000 unimp + 8000163e: 0000 unimp + 80001640: 0000 unimp + 80001642: 0000 unimp + 80001644: 0000 unimp + 80001646: 0000 unimp + 80001648: 0000 unimp + 8000164a: 0000 unimp + 8000164c: 0000 unimp + 8000164e: 0000 unimp + 80001650: 0000 unimp + 80001652: 0000 unimp + 80001654: 0000 unimp + 80001656: 0000 unimp + 80001658: 0000 unimp + 8000165a: 0000 unimp + 8000165c: 0000 unimp + 8000165e: 0000 unimp + 80001660: 0000 unimp + 80001662: 0000 unimp + 80001664: 0000 unimp + 80001666: 0000 unimp + 80001668: 0000 unimp + 8000166a: 0000 unimp + 8000166c: 0000 unimp + 8000166e: 0000 unimp + 80001670: 0000 unimp + 80001672: 0000 unimp + 80001674: 0000 unimp + 80001676: 0000 unimp + 80001678: 0000 unimp + 8000167a: 0000 unimp + 8000167c: 0000 unimp + 8000167e: 0000 unimp + 80001680: 0000 unimp + 80001682: 0000 unimp + 80001684: 0000 unimp + 80001686: 0000 unimp + 80001688: 0000 unimp + 8000168a: 0000 unimp + 8000168c: 0000 unimp + 8000168e: 0000 unimp + 80001690: 0000 unimp + 80001692: 0000 unimp + 80001694: 0000 unimp + 80001696: 0000 unimp + 80001698: 0000 unimp + 8000169a: 0000 unimp + 8000169c: 0000 unimp + 8000169e: 0000 unimp + 800016a0: 0000 unimp + 800016a2: 0000 unimp + 800016a4: 0000 unimp + 800016a6: 0000 unimp + 800016a8: 0000 unimp + 800016aa: 0000 unimp + 800016ac: 0000 unimp + 800016ae: 0000 unimp + 800016b0: 0000 unimp + 800016b2: 0000 unimp + 800016b4: 0000 unimp + 800016b6: 0000 unimp + 800016b8: 0000 unimp + 800016ba: 0000 unimp + 800016bc: 0000 unimp + 800016be: 0000 unimp + 800016c0: 0000 unimp + 800016c2: 0000 unimp + 800016c4: 0000 unimp + 800016c6: 0000 unimp + 800016c8: 0000 unimp + 800016ca: 0000 unimp + 800016cc: 0000 unimp + 800016ce: 0000 unimp + 800016d0: 0000 unimp + 800016d2: 0000 unimp + 800016d4: 0000 unimp + 800016d6: 0000 unimp + 800016d8: 0000 unimp + 800016da: 0000 unimp + 800016dc: 0000 unimp + 800016de: 0000 unimp + 800016e0: 0000 unimp + 800016e2: 0000 unimp + 800016e4: 0000 unimp + 800016e6: 0000 unimp + 800016e8: 0000 unimp + 800016ea: 0000 unimp + 800016ec: 0000 unimp + 800016ee: 0000 unimp + 800016f0: 0000 unimp + 800016f2: 0000 unimp + 800016f4: 0000 unimp + 800016f6: 0000 unimp + 800016f8: 0000 unimp + 800016fa: 0000 unimp + 800016fc: 0000 unimp + 800016fe: 0000 unimp + 80001700: 0000 unimp + 80001702: 0000 unimp + 80001704: 0000 unimp + 80001706: 0000 unimp + 80001708: 0000 unimp + 8000170a: 0000 unimp + 8000170c: 0000 unimp + 8000170e: 0000 unimp + 80001710: 0000 unimp + 80001712: 0000 unimp + 80001714: 0000 unimp + 80001716: 0000 unimp + 80001718: 0000 unimp + 8000171a: 0000 unimp + 8000171c: 0000 unimp + 8000171e: 0000 unimp + 80001720: 0000 unimp + 80001722: 0000 unimp + 80001724: 0000 unimp + 80001726: 0000 unimp + 80001728: 0000 unimp + 8000172a: 0000 unimp + 8000172c: 0000 unimp + 8000172e: 0000 unimp + 80001730: 0000 unimp + 80001732: 0000 unimp + 80001734: 0000 unimp + 80001736: 0000 unimp + 80001738: 0000 unimp + 8000173a: 0000 unimp + 8000173c: 0000 unimp + 8000173e: 0000 unimp + 80001740: 0000 unimp + 80001742: 0000 unimp + 80001744: 0000 unimp + 80001746: 0000 unimp + 80001748: 0000 unimp + 8000174a: 0000 unimp + 8000174c: 0000 unimp + 8000174e: 0000 unimp + 80001750: 0000 unimp + 80001752: 0000 unimp + 80001754: 0000 unimp + 80001756: 0000 unimp + 80001758: 0000 unimp + 8000175a: 0000 unimp + 8000175c: 0000 unimp + 8000175e: 0000 unimp + 80001760: 0000 unimp + 80001762: 0000 unimp + 80001764: 0000 unimp + 80001766: 0000 unimp + 80001768: 0000 unimp + 8000176a: 0000 unimp + 8000176c: 0000 unimp + 8000176e: 0000 unimp + 80001770: 0000 unimp + 80001772: 0000 unimp + 80001774: 0000 unimp + 80001776: 0000 unimp + 80001778: 0000 unimp + 8000177a: 0000 unimp + 8000177c: 0000 unimp + 8000177e: 0000 unimp + 80001780: 0000 unimp + 80001782: 0000 unimp + 80001784: 0000 unimp + 80001786: 0000 unimp + 80001788: 0000 unimp + 8000178a: 0000 unimp + 8000178c: 0000 unimp + 8000178e: 0000 unimp + 80001790: 0000 unimp + 80001792: 0000 unimp + 80001794: 0000 unimp + 80001796: 0000 unimp + 80001798: 0000 unimp + 8000179a: 0000 unimp + 8000179c: 0000 unimp + 8000179e: 0000 unimp + 800017a0: 0000 unimp + 800017a2: 0000 unimp + 800017a4: 0000 unimp + 800017a6: 0000 unimp + 800017a8: 0000 unimp + 800017aa: 0000 unimp + 800017ac: 0000 unimp + 800017ae: 0000 unimp + 800017b0: 0000 unimp + 800017b2: 0000 unimp + 800017b4: 0000 unimp + 800017b6: 0000 unimp + 800017b8: 0000 unimp + 800017ba: 0000 unimp + 800017bc: 0000 unimp + 800017be: 0000 unimp + 800017c0: 0000 unimp + 800017c2: 0000 unimp + 800017c4: 0000 unimp + 800017c6: 0000 unimp + 800017c8: 0000 unimp + 800017ca: 0000 unimp + 800017cc: 0000 unimp + 800017ce: 0000 unimp + 800017d0: 0000 unimp + 800017d2: 0000 unimp + 800017d4: 0000 unimp + 800017d6: 0000 unimp + 800017d8: 0000 unimp + 800017da: 0000 unimp + 800017dc: 0000 unimp + 800017de: 0000 unimp + 800017e0: 0000 unimp + 800017e2: 0000 unimp + 800017e4: 0000 unimp + 800017e6: 0000 unimp + 800017e8: 0000 unimp + 800017ea: 0000 unimp + 800017ec: 0000 unimp + 800017ee: 0000 unimp + 800017f0: 0000 unimp + 800017f2: 0000 unimp + 800017f4: 0000 unimp + 800017f6: 0000 unimp + 800017f8: 0000 unimp + 800017fa: 0000 unimp + 800017fc: 0000 unimp + 800017fe: 0000 unimp + 80001800: 0000 unimp + 80001802: 0000 unimp + 80001804: 0000 unimp + 80001806: 0000 unimp + 80001808: 0000 unimp + 8000180a: 0000 unimp + 8000180c: 0000 unimp + 8000180e: 0000 unimp + 80001810: 0000 unimp + 80001812: 0000 unimp + 80001814: 0000 unimp + 80001816: 0000 unimp + 80001818: 0000 unimp + 8000181a: 0000 unimp + 8000181c: 0000 unimp + 8000181e: 0000 unimp + 80001820: 0000 unimp + 80001822: 0000 unimp + 80001824: 0000 unimp + 80001826: 0000 unimp + 80001828: 0000 unimp + 8000182a: 0000 unimp + 8000182c: 0000 unimp + 8000182e: 0000 unimp + 80001830: 0000 unimp + 80001832: 0000 unimp + 80001834: 0000 unimp + 80001836: 0000 unimp + 80001838: 0000 unimp + 8000183a: 0000 unimp + 8000183c: 0000 unimp + 8000183e: 0000 unimp + 80001840: 0000 unimp + 80001842: 0000 unimp + 80001844: 0000 unimp + 80001846: 0000 unimp + 80001848: 0000 unimp + 8000184a: 0000 unimp + 8000184c: 0000 unimp + 8000184e: 0000 unimp + 80001850: 0000 unimp + 80001852: 0000 unimp + 80001854: 0000 unimp + 80001856: 0000 unimp + 80001858: 0000 unimp + 8000185a: 0000 unimp + 8000185c: 0000 unimp + 8000185e: 0000 unimp + 80001860: 0000 unimp + 80001862: 0000 unimp + 80001864: 0000 unimp + 80001866: 0000 unimp + 80001868: 0000 unimp + 8000186a: 0000 unimp + 8000186c: 0000 unimp + 8000186e: 0000 unimp + 80001870: 0000 unimp + 80001872: 0000 unimp + 80001874: 0000 unimp + 80001876: 0000 unimp + 80001878: 0000 unimp + 8000187a: 0000 unimp + 8000187c: 0000 unimp + 8000187e: 0000 unimp + 80001880: 0000 unimp + 80001882: 0000 unimp + 80001884: 0000 unimp + 80001886: 0000 unimp + 80001888: 0000 unimp + 8000188a: 0000 unimp + 8000188c: 0000 unimp + 8000188e: 0000 unimp + 80001890: 0000 unimp + 80001892: 0000 unimp + 80001894: 0000 unimp + 80001896: 0000 unimp + 80001898: 0000 unimp + 8000189a: 0000 unimp + 8000189c: 0000 unimp + 8000189e: 0000 unimp + 800018a0: 0000 unimp + 800018a2: 0000 unimp + 800018a4: 0000 unimp + 800018a6: 0000 unimp + 800018a8: 0000 unimp + 800018aa: 0000 unimp + 800018ac: 0000 unimp + 800018ae: 0000 unimp + 800018b0: 0000 unimp + 800018b2: 0000 unimp + 800018b4: 0000 unimp + 800018b6: 0000 unimp + 800018b8: 0000 unimp + 800018ba: 0000 unimp + 800018bc: 0000 unimp + 800018be: 0000 unimp + 800018c0: 0000 unimp + 800018c2: 0000 unimp + 800018c4: 0000 unimp + 800018c6: 0000 unimp + 800018c8: 0000 unimp + 800018ca: 0000 unimp + 800018cc: 0000 unimp + 800018ce: 0000 unimp + 800018d0: 0000 unimp + 800018d2: 0000 unimp + 800018d4: 0000 unimp + 800018d6: 0000 unimp + 800018d8: 0000 unimp + 800018da: 0000 unimp + 800018dc: 0000 unimp + 800018de: 0000 unimp + 800018e0: 0000 unimp + 800018e2: 0000 unimp + 800018e4: 0000 unimp + 800018e6: 0000 unimp + 800018e8: 0000 unimp + 800018ea: 0000 unimp + 800018ec: 0000 unimp + 800018ee: 0000 unimp + 800018f0: 0000 unimp + 800018f2: 0000 unimp + 800018f4: 0000 unimp + 800018f6: 0000 unimp + 800018f8: 0000 unimp + 800018fa: 0000 unimp + 800018fc: 0000 unimp + 800018fe: 0000 unimp + 80001900: 0000 unimp + 80001902: 0000 unimp + 80001904: 0000 unimp + 80001906: 0000 unimp + 80001908: 0000 unimp + 8000190a: 0000 unimp + 8000190c: 0000 unimp + 8000190e: 0000 unimp + 80001910: 0000 unimp + 80001912: 0000 unimp + 80001914: 0000 unimp + 80001916: 0000 unimp + 80001918: 0000 unimp + 8000191a: 0000 unimp + 8000191c: 0000 unimp + 8000191e: 0000 unimp + 80001920: 0000 unimp + 80001922: 0000 unimp + 80001924: 0000 unimp + 80001926: 0000 unimp + 80001928: 0000 unimp + 8000192a: 0000 unimp + 8000192c: 0000 unimp + 8000192e: 0000 unimp + 80001930: 0000 unimp + 80001932: 0000 unimp + 80001934: 0000 unimp + 80001936: 0000 unimp + 80001938: 0000 unimp + 8000193a: 0000 unimp + 8000193c: 0000 unimp + 8000193e: 0000 unimp + 80001940: 0000 unimp + 80001942: 0000 unimp + 80001944: 0000 unimp + 80001946: 0000 unimp + 80001948: 0000 unimp + 8000194a: 0000 unimp + 8000194c: 0000 unimp + 8000194e: 0000 unimp + 80001950: 0000 unimp + 80001952: 0000 unimp + 80001954: 0000 unimp + 80001956: 0000 unimp + 80001958: 0000 unimp + 8000195a: 0000 unimp + 8000195c: 0000 unimp + 8000195e: 0000 unimp + 80001960: 0000 unimp + 80001962: 0000 unimp + 80001964: 0000 unimp + 80001966: 0000 unimp + 80001968: 0000 unimp + 8000196a: 0000 unimp + 8000196c: 0000 unimp + 8000196e: 0000 unimp + 80001970: 0000 unimp + 80001972: 0000 unimp + 80001974: 0000 unimp + 80001976: 0000 unimp + 80001978: 0000 unimp + 8000197a: 0000 unimp + 8000197c: 0000 unimp + 8000197e: 0000 unimp + 80001980: 0000 unimp + 80001982: 0000 unimp + 80001984: 0000 unimp + 80001986: 0000 unimp + 80001988: 0000 unimp + 8000198a: 0000 unimp + 8000198c: 0000 unimp + 8000198e: 0000 unimp + 80001990: 0000 unimp + 80001992: 0000 unimp + 80001994: 0000 unimp + 80001996: 0000 unimp + 80001998: 0000 unimp + 8000199a: 0000 unimp + 8000199c: 0000 unimp + 8000199e: 0000 unimp + 800019a0: 0000 unimp + 800019a2: 0000 unimp + 800019a4: 0000 unimp + 800019a6: 0000 unimp + 800019a8: 0000 unimp + 800019aa: 0000 unimp + 800019ac: 0000 unimp + 800019ae: 0000 unimp + 800019b0: 0000 unimp + 800019b2: 0000 unimp + 800019b4: 0000 unimp + 800019b6: 0000 unimp + 800019b8: 0000 unimp + 800019ba: 0000 unimp + 800019bc: 0000 unimp + 800019be: 0000 unimp + 800019c0: 0000 unimp + 800019c2: 0000 unimp + 800019c4: 0000 unimp + 800019c6: 0000 unimp + 800019c8: 0000 unimp + 800019ca: 0000 unimp + 800019cc: 0000 unimp + 800019ce: 0000 unimp + 800019d0: 0000 unimp + 800019d2: 0000 unimp + 800019d4: 0000 unimp + 800019d6: 0000 unimp + 800019d8: 0000 unimp + 800019da: 0000 unimp + 800019dc: 0000 unimp + 800019de: 0000 unimp + 800019e0: 0000 unimp + 800019e2: 0000 unimp + 800019e4: 0000 unimp + 800019e6: 0000 unimp + 800019e8: 0000 unimp + 800019ea: 0000 unimp + 800019ec: 0000 unimp + 800019ee: 0000 unimp + 800019f0: 0000 unimp + 800019f2: 0000 unimp + 800019f4: 0000 unimp + 800019f6: 0000 unimp + 800019f8: 0000 unimp + 800019fa: 0000 unimp + 800019fc: 0000 unimp + 800019fe: 0000 unimp + 80001a00: 0000 unimp + 80001a02: 0000 unimp + 80001a04: 0000 unimp + 80001a06: 0000 unimp + 80001a08: 0000 unimp + 80001a0a: 0000 unimp + 80001a0c: 0000 unimp + 80001a0e: 0000 unimp + 80001a10: 0000 unimp + 80001a12: 0000 unimp + 80001a14: 0000 unimp + 80001a16: 0000 unimp + 80001a18: 0000 unimp + 80001a1a: 0000 unimp + 80001a1c: 0000 unimp + 80001a1e: 0000 unimp + 80001a20: 0000 unimp + 80001a22: 0000 unimp + 80001a24: 0000 unimp + 80001a26: 0000 unimp + 80001a28: 0000 unimp + 80001a2a: 0000 unimp + 80001a2c: 0000 unimp + 80001a2e: 0000 unimp + 80001a30: 0000 unimp + 80001a32: 0000 unimp + 80001a34: 0000 unimp + 80001a36: 0000 unimp + 80001a38: 0000 unimp + 80001a3a: 0000 unimp + 80001a3c: 0000 unimp + 80001a3e: 0000 unimp + 80001a40: 0000 unimp + 80001a42: 0000 unimp + 80001a44: 0000 unimp + 80001a46: 0000 unimp + 80001a48: 0000 unimp + 80001a4a: 0000 unimp + 80001a4c: 0000 unimp + 80001a4e: 0000 unimp + 80001a50: 0000 unimp + 80001a52: 0000 unimp + 80001a54: 0000 unimp + 80001a56: 0000 unimp + 80001a58: 0000 unimp + 80001a5a: 0000 unimp + 80001a5c: 0000 unimp + 80001a5e: 0000 unimp + 80001a60: 0000 unimp + 80001a62: 0000 unimp + 80001a64: 0000 unimp + 80001a66: 0000 unimp + 80001a68: 0000 unimp + 80001a6a: 0000 unimp + 80001a6c: 0000 unimp + 80001a6e: 0000 unimp + 80001a70: 0000 unimp + 80001a72: 0000 unimp + 80001a74: 0000 unimp + 80001a76: 0000 unimp + 80001a78: 0000 unimp + 80001a7a: 0000 unimp + 80001a7c: 0000 unimp + 80001a7e: 0000 unimp + 80001a80: 0000 unimp + 80001a82: 0000 unimp + 80001a84: 0000 unimp + 80001a86: 0000 unimp + 80001a88: 0000 unimp + 80001a8a: 0000 unimp + 80001a8c: 0000 unimp + 80001a8e: 0000 unimp + 80001a90: 0000 unimp + 80001a92: 0000 unimp + 80001a94: 0000 unimp + 80001a96: 0000 unimp + 80001a98: 0000 unimp + 80001a9a: 0000 unimp + 80001a9c: 0000 unimp + 80001a9e: 0000 unimp + 80001aa0: 0000 unimp + 80001aa2: 0000 unimp + 80001aa4: 0000 unimp + 80001aa6: 0000 unimp + 80001aa8: 0000 unimp + 80001aaa: 0000 unimp + 80001aac: 0000 unimp + 80001aae: 0000 unimp + 80001ab0: 0000 unimp + 80001ab2: 0000 unimp + 80001ab4: 0000 unimp + 80001ab6: 0000 unimp + 80001ab8: 0000 unimp + 80001aba: 0000 unimp + 80001abc: 0000 unimp + 80001abe: 0000 unimp + 80001ac0: 0000 unimp + 80001ac2: 0000 unimp + 80001ac4: 0000 unimp + 80001ac6: 0000 unimp + 80001ac8: 0000 unimp + 80001aca: 0000 unimp + 80001acc: 0000 unimp + 80001ace: 0000 unimp + 80001ad0: 0000 unimp + 80001ad2: 0000 unimp + 80001ad4: 0000 unimp + 80001ad6: 0000 unimp + 80001ad8: 0000 unimp + 80001ada: 0000 unimp + 80001adc: 0000 unimp + 80001ade: 0000 unimp + 80001ae0: 0000 unimp + 80001ae2: 0000 unimp + 80001ae4: 0000 unimp + 80001ae6: 0000 unimp + 80001ae8: 0000 unimp + 80001aea: 0000 unimp + 80001aec: 0000 unimp + 80001aee: 0000 unimp + 80001af0: 0000 unimp + 80001af2: 0000 unimp + 80001af4: 0000 unimp + 80001af6: 0000 unimp + 80001af8: 0000 unimp + 80001afa: 0000 unimp + 80001afc: 0000 unimp + 80001afe: 0000 unimp + 80001b00: 0000 unimp + 80001b02: 0000 unimp + 80001b04: 0000 unimp + 80001b06: 0000 unimp + 80001b08: 0000 unimp + 80001b0a: 0000 unimp + 80001b0c: 0000 unimp + 80001b0e: 0000 unimp + 80001b10: 0000 unimp + 80001b12: 0000 unimp + 80001b14: 0000 unimp + 80001b16: 0000 unimp + 80001b18: 0000 unimp + 80001b1a: 0000 unimp + 80001b1c: 0000 unimp + 80001b1e: 0000 unimp + 80001b20: 0000 unimp + 80001b22: 0000 unimp + 80001b24: 0000 unimp + 80001b26: 0000 unimp + 80001b28: 0000 unimp + 80001b2a: 0000 unimp + 80001b2c: 0000 unimp + 80001b2e: 0000 unimp + 80001b30: 0000 unimp + 80001b32: 0000 unimp + 80001b34: 0000 unimp + 80001b36: 0000 unimp + 80001b38: 0000 unimp + 80001b3a: 0000 unimp + 80001b3c: 0000 unimp + 80001b3e: 0000 unimp + 80001b40: 0000 unimp + 80001b42: 0000 unimp + 80001b44: 0000 unimp + 80001b46: 0000 unimp + 80001b48: 0000 unimp + 80001b4a: 0000 unimp + 80001b4c: 0000 unimp + 80001b4e: 0000 unimp + 80001b50: 0000 unimp + 80001b52: 0000 unimp + 80001b54: 0000 unimp + 80001b56: 0000 unimp + 80001b58: 0000 unimp + 80001b5a: 0000 unimp + 80001b5c: 0000 unimp + 80001b5e: 0000 unimp + 80001b60: 0000 unimp + 80001b62: 0000 unimp + 80001b64: 0000 unimp + 80001b66: 0000 unimp + 80001b68: 0000 unimp + 80001b6a: 0000 unimp + 80001b6c: 0000 unimp + 80001b6e: 0000 unimp + 80001b70: 0000 unimp + 80001b72: 0000 unimp + 80001b74: 0000 unimp + 80001b76: 0000 unimp + 80001b78: 0000 unimp + 80001b7a: 0000 unimp + 80001b7c: 0000 unimp + 80001b7e: 0000 unimp + 80001b80: 0000 unimp + 80001b82: 0000 unimp + 80001b84: 0000 unimp + 80001b86: 0000 unimp + 80001b88: 0000 unimp + 80001b8a: 0000 unimp + 80001b8c: 0000 unimp + 80001b8e: 0000 unimp + 80001b90: 0000 unimp + 80001b92: 0000 unimp + 80001b94: 0000 unimp + 80001b96: 0000 unimp + 80001b98: 0000 unimp + 80001b9a: 0000 unimp + 80001b9c: 0000 unimp + 80001b9e: 0000 unimp + 80001ba0: 0000 unimp + 80001ba2: 0000 unimp + 80001ba4: 0000 unimp + 80001ba6: 0000 unimp + 80001ba8: 0000 unimp + 80001baa: 0000 unimp + 80001bac: 0000 unimp + 80001bae: 0000 unimp + 80001bb0: 0000 unimp + 80001bb2: 0000 unimp + 80001bb4: 0000 unimp + 80001bb6: 0000 unimp + 80001bb8: 0000 unimp + 80001bba: 0000 unimp + 80001bbc: 0000 unimp + 80001bbe: 0000 unimp + 80001bc0: 0000 unimp + 80001bc2: 0000 unimp + 80001bc4: 0000 unimp + 80001bc6: 0000 unimp + 80001bc8: 0000 unimp + 80001bca: 0000 unimp + 80001bcc: 0000 unimp + 80001bce: 0000 unimp + 80001bd0: 0000 unimp + 80001bd2: 0000 unimp + 80001bd4: 0000 unimp + 80001bd6: 0000 unimp + 80001bd8: 0000 unimp + 80001bda: 0000 unimp + 80001bdc: 0000 unimp + 80001bde: 0000 unimp + 80001be0: 0000 unimp + 80001be2: 0000 unimp + 80001be4: 0000 unimp + 80001be6: 0000 unimp + 80001be8: 0000 unimp + 80001bea: 0000 unimp + 80001bec: 0000 unimp + 80001bee: 0000 unimp + 80001bf0: 0000 unimp + 80001bf2: 0000 unimp + 80001bf4: 0000 unimp + 80001bf6: 0000 unimp + 80001bf8: 0000 unimp + 80001bfa: 0000 unimp + 80001bfc: 0000 unimp + 80001bfe: 0000 unimp + 80001c00: 0000 unimp + 80001c02: 0000 unimp + 80001c04: 0000 unimp + 80001c06: 0000 unimp + 80001c08: 0000 unimp + 80001c0a: 0000 unimp + 80001c0c: 0000 unimp + 80001c0e: 0000 unimp + 80001c10: 0000 unimp + 80001c12: 0000 unimp + 80001c14: 0000 unimp + 80001c16: 0000 unimp + 80001c18: 0000 unimp + 80001c1a: 0000 unimp + 80001c1c: 0000 unimp + 80001c1e: 0000 unimp + 80001c20: 0000 unimp + 80001c22: 0000 unimp + 80001c24: 0000 unimp + 80001c26: 0000 unimp + 80001c28: 0000 unimp + 80001c2a: 0000 unimp + 80001c2c: 0000 unimp + 80001c2e: 0000 unimp + 80001c30: 0000 unimp + 80001c32: 0000 unimp + 80001c34: 0000 unimp + 80001c36: 0000 unimp + 80001c38: 0000 unimp + 80001c3a: 0000 unimp + 80001c3c: 0000 unimp + 80001c3e: 0000 unimp + 80001c40: 0000 unimp + 80001c42: 0000 unimp + 80001c44: 0000 unimp + 80001c46: 0000 unimp + 80001c48: 0000 unimp + 80001c4a: 0000 unimp + 80001c4c: 0000 unimp + 80001c4e: 0000 unimp + 80001c50: 0000 unimp + 80001c52: 0000 unimp + 80001c54: 0000 unimp + 80001c56: 0000 unimp + 80001c58: 0000 unimp + 80001c5a: 0000 unimp + 80001c5c: 0000 unimp + 80001c5e: 0000 unimp + 80001c60: 0000 unimp + 80001c62: 0000 unimp + 80001c64: 0000 unimp + 80001c66: 0000 unimp + 80001c68: 0000 unimp + 80001c6a: 0000 unimp + 80001c6c: 0000 unimp + 80001c6e: 0000 unimp + 80001c70: 0000 unimp + 80001c72: 0000 unimp + 80001c74: 0000 unimp + 80001c76: 0000 unimp + 80001c78: 0000 unimp + 80001c7a: 0000 unimp + 80001c7c: 0000 unimp + 80001c7e: 0000 unimp + 80001c80: 0000 unimp + 80001c82: 0000 unimp + 80001c84: 0000 unimp + 80001c86: 0000 unimp + 80001c88: 0000 unimp + 80001c8a: 0000 unimp + 80001c8c: 0000 unimp + 80001c8e: 0000 unimp + 80001c90: 0000 unimp + 80001c92: 0000 unimp + 80001c94: 0000 unimp + 80001c96: 0000 unimp + 80001c98: 0000 unimp + 80001c9a: 0000 unimp + 80001c9c: 0000 unimp + 80001c9e: 0000 unimp + 80001ca0: 0000 unimp + 80001ca2: 0000 unimp + 80001ca4: 0000 unimp + 80001ca6: 0000 unimp + 80001ca8: 0000 unimp + 80001caa: 0000 unimp + 80001cac: 0000 unimp + 80001cae: 0000 unimp + 80001cb0: 0000 unimp + 80001cb2: 0000 unimp + 80001cb4: 0000 unimp + 80001cb6: 0000 unimp + 80001cb8: 0000 unimp + 80001cba: 0000 unimp + 80001cbc: 0000 unimp + 80001cbe: 0000 unimp + 80001cc0: 0000 unimp + 80001cc2: 0000 unimp + 80001cc4: 0000 unimp + 80001cc6: 0000 unimp + 80001cc8: 0000 unimp + 80001cca: 0000 unimp + 80001ccc: 0000 unimp + 80001cce: 0000 unimp + 80001cd0: 0000 unimp + 80001cd2: 0000 unimp + 80001cd4: 0000 unimp + 80001cd6: 0000 unimp + 80001cd8: 0000 unimp + 80001cda: 0000 unimp + 80001cdc: 0000 unimp + 80001cde: 0000 unimp + 80001ce0: 0000 unimp + 80001ce2: 0000 unimp + 80001ce4: 0000 unimp + 80001ce6: 0000 unimp + 80001ce8: 0000 unimp + 80001cea: 0000 unimp + 80001cec: 0000 unimp + 80001cee: 0000 unimp + 80001cf0: 0000 unimp + 80001cf2: 0000 unimp + 80001cf4: 0000 unimp + 80001cf6: 0000 unimp + 80001cf8: 0000 unimp + 80001cfa: 0000 unimp + 80001cfc: 0000 unimp + 80001cfe: 0000 unimp + 80001d00: 0000 unimp + 80001d02: 0000 unimp + 80001d04: 0000 unimp + 80001d06: 0000 unimp + 80001d08: 0000 unimp + 80001d0a: 0000 unimp + 80001d0c: 0000 unimp + 80001d0e: 0000 unimp + 80001d10: 0000 unimp + 80001d12: 0000 unimp + 80001d14: 0000 unimp + 80001d16: 0000 unimp + 80001d18: 0000 unimp + 80001d1a: 0000 unimp + 80001d1c: 0000 unimp + 80001d1e: 0000 unimp + 80001d20: 0000 unimp + 80001d22: 0000 unimp + 80001d24: 0000 unimp + 80001d26: 0000 unimp + 80001d28: 0000 unimp + 80001d2a: 0000 unimp + 80001d2c: 0000 unimp + 80001d2e: 0000 unimp + 80001d30: 0000 unimp + 80001d32: 0000 unimp + 80001d34: 0000 unimp + 80001d36: 0000 unimp + 80001d38: 0000 unimp + 80001d3a: 0000 unimp + 80001d3c: 0000 unimp + 80001d3e: 0000 unimp + 80001d40: 0000 unimp + 80001d42: 0000 unimp + 80001d44: 0000 unimp + 80001d46: 0000 unimp + 80001d48: 0000 unimp + 80001d4a: 0000 unimp + 80001d4c: 0000 unimp + 80001d4e: 0000 unimp + 80001d50: 0000 unimp + 80001d52: 0000 unimp + 80001d54: 0000 unimp + 80001d56: 0000 unimp + 80001d58: 0000 unimp + 80001d5a: 0000 unimp + 80001d5c: 0000 unimp + 80001d5e: 0000 unimp + 80001d60: 0000 unimp + 80001d62: 0000 unimp + 80001d64: 0000 unimp + 80001d66: 0000 unimp + 80001d68: 0000 unimp + 80001d6a: 0000 unimp + 80001d6c: 0000 unimp + 80001d6e: 0000 unimp + 80001d70: 0000 unimp + 80001d72: 0000 unimp + 80001d74: 0000 unimp + 80001d76: 0000 unimp + 80001d78: 0000 unimp + 80001d7a: 0000 unimp + 80001d7c: 0000 unimp + 80001d7e: 0000 unimp + 80001d80: 0000 unimp + 80001d82: 0000 unimp + 80001d84: 0000 unimp + 80001d86: 0000 unimp + 80001d88: 0000 unimp + 80001d8a: 0000 unimp + 80001d8c: 0000 unimp + 80001d8e: 0000 unimp + 80001d90: 0000 unimp + 80001d92: 0000 unimp + 80001d94: 0000 unimp + 80001d96: 0000 unimp + 80001d98: 0000 unimp + 80001d9a: 0000 unimp + 80001d9c: 0000 unimp + 80001d9e: 0000 unimp + 80001da0: 0000 unimp + 80001da2: 0000 unimp + 80001da4: 0000 unimp + 80001da6: 0000 unimp + 80001da8: 0000 unimp + 80001daa: 0000 unimp + 80001dac: 0000 unimp + 80001dae: 0000 unimp + 80001db0: 0000 unimp + 80001db2: 0000 unimp + 80001db4: 0000 unimp + 80001db6: 0000 unimp + 80001db8: 0000 unimp + 80001dba: 0000 unimp + 80001dbc: 0000 unimp + 80001dbe: 0000 unimp + 80001dc0: 0000 unimp + 80001dc2: 0000 unimp + 80001dc4: 0000 unimp + 80001dc6: 0000 unimp + 80001dc8: 0000 unimp + 80001dca: 0000 unimp + 80001dcc: 0000 unimp + 80001dce: 0000 unimp + 80001dd0: 0000 unimp + 80001dd2: 0000 unimp + 80001dd4: 0000 unimp + 80001dd6: 0000 unimp + 80001dd8: 0000 unimp + 80001dda: 0000 unimp + 80001ddc: 0000 unimp + 80001dde: 0000 unimp + 80001de0: 0000 unimp + 80001de2: 0000 unimp + 80001de4: 0000 unimp + 80001de6: 0000 unimp + 80001de8: 0000 unimp + 80001dea: 0000 unimp + 80001dec: 0000 unimp + 80001dee: 0000 unimp + 80001df0: 0000 unimp + 80001df2: 0000 unimp + 80001df4: 0000 unimp + 80001df6: 0000 unimp + 80001df8: 0000 unimp + 80001dfa: 0000 unimp + 80001dfc: 0000 unimp + 80001dfe: 0000 unimp + 80001e00: 0000 unimp + 80001e02: 0000 unimp + 80001e04: 0000 unimp + 80001e06: 0000 unimp + 80001e08: 0000 unimp + 80001e0a: 0000 unimp + 80001e0c: 0000 unimp + 80001e0e: 0000 unimp + 80001e10: 0000 unimp + 80001e12: 0000 unimp + 80001e14: 0000 unimp + 80001e16: 0000 unimp + 80001e18: 0000 unimp + 80001e1a: 0000 unimp + 80001e1c: 0000 unimp + 80001e1e: 0000 unimp + 80001e20: 0000 unimp + 80001e22: 0000 unimp + 80001e24: 0000 unimp + 80001e26: 0000 unimp + 80001e28: 0000 unimp + 80001e2a: 0000 unimp + 80001e2c: 0000 unimp + 80001e2e: 0000 unimp + 80001e30: 0000 unimp + 80001e32: 0000 unimp + 80001e34: 0000 unimp + 80001e36: 0000 unimp + 80001e38: 0000 unimp + 80001e3a: 0000 unimp + 80001e3c: 0000 unimp + 80001e3e: 0000 unimp + 80001e40: 0000 unimp + 80001e42: 0000 unimp + 80001e44: 0000 unimp + 80001e46: 0000 unimp + 80001e48: 0000 unimp + 80001e4a: 0000 unimp + 80001e4c: 0000 unimp + 80001e4e: 0000 unimp + 80001e50: 0000 unimp + 80001e52: 0000 unimp + 80001e54: 0000 unimp + 80001e56: 0000 unimp + 80001e58: 0000 unimp + 80001e5a: 0000 unimp + 80001e5c: 0000 unimp + 80001e5e: 0000 unimp + 80001e60: 0000 unimp + 80001e62: 0000 unimp + 80001e64: 0000 unimp + 80001e66: 0000 unimp + 80001e68: 0000 unimp + 80001e6a: 0000 unimp + 80001e6c: 0000 unimp + 80001e6e: 0000 unimp + 80001e70: 0000 unimp + 80001e72: 0000 unimp + 80001e74: 0000 unimp + 80001e76: 0000 unimp + 80001e78: 0000 unimp + 80001e7a: 0000 unimp + 80001e7c: 0000 unimp + 80001e7e: 0000 unimp + 80001e80: 0000 unimp + 80001e82: 0000 unimp + 80001e84: 0000 unimp + 80001e86: 0000 unimp + 80001e88: 0000 unimp + 80001e8a: 0000 unimp + 80001e8c: 0000 unimp + 80001e8e: 0000 unimp + 80001e90: 0000 unimp + 80001e92: 0000 unimp + 80001e94: 0000 unimp + 80001e96: 0000 unimp + 80001e98: 0000 unimp + 80001e9a: 0000 unimp + 80001e9c: 0000 unimp + 80001e9e: 0000 unimp + 80001ea0: 0000 unimp + 80001ea2: 0000 unimp + 80001ea4: 0000 unimp + 80001ea6: 0000 unimp + 80001ea8: 0000 unimp + 80001eaa: 0000 unimp + 80001eac: 0000 unimp + 80001eae: 0000 unimp + 80001eb0: 0000 unimp + 80001eb2: 0000 unimp + 80001eb4: 0000 unimp + 80001eb6: 0000 unimp + 80001eb8: 0000 unimp + 80001eba: 0000 unimp + 80001ebc: 0000 unimp + 80001ebe: 0000 unimp + 80001ec0: 0000 unimp + 80001ec2: 0000 unimp + 80001ec4: 0000 unimp + 80001ec6: 0000 unimp + 80001ec8: 0000 unimp + 80001eca: 0000 unimp + 80001ecc: 0000 unimp + 80001ece: 0000 unimp + 80001ed0: 0000 unimp + 80001ed2: 0000 unimp + 80001ed4: 0000 unimp + 80001ed6: 0000 unimp + 80001ed8: 0000 unimp + 80001eda: 0000 unimp + 80001edc: 0000 unimp + 80001ede: 0000 unimp + 80001ee0: 0000 unimp + 80001ee2: 0000 unimp + 80001ee4: 0000 unimp + 80001ee6: 0000 unimp + 80001ee8: 0000 unimp + 80001eea: 0000 unimp + 80001eec: 0000 unimp + 80001eee: 0000 unimp + 80001ef0: 0000 unimp + 80001ef2: 0000 unimp + 80001ef4: 0000 unimp + 80001ef6: 0000 unimp + 80001ef8: 0000 unimp + 80001efa: 0000 unimp + 80001efc: 0000 unimp + 80001efe: 0000 unimp + 80001f00: 0000 unimp + 80001f02: 0000 unimp + 80001f04: 0000 unimp + 80001f06: 0000 unimp + 80001f08: 0000 unimp + 80001f0a: 0000 unimp + 80001f0c: 0000 unimp + 80001f0e: 0000 unimp + 80001f10: 0000 unimp + 80001f12: 0000 unimp + 80001f14: 0000 unimp + 80001f16: 0000 unimp + 80001f18: 0000 unimp + 80001f1a: 0000 unimp + 80001f1c: 0000 unimp + 80001f1e: 0000 unimp + 80001f20: 0000 unimp + 80001f22: 0000 unimp + 80001f24: 0000 unimp + 80001f26: 0000 unimp + 80001f28: 0000 unimp + 80001f2a: 0000 unimp + 80001f2c: 0000 unimp + 80001f2e: 0000 unimp + 80001f30: 0000 unimp + 80001f32: 0000 unimp + 80001f34: 0000 unimp + 80001f36: 0000 unimp + 80001f38: 0000 unimp + 80001f3a: 0000 unimp + 80001f3c: 0000 unimp + 80001f3e: 0000 unimp + 80001f40: 0000 unimp + 80001f42: 0000 unimp + 80001f44: 0000 unimp + 80001f46: 0000 unimp + 80001f48: 0000 unimp + 80001f4a: 0000 unimp + 80001f4c: 0000 unimp + 80001f4e: 0000 unimp + 80001f50: 0000 unimp + 80001f52: 0000 unimp + 80001f54: 0000 unimp + 80001f56: 0000 unimp + 80001f58: 0000 unimp + 80001f5a: 0000 unimp + 80001f5c: 0000 unimp + 80001f5e: 0000 unimp + 80001f60: 0000 unimp + 80001f62: 0000 unimp + 80001f64: 0000 unimp + 80001f66: 0000 unimp + 80001f68: 0000 unimp + 80001f6a: 0000 unimp + 80001f6c: 0000 unimp + 80001f6e: 0000 unimp + 80001f70: 0000 unimp + 80001f72: 0000 unimp + 80001f74: 0000 unimp + 80001f76: 0000 unimp + 80001f78: 0000 unimp + 80001f7a: 0000 unimp + 80001f7c: 0000 unimp + 80001f7e: 0000 unimp + 80001f80: 0000 unimp + 80001f82: 0000 unimp + 80001f84: 0000 unimp + 80001f86: 0000 unimp + 80001f88: 0000 unimp + 80001f8a: 0000 unimp + 80001f8c: 0000 unimp + 80001f8e: 0000 unimp + 80001f90: 0000 unimp + 80001f92: 0000 unimp + 80001f94: 0000 unimp + 80001f96: 0000 unimp + 80001f98: 0000 unimp + 80001f9a: 0000 unimp + 80001f9c: 0000 unimp + 80001f9e: 0000 unimp + 80001fa0: 0000 unimp + 80001fa2: 0000 unimp + 80001fa4: 0000 unimp + 80001fa6: 0000 unimp + 80001fa8: 0000 unimp + 80001faa: 0000 unimp + 80001fac: 0000 unimp + 80001fae: 0000 unimp + 80001fb0: 0000 unimp + 80001fb2: 0000 unimp + 80001fb4: 0000 unimp + 80001fb6: 0000 unimp + 80001fb8: 0000 unimp + 80001fba: 0000 unimp + 80001fbc: 0000 unimp + 80001fbe: 0000 unimp + 80001fc0: 0000 unimp + 80001fc2: 0000 unimp + 80001fc4: 0000 unimp + 80001fc6: 0000 unimp + 80001fc8: 0000 unimp + 80001fca: 0000 unimp + 80001fcc: 0000 unimp + 80001fce: 0000 unimp + 80001fd0: 0000 unimp + 80001fd2: 0000 unimp + 80001fd4: 0000 unimp + 80001fd6: 0000 unimp + 80001fd8: 0000 unimp + 80001fda: 0000 unimp + 80001fdc: 0000 unimp + 80001fde: 0000 unimp + 80001fe0: 0000 unimp + 80001fe2: 0000 unimp + 80001fe4: 0000 unimp + 80001fe6: 0000 unimp + 80001fe8: 0000 unimp + 80001fea: 0000 unimp + 80001fec: 0000 unimp + 80001fee: 0000 unimp + 80001ff0: 0000 unimp + 80001ff2: 0000 unimp + 80001ff4: 0000 unimp + 80001ff6: 0000 unimp + 80001ff8: 0000 unimp + 80001ffa: 0000 unimp + 80001ffc: 0000 unimp + 80001ffe: 00158593 addi a1,a1,1 + 80002002: 29b00e93 li t4,667 + 80002006: 00200193 li gp,2 + 8000200a: 2dd59163 bne a1,t4,800022cc + 8000200e: 00001137 lui sp,0x1 + 80002012: 2341011b addiw sp,sp,564 + +0000000080002016 : + 80002016: 1fe8 addi a0,sp,1020 + 80002018: 00001eb7 lui t4,0x1 + 8000201c: 630e8e9b addiw t4,t4,1584 + 80002020: 00300193 li gp,3 + 80002024: 2bd51463 bne a0,t4,800022cc + +0000000080002028 : + 80002028: 617d addi sp,sp,496 + 8000202a: 0001 nop + 8000202c: 00001eb7 lui t4,0x1 + 80002030: 424e8e9b addiw t4,t4,1060 + 80002034: 00400193 li gp,4 + 80002038: 29d11a63 bne sp,t4,800022cc + +000000008000203c : + 8000203c: 7101 addi sp,sp,-512 + 8000203e: 0001 nop + 80002040: 00001eb7 lui t4,0x1 + 80002044: 224e8e9b addiw t4,t4,548 + 80002048: 00500193 li gp,5 + 8000204c: 29d11063 bne sp,t4,800022cc + 80002050: ffffe597 auipc a1,0xffffe + 80002054: 0b858593 addi a1,a1,184 # 80000108 + +0000000080002058 : + 80002058: 41c8 lw a0,4(a1) + 8000205a: 0505 addi a0,a0,1 + 8000205c: c1c8 sw a0,4(a1) + 8000205e: 41d0 lw a2,4(a1) + 80002060: fedcceb7 lui t4,0xfedcc + 80002064: a99e8e9b addiw t4,t4,-1383 + 80002068: 00600193 li gp,6 + 8000206c: 27d61063 bne a2,t4,800022cc + +0000000080002070 : + 80002070: 6188 ld a0,0(a1) + 80002072: 0505 addi a0,a0,1 + 80002074: e188 sd a0,0(a1) + 80002076: 6190 ld a2,0(a1) + 80002078: fff6eeb7 lui t4,0xfff6e + 8000207c: 5d5e8e9b addiw t4,t4,1493 + 80002080: 00ce9e93 slli t4,t4,0xc + 80002084: cbbe8e93 addi t4,t4,-837 # fffffffffff6dcbb <_end+0xffffffff7ff69cbb> + 80002088: 00de9e93 slli t4,t4,0xd + 8000208c: 543e8e93 addi t4,t4,1347 + 80002090: 00ce9e93 slli t4,t4,0xc + 80002094: 211e8e93 addi t4,t4,529 + 80002098: 00700193 li gp,7 + 8000209c: 23d61863 bne a2,t4,800022cc + +00000000800020a0 : + 800020a0: 00106513 ori a0,zero,1 + 800020a4: 1541 addi a0,a0,-16 + 800020a6: 0001 nop + 800020a8: ff100e93 li t4,-15 + 800020ac: 00800193 li gp,8 + 800020b0: 21d51e63 bne a0,t4,800022cc + +00000000800020b4 : + 800020b4: 00106793 ori a5,zero,1 + 800020b8: 57c1 li a5,-16 + 800020ba: 0001 nop + 800020bc: ff000e93 li t4,-16 + 800020c0: 00900193 li gp,9 + 800020c4: 21d79463 bne a5,t4,800022cc + +00000000800020c8 : + 800020c8: 6188 ld a0,0(a1) + 800020ca: 357d addiw a0,a0,-1 + 800020cc: 76543eb7 lui t4,0x76543 + 800020d0: 210e8e9b addiw t4,t4,528 + 800020d4: 00a00193 li gp,10 + 800020d8: 1fd51a63 bne a0,t4,800022cc + +00000000800020dc : + 800020dc: 7405 lui s0,0xfffe1 + 800020de: 8431 srai s0,s0,0xc + 800020e0: fe100e93 li t4,-31 + 800020e4: 00b00193 li gp,11 + 800020e8: 1fd41263 bne s0,t4,800022cc + +00000000800020ec : + 800020ec: 7405 lui s0,0xfffe1 + 800020ee: 8031 srli s0,s0,0xc + 800020f0: 00100e9b addiw t4,zero,1 + 800020f4: 034e9e93 slli t4,t4,0x34 + 800020f8: fe1e8e93 addi t4,t4,-31 # 76542fe1 <_start-0x9abd01f> + 800020fc: 00c00193 li gp,12 + 80002100: 1dd41663 bne s0,t4,800022cc + +0000000080002104 : + 80002104: 5479 li s0,-2 + 80002106: 983d andi s0,s0,-17 + 80002108: fee00e93 li t4,-18 + 8000210c: 00e00193 li gp,14 + 80002110: 1bd41e63 bne s0,t4,800022cc + +0000000080002114 : + 80002114: 44d1 li s1,20 + 80002116: 4519 li a0,6 + 80002118: 8c89 sub s1,s1,a0 + 8000211a: 0001 nop + 8000211c: 00e00e93 li t4,14 + 80002120: 00f00193 li gp,15 + 80002124: 1bd49463 bne s1,t4,800022cc + +0000000080002128 : + 80002128: 44d1 li s1,20 + 8000212a: 4519 li a0,6 + 8000212c: 8ca9 xor s1,s1,a0 + 8000212e: 0001 nop + 80002130: 01200e93 li t4,18 + 80002134: 01000193 li gp,16 + 80002138: 19d49a63 bne s1,t4,800022cc + +000000008000213c : + 8000213c: 44d1 li s1,20 + 8000213e: 4519 li a0,6 + 80002140: 8cc9 or s1,s1,a0 + 80002142: 0001 nop + 80002144: 01600e93 li t4,22 + 80002148: 01100193 li gp,17 + 8000214c: 19d49063 bne s1,t4,800022cc + +0000000080002150 : + 80002150: 44d1 li s1,20 + 80002152: 4519 li a0,6 + 80002154: 8ce9 and s1,s1,a0 + 80002156: 0001 nop + 80002158: 00400e93 li t4,4 + 8000215c: 01200193 li gp,18 + 80002160: 17d49663 bne s1,t4,800022cc + +0000000080002164 : + 80002164: 800004b7 lui s1,0x80000 + 80002168: fff4849b addiw s1,s1,-1 + 8000216c: 557d li a0,-1 + 8000216e: 9c89 subw s1,s1,a0 + 80002170: 80000eb7 lui t4,0x80000 + 80002174: 01300193 li gp,19 + 80002178: 15d49a63 bne s1,t4,800022cc + +000000008000217c : + 8000217c: 800004b7 lui s1,0x80000 + 80002180: fff4849b addiw s1,s1,-1 + 80002184: 4505 li a0,1 + 80002186: 9ca9 addw s1,s1,a0 + 80002188: 80000eb7 lui t4,0x80000 + 8000218c: 01400193 li gp,20 + 80002190: 13d49e63 bne s1,t4,800022cc + +0000000080002194 : + 80002194: 00001437 lui s0,0x1 + 80002198: 2344041b addiw s0,s0,564 + 8000219c: 0412 slli s0,s0,0x4 + 8000219e: 0001 nop + 800021a0: 00012eb7 lui t4,0x12 + 800021a4: 340e8e9b addiw t4,t4,832 + 800021a8: 01500193 li gp,21 + 800021ac: 13d41063 bne s0,t4,800022cc + +00000000800021b0 : + 800021b0: 4081 li ra,0 + 800021b2: a011 j 800021b6 + 800021b4: a011 j 800021b8 + 800021b6: a011 j 800021ba + 800021b8: aa11 j 800022cc + 800021ba: 0001 nop + 800021bc: 00000e93 li t4,0 + 800021c0: 01e00193 li gp,30 + 800021c4: 11d09463 bne ra,t4,800022cc + +00000000800021c8 : + 800021c8: 4501 li a0,0 + 800021ca: c111 beqz a0,800021ce + 800021cc: a011 j 800021d0 + 800021ce: a011 j 800021d2 + 800021d0: a8f5 j 800022cc + 800021d2: 0001 nop + 800021d4: 00000e93 li t4,0 + 800021d8: 01f00193 li gp,31 + 800021dc: 0fd01863 bne zero,t4,800022cc + +00000000800021e0 : + 800021e0: 4505 li a0,1 + 800021e2: e111 bnez a0,800021e6 + 800021e4: a011 j 800021e8 + 800021e6: a011 j 800021ea + 800021e8: a0d5 j 800022cc + 800021ea: 0001 nop + 800021ec: 00000e93 li t4,0 + 800021f0: 02000193 li gp,32 + 800021f4: 0dd01c63 bne zero,t4,800022cc + +00000000800021f8 : + 800021f8: 4505 li a0,1 + 800021fa: c111 beqz a0,800021fe + 800021fc: a011 j 80002200 + 800021fe: a0f9 j 800022cc + 80002200: 00000e93 li t4,0 + 80002204: 02100193 li gp,33 + 80002208: 0dd01263 bne zero,t4,800022cc + +000000008000220c : + 8000220c: 4501 li a0,0 + 8000220e: e111 bnez a0,80002212 + 80002210: a011 j 80002214 + 80002212: a86d j 800022cc + 80002214: 00000e93 li t4,0 + 80002218: 02200193 li gp,34 + 8000221c: 0bd01863 bne zero,t4,800022cc + +0000000080002220 : + 80002220: 00000297 auipc t0,0x0 + 80002224: 00e28293 addi t0,t0,14 # 8000222e + 80002228: 4081 li ra,0 + 8000222a: 8282 jr t0 + 8000222c: a011 j 80002230 + 8000222e: a011 j 80002232 + 80002230: a871 j 800022cc + 80002232: 0001 nop + 80002234: 00000e93 li t4,0 + 80002238: 02300193 li gp,35 + 8000223c: 09d09863 bne ra,t4,800022cc + +0000000080002240 : + 80002240: 00000297 auipc t0,0x0 + 80002244: 00e28293 addi t0,t0,14 # 8000224e + 80002248: 4081 li ra,0 + 8000224a: 9282 jalr t0 + 8000224c: a011 j 80002250 + 8000224e: a011 j 80002252 + 80002250: a8b5 j 800022cc + 80002252: 405080b3 sub ra,ra,t0 + 80002256: 0001 nop + 80002258: ffe00e93 li t4,-2 + 8000225c: 02400193 li gp,36 + 80002260: 07d09663 bne ra,t4,800022cc + 80002264: ffffe117 auipc sp,0xffffe + 80002268: ea410113 addi sp,sp,-348 # 80000108 + +000000008000226c : + 8000226c: 4532 lw a0,12(sp) + 8000226e: 0505 addi a0,a0,1 + 80002270: c62a sw a0,12(sp) + 80002272: 4632 lw a2,12(sp) + 80002274: fedcceb7 lui t4,0xfedcc + 80002278: a99e8e9b addiw t4,t4,-1383 + 8000227c: 02800193 li gp,40 + 80002280: 05d61663 bne a2,t4,800022cc + +0000000080002284 : + 80002284: 6522 ld a0,8(sp) + 80002286: 0505 addi a0,a0,1 + 80002288: e42a sd a0,8(sp) + 8000228a: 6622 ld a2,8(sp) + 8000228c: fff6eeb7 lui t4,0xfff6e + 80002290: 5d5e8e9b addiw t4,t4,1493 + 80002294: 00ce9e93 slli t4,t4,0xc + 80002298: cbbe8e93 addi t4,t4,-837 # fffffffffff6dcbb <_end+0xffffffff7ff69cbb> + 8000229c: 00de9e93 slli t4,t4,0xd + 800022a0: 543e8e93 addi t4,t4,1347 + 800022a4: 00ce9e93 slli t4,t4,0xc + 800022a8: 211e8e93 addi t4,t4,529 + 800022ac: 02900193 li gp,41 + 800022b0: 01d61e63 bne a2,t4,800022cc + +00000000800022b4 : + 800022b4: 12300513 li a0,291 + 800022b8: 82aa mv t0,a0 + 800022ba: 92aa add t0,t0,a0 + 800022bc: 24600e93 li t4,582 + 800022c0: 02a00193 li gp,42 + 800022c4: 01d29463 bne t0,t4,800022cc + 800022c8: 00301c63 bne zero,gp,800022e0 + +00000000800022cc : + 800022cc: 0ff0000f fence + 800022d0: 00018063 beqz gp,800022d0 + 800022d4: 00119193 slli gp,gp,0x1 + 800022d8: 0011e193 ori gp,gp,1 + 800022dc: 00000073 ecall + +00000000800022e0 : + 800022e0: 0ff0000f fence + 800022e4: 00100193 li gp,1 + 800022e8: 00000073 ecall + 800022ec: c0001073 unimp + 800022f0: 0000 unimp + 800022f2: 0000 unimp + 800022f4: 0000 unimp + 800022f6: 0000 unimp + 800022f8: 0000 unimp + 800022fa: 0000 unimp + 800022fc: 0000 unimp + 800022fe: 0000 unimp + 80002300: 0000 unimp + 80002302: 0000 unimp + 80002304: 0000 unimp + 80002306: 0000 unimp + 80002308: 0000 unimp + 8000230a: 0000 unimp + 8000230c: 0000 unimp + 8000230e: 0000 unimp + 80002310: 0000 unimp + 80002312: 0000 unimp + 80002314: 0000 unimp + 80002316: 0000 unimp + 80002318: 0000 unimp + 8000231a: 0000 unimp + 8000231c: 0000 unimp + 8000231e: 0000 unimp + 80002320: 0000 unimp + 80002322: 0000 unimp + 80002324: 0000 unimp + 80002326: 0000 unimp + 80002328: 0000 unimp + 8000232a: 0000 unimp + 8000232c: 0000 unimp + 8000232e: 0000 unimp + 80002330: 0000 unimp + 80002332: 0000 unimp + 80002334: 0000 unimp + 80002336: 0000 unimp + 80002338: 0000 unimp + 8000233a: 0000 unimp + 8000233c: 0000 unimp + 8000233e: 0000 unimp + 80002340: 0000 unimp + 80002342: 0000 unimp + 80002344: 0000 unimp + 80002346: 0000 unimp + 80002348: 0000 unimp + 8000234a: 0000 unimp + 8000234c: 0000 unimp + 8000234e: 0000 unimp + 80002350: 0000 unimp + 80002352: 0000 unimp + 80002354: 0000 unimp + 80002356: 0000 unimp + 80002358: 0000 unimp + 8000235a: 0000 unimp + 8000235c: 0000 unimp + 8000235e: 0000 unimp + 80002360: 0000 unimp + 80002362: 0000 unimp + 80002364: 0000 unimp + 80002366: 0000 unimp + 80002368: 0000 unimp + 8000236a: 0000 unimp + 8000236c: 0000 unimp + 8000236e: 0000 unimp + 80002370: 0000 unimp + 80002372: 0000 unimp + 80002374: 0000 unimp + 80002376: 0000 unimp + 80002378: 0000 unimp + 8000237a: 0000 unimp + 8000237c: 0000 unimp + 8000237e: 0000 unimp + 80002380: 0000 unimp + 80002382: 0000 unimp + 80002384: 0000 unimp + 80002386: 0000 unimp + 80002388: 0000 unimp + 8000238a: 0000 unimp + 8000238c: 0000 unimp + 8000238e: 0000 unimp + 80002390: 0000 unimp + 80002392: 0000 unimp + 80002394: 0000 unimp + 80002396: 0000 unimp + 80002398: 0000 unimp + 8000239a: 0000 unimp + 8000239c: 0000 unimp + 8000239e: 0000 unimp + 800023a0: 0000 unimp + 800023a2: 0000 unimp + 800023a4: 0000 unimp + 800023a6: 0000 unimp + 800023a8: 0000 unimp + 800023aa: 0000 unimp + 800023ac: 0000 unimp + 800023ae: 0000 unimp + 800023b0: 0000 unimp + 800023b2: 0000 unimp + 800023b4: 0000 unimp + 800023b6: 0000 unimp + 800023b8: 0000 unimp + 800023ba: 0000 unimp + 800023bc: 0000 unimp + 800023be: 0000 unimp + 800023c0: 0000 unimp + 800023c2: 0000 unimp + 800023c4: 0000 unimp + 800023c6: 0000 unimp + 800023c8: 0000 unimp + 800023ca: 0000 unimp + 800023cc: 0000 unimp + 800023ce: 0000 unimp + 800023d0: 0000 unimp + 800023d2: 0000 unimp + 800023d4: 0000 unimp + 800023d6: 0000 unimp + 800023d8: 0000 unimp + 800023da: 0000 unimp + 800023dc: 0000 unimp + 800023de: 0000 unimp + 800023e0: 0000 unimp + 800023e2: 0000 unimp + 800023e4: 0000 unimp + 800023e6: 0000 unimp + 800023e8: 0000 unimp + 800023ea: 0000 unimp + 800023ec: 0000 unimp + 800023ee: 0000 unimp + 800023f0: 0000 unimp + 800023f2: 0000 unimp + 800023f4: 0000 unimp + 800023f6: 0000 unimp + 800023f8: 0000 unimp + 800023fa: 0000 unimp + 800023fc: 0000 unimp + 800023fe: 0000 unimp + 80002400: 0000 unimp + 80002402: 0000 unimp + 80002404: 0000 unimp + 80002406: 0000 unimp + 80002408: 0000 unimp + 8000240a: 0000 unimp + 8000240c: 0000 unimp + 8000240e: 0000 unimp + 80002410: 0000 unimp + 80002412: 0000 unimp + 80002414: 0000 unimp + 80002416: 0000 unimp + 80002418: 0000 unimp + 8000241a: 0000 unimp + 8000241c: 0000 unimp + 8000241e: 0000 unimp + 80002420: 0000 unimp + 80002422: 0000 unimp + 80002424: 0000 unimp + 80002426: 0000 unimp + 80002428: 0000 unimp + 8000242a: 0000 unimp + 8000242c: 0000 unimp + 8000242e: 0000 unimp + 80002430: 0000 unimp + 80002432: 0000 unimp + 80002434: 0000 unimp + 80002436: 0000 unimp + 80002438: 0000 unimp + 8000243a: 0000 unimp + 8000243c: 0000 unimp + 8000243e: 0000 unimp + 80002440: 0000 unimp + 80002442: 0000 unimp + 80002444: 0000 unimp + 80002446: 0000 unimp + 80002448: 0000 unimp + 8000244a: 0000 unimp + 8000244c: 0000 unimp + 8000244e: 0000 unimp + 80002450: 0000 unimp + 80002452: 0000 unimp + 80002454: 0000 unimp + 80002456: 0000 unimp + 80002458: 0000 unimp + 8000245a: 0000 unimp + 8000245c: 0000 unimp + 8000245e: 0000 unimp + 80002460: 0000 unimp + 80002462: 0000 unimp + 80002464: 0000 unimp + 80002466: 0000 unimp + 80002468: 0000 unimp + 8000246a: 0000 unimp + 8000246c: 0000 unimp + 8000246e: 0000 unimp + 80002470: 0000 unimp + 80002472: 0000 unimp + 80002474: 0000 unimp + 80002476: 0000 unimp + 80002478: 0000 unimp + 8000247a: 0000 unimp + 8000247c: 0000 unimp + 8000247e: 0000 unimp + 80002480: 0000 unimp + 80002482: 0000 unimp + 80002484: 0000 unimp + 80002486: 0000 unimp + 80002488: 0000 unimp + 8000248a: 0000 unimp + 8000248c: 0000 unimp + 8000248e: 0000 unimp + 80002490: 0000 unimp + 80002492: 0000 unimp + 80002494: 0000 unimp + 80002496: 0000 unimp + 80002498: 0000 unimp + 8000249a: 0000 unimp + 8000249c: 0000 unimp + 8000249e: 0000 unimp + 800024a0: 0000 unimp + 800024a2: 0000 unimp + 800024a4: 0000 unimp + 800024a6: 0000 unimp + 800024a8: 0000 unimp + 800024aa: 0000 unimp + 800024ac: 0000 unimp + 800024ae: 0000 unimp + 800024b0: 0000 unimp + 800024b2: 0000 unimp + 800024b4: 0000 unimp + 800024b6: 0000 unimp + 800024b8: 0000 unimp + 800024ba: 0000 unimp + 800024bc: 0000 unimp + 800024be: 0000 unimp + 800024c0: 0000 unimp + 800024c2: 0000 unimp + 800024c4: 0000 unimp + 800024c6: 0000 unimp + 800024c8: 0000 unimp + 800024ca: 0000 unimp + 800024cc: 0000 unimp + 800024ce: 0000 unimp + 800024d0: 0000 unimp + 800024d2: 0000 unimp + 800024d4: 0000 unimp + 800024d6: 0000 unimp + 800024d8: 0000 unimp + 800024da: 0000 unimp + 800024dc: 0000 unimp + 800024de: 0000 unimp + 800024e0: 0000 unimp + 800024e2: 0000 unimp + 800024e4: 0000 unimp + 800024e6: 0000 unimp + 800024e8: 0000 unimp + 800024ea: 0000 unimp + 800024ec: 0000 unimp + 800024ee: 0000 unimp + 800024f0: 0000 unimp + 800024f2: 0000 unimp + 800024f4: 0000 unimp + 800024f6: 0000 unimp + 800024f8: 0000 unimp + 800024fa: 0000 unimp + 800024fc: 0000 unimp + 800024fe: 0000 unimp + 80002500: 0000 unimp + 80002502: 0000 unimp + 80002504: 0000 unimp + 80002506: 0000 unimp + 80002508: 0000 unimp + 8000250a: 0000 unimp + 8000250c: 0000 unimp + 8000250e: 0000 unimp + 80002510: 0000 unimp + 80002512: 0000 unimp + 80002514: 0000 unimp + 80002516: 0000 unimp + 80002518: 0000 unimp + 8000251a: 0000 unimp + 8000251c: 0000 unimp + 8000251e: 0000 unimp + 80002520: 0000 unimp + 80002522: 0000 unimp + 80002524: 0000 unimp + 80002526: 0000 unimp + 80002528: 0000 unimp + 8000252a: 0000 unimp + 8000252c: 0000 unimp + 8000252e: 0000 unimp + 80002530: 0000 unimp + 80002532: 0000 unimp + 80002534: 0000 unimp + 80002536: 0000 unimp + 80002538: 0000 unimp + 8000253a: 0000 unimp + 8000253c: 0000 unimp + 8000253e: 0000 unimp + 80002540: 0000 unimp + 80002542: 0000 unimp + 80002544: 0000 unimp + 80002546: 0000 unimp + 80002548: 0000 unimp + 8000254a: 0000 unimp + 8000254c: 0000 unimp + 8000254e: 0000 unimp + 80002550: 0000 unimp + 80002552: 0000 unimp + 80002554: 0000 unimp + 80002556: 0000 unimp + 80002558: 0000 unimp + 8000255a: 0000 unimp + 8000255c: 0000 unimp + 8000255e: 0000 unimp + 80002560: 0000 unimp + 80002562: 0000 unimp + 80002564: 0000 unimp + 80002566: 0000 unimp + 80002568: 0000 unimp + 8000256a: 0000 unimp + 8000256c: 0000 unimp + 8000256e: 0000 unimp + 80002570: 0000 unimp + 80002572: 0000 unimp + 80002574: 0000 unimp + 80002576: 0000 unimp + 80002578: 0000 unimp + 8000257a: 0000 unimp + 8000257c: 0000 unimp + 8000257e: 0000 unimp + 80002580: 0000 unimp + 80002582: 0000 unimp + 80002584: 0000 unimp + 80002586: 0000 unimp + 80002588: 0000 unimp + 8000258a: 0000 unimp + 8000258c: 0000 unimp + 8000258e: 0000 unimp + 80002590: 0000 unimp + 80002592: 0000 unimp + 80002594: 0000 unimp + 80002596: 0000 unimp + 80002598: 0000 unimp + 8000259a: 0000 unimp + 8000259c: 0000 unimp + 8000259e: 0000 unimp + 800025a0: 0000 unimp + 800025a2: 0000 unimp + 800025a4: 0000 unimp + 800025a6: 0000 unimp + 800025a8: 0000 unimp + 800025aa: 0000 unimp + 800025ac: 0000 unimp + 800025ae: 0000 unimp + 800025b0: 0000 unimp + 800025b2: 0000 unimp + 800025b4: 0000 unimp + 800025b6: 0000 unimp + 800025b8: 0000 unimp + 800025ba: 0000 unimp + 800025bc: 0000 unimp + 800025be: 0000 unimp + 800025c0: 0000 unimp + 800025c2: 0000 unimp + 800025c4: 0000 unimp + 800025c6: 0000 unimp + 800025c8: 0000 unimp + 800025ca: 0000 unimp + 800025cc: 0000 unimp + 800025ce: 0000 unimp + 800025d0: 0000 unimp + 800025d2: 0000 unimp + 800025d4: 0000 unimp + 800025d6: 0000 unimp + 800025d8: 0000 unimp + 800025da: 0000 unimp + 800025dc: 0000 unimp + 800025de: 0000 unimp + 800025e0: 0000 unimp + 800025e2: 0000 unimp + 800025e4: 0000 unimp + 800025e6: 0000 unimp + 800025e8: 0000 unimp + 800025ea: 0000 unimp + 800025ec: 0000 unimp + 800025ee: 0000 unimp + 800025f0: 0000 unimp + 800025f2: 0000 unimp + 800025f4: 0000 unimp + 800025f6: 0000 unimp + 800025f8: 0000 unimp + 800025fa: 0000 unimp + 800025fc: 0000 unimp + 800025fe: 0000 unimp + 80002600: 0000 unimp + 80002602: 0000 unimp + 80002604: 0000 unimp + 80002606: 0000 unimp + 80002608: 0000 unimp + 8000260a: 0000 unimp + 8000260c: 0000 unimp + 8000260e: 0000 unimp + 80002610: 0000 unimp + 80002612: 0000 unimp + 80002614: 0000 unimp + 80002616: 0000 unimp + 80002618: 0000 unimp + 8000261a: 0000 unimp + 8000261c: 0000 unimp + 8000261e: 0000 unimp + 80002620: 0000 unimp + 80002622: 0000 unimp + 80002624: 0000 unimp + 80002626: 0000 unimp + 80002628: 0000 unimp + 8000262a: 0000 unimp + 8000262c: 0000 unimp + 8000262e: 0000 unimp + 80002630: 0000 unimp + 80002632: 0000 unimp + 80002634: 0000 unimp + 80002636: 0000 unimp + 80002638: 0000 unimp + 8000263a: 0000 unimp + 8000263c: 0000 unimp + 8000263e: 0000 unimp + 80002640: 0000 unimp + 80002642: 0000 unimp + 80002644: 0000 unimp + 80002646: 0000 unimp + 80002648: 0000 unimp + 8000264a: 0000 unimp + 8000264c: 0000 unimp + 8000264e: 0000 unimp + 80002650: 0000 unimp + 80002652: 0000 unimp + 80002654: 0000 unimp + 80002656: 0000 unimp + 80002658: 0000 unimp + 8000265a: 0000 unimp + 8000265c: 0000 unimp + 8000265e: 0000 unimp + 80002660: 0000 unimp + 80002662: 0000 unimp + 80002664: 0000 unimp + 80002666: 0000 unimp + 80002668: 0000 unimp + 8000266a: 0000 unimp + 8000266c: 0000 unimp + 8000266e: 0000 unimp + 80002670: 0000 unimp + 80002672: 0000 unimp + 80002674: 0000 unimp + 80002676: 0000 unimp + 80002678: 0000 unimp + 8000267a: 0000 unimp + 8000267c: 0000 unimp + 8000267e: 0000 unimp + 80002680: 0000 unimp + 80002682: 0000 unimp + 80002684: 0000 unimp + 80002686: 0000 unimp + 80002688: 0000 unimp + 8000268a: 0000 unimp + 8000268c: 0000 unimp + 8000268e: 0000 unimp + 80002690: 0000 unimp + 80002692: 0000 unimp + 80002694: 0000 unimp + 80002696: 0000 unimp + 80002698: 0000 unimp + 8000269a: 0000 unimp + 8000269c: 0000 unimp + 8000269e: 0000 unimp + 800026a0: 0000 unimp + 800026a2: 0000 unimp + 800026a4: 0000 unimp + 800026a6: 0000 unimp + 800026a8: 0000 unimp + 800026aa: 0000 unimp + 800026ac: 0000 unimp + 800026ae: 0000 unimp + 800026b0: 0000 unimp + 800026b2: 0000 unimp + 800026b4: 0000 unimp + 800026b6: 0000 unimp + 800026b8: 0000 unimp + 800026ba: 0000 unimp + 800026bc: 0000 unimp + 800026be: 0000 unimp + 800026c0: 0000 unimp + 800026c2: 0000 unimp + 800026c4: 0000 unimp + 800026c6: 0000 unimp + 800026c8: 0000 unimp + 800026ca: 0000 unimp + 800026cc: 0000 unimp + 800026ce: 0000 unimp + 800026d0: 0000 unimp + 800026d2: 0000 unimp + 800026d4: 0000 unimp + 800026d6: 0000 unimp + 800026d8: 0000 unimp + 800026da: 0000 unimp + 800026dc: 0000 unimp + 800026de: 0000 unimp + 800026e0: 0000 unimp + 800026e2: 0000 unimp + 800026e4: 0000 unimp + 800026e6: 0000 unimp + 800026e8: 0000 unimp + 800026ea: 0000 unimp + 800026ec: 0000 unimp + 800026ee: 0000 unimp + 800026f0: 0000 unimp + 800026f2: 0000 unimp + 800026f4: 0000 unimp + 800026f6: 0000 unimp + 800026f8: 0000 unimp + 800026fa: 0000 unimp + 800026fc: 0000 unimp + 800026fe: 0000 unimp + 80002700: 0000 unimp + 80002702: 0000 unimp + 80002704: 0000 unimp + 80002706: 0000 unimp + 80002708: 0000 unimp + 8000270a: 0000 unimp + 8000270c: 0000 unimp + 8000270e: 0000 unimp + 80002710: 0000 unimp + 80002712: 0000 unimp + 80002714: 0000 unimp + 80002716: 0000 unimp + 80002718: 0000 unimp + 8000271a: 0000 unimp + 8000271c: 0000 unimp + 8000271e: 0000 unimp + 80002720: 0000 unimp + 80002722: 0000 unimp + 80002724: 0000 unimp + 80002726: 0000 unimp + 80002728: 0000 unimp + 8000272a: 0000 unimp + 8000272c: 0000 unimp + 8000272e: 0000 unimp + 80002730: 0000 unimp + 80002732: 0000 unimp + 80002734: 0000 unimp + 80002736: 0000 unimp + 80002738: 0000 unimp + 8000273a: 0000 unimp + 8000273c: 0000 unimp + 8000273e: 0000 unimp + 80002740: 0000 unimp + 80002742: 0000 unimp + 80002744: 0000 unimp + 80002746: 0000 unimp + 80002748: 0000 unimp + 8000274a: 0000 unimp + 8000274c: 0000 unimp + 8000274e: 0000 unimp + 80002750: 0000 unimp + 80002752: 0000 unimp + 80002754: 0000 unimp + 80002756: 0000 unimp + 80002758: 0000 unimp + 8000275a: 0000 unimp + 8000275c: 0000 unimp + 8000275e: 0000 unimp + 80002760: 0000 unimp + 80002762: 0000 unimp + 80002764: 0000 unimp + 80002766: 0000 unimp + 80002768: 0000 unimp + 8000276a: 0000 unimp + 8000276c: 0000 unimp + 8000276e: 0000 unimp + 80002770: 0000 unimp + 80002772: 0000 unimp + 80002774: 0000 unimp + 80002776: 0000 unimp + 80002778: 0000 unimp + 8000277a: 0000 unimp + 8000277c: 0000 unimp + 8000277e: 0000 unimp + 80002780: 0000 unimp + 80002782: 0000 unimp + 80002784: 0000 unimp + 80002786: 0000 unimp + 80002788: 0000 unimp + 8000278a: 0000 unimp + 8000278c: 0000 unimp + 8000278e: 0000 unimp + 80002790: 0000 unimp + 80002792: 0000 unimp + 80002794: 0000 unimp + 80002796: 0000 unimp + 80002798: 0000 unimp + 8000279a: 0000 unimp + 8000279c: 0000 unimp + 8000279e: 0000 unimp + 800027a0: 0000 unimp + 800027a2: 0000 unimp + 800027a4: 0000 unimp + 800027a6: 0000 unimp + 800027a8: 0000 unimp + 800027aa: 0000 unimp + 800027ac: 0000 unimp + 800027ae: 0000 unimp + 800027b0: 0000 unimp + 800027b2: 0000 unimp + 800027b4: 0000 unimp + 800027b6: 0000 unimp + 800027b8: 0000 unimp + 800027ba: 0000 unimp + 800027bc: 0000 unimp + 800027be: 0000 unimp + 800027c0: 0000 unimp + 800027c2: 0000 unimp + 800027c4: 0000 unimp + 800027c6: 0000 unimp + 800027c8: 0000 unimp + 800027ca: 0000 unimp + 800027cc: 0000 unimp + 800027ce: 0000 unimp + 800027d0: 0000 unimp + 800027d2: 0000 unimp + 800027d4: 0000 unimp + 800027d6: 0000 unimp + 800027d8: 0000 unimp + 800027da: 0000 unimp + 800027dc: 0000 unimp + 800027de: 0000 unimp + 800027e0: 0000 unimp + 800027e2: 0000 unimp + 800027e4: 0000 unimp + 800027e6: 0000 unimp + 800027e8: 0000 unimp + 800027ea: 0000 unimp + 800027ec: 0000 unimp + 800027ee: 0000 unimp + 800027f0: 0000 unimp + 800027f2: 0000 unimp + 800027f4: 0000 unimp + 800027f6: 0000 unimp + 800027f8: 0000 unimp + 800027fa: 0000 unimp + 800027fc: 0000 unimp + 800027fe: 0000 unimp + 80002800: 0000 unimp + 80002802: 0000 unimp + 80002804: 0000 unimp + 80002806: 0000 unimp + 80002808: 0000 unimp + 8000280a: 0000 unimp + 8000280c: 0000 unimp + 8000280e: 0000 unimp + 80002810: 0000 unimp + 80002812: 0000 unimp + 80002814: 0000 unimp + 80002816: 0000 unimp + 80002818: 0000 unimp + 8000281a: 0000 unimp + 8000281c: 0000 unimp + 8000281e: 0000 unimp + 80002820: 0000 unimp + 80002822: 0000 unimp + 80002824: 0000 unimp + 80002826: 0000 unimp + 80002828: 0000 unimp + 8000282a: 0000 unimp + 8000282c: 0000 unimp + 8000282e: 0000 unimp + 80002830: 0000 unimp + 80002832: 0000 unimp + 80002834: 0000 unimp + 80002836: 0000 unimp + 80002838: 0000 unimp + 8000283a: 0000 unimp + 8000283c: 0000 unimp + 8000283e: 0000 unimp + 80002840: 0000 unimp + 80002842: 0000 unimp + 80002844: 0000 unimp + 80002846: 0000 unimp + 80002848: 0000 unimp + 8000284a: 0000 unimp + 8000284c: 0000 unimp + 8000284e: 0000 unimp + 80002850: 0000 unimp + 80002852: 0000 unimp + 80002854: 0000 unimp + 80002856: 0000 unimp + 80002858: 0000 unimp + 8000285a: 0000 unimp + 8000285c: 0000 unimp + 8000285e: 0000 unimp + 80002860: 0000 unimp + 80002862: 0000 unimp + 80002864: 0000 unimp + 80002866: 0000 unimp + 80002868: 0000 unimp + 8000286a: 0000 unimp + 8000286c: 0000 unimp + 8000286e: 0000 unimp + 80002870: 0000 unimp + 80002872: 0000 unimp + 80002874: 0000 unimp + 80002876: 0000 unimp + 80002878: 0000 unimp + 8000287a: 0000 unimp + 8000287c: 0000 unimp + 8000287e: 0000 unimp + 80002880: 0000 unimp + 80002882: 0000 unimp + 80002884: 0000 unimp + 80002886: 0000 unimp + 80002888: 0000 unimp + 8000288a: 0000 unimp + 8000288c: 0000 unimp + 8000288e: 0000 unimp + 80002890: 0000 unimp + 80002892: 0000 unimp + 80002894: 0000 unimp + 80002896: 0000 unimp + 80002898: 0000 unimp + 8000289a: 0000 unimp + 8000289c: 0000 unimp + 8000289e: 0000 unimp + 800028a0: 0000 unimp + 800028a2: 0000 unimp + 800028a4: 0000 unimp + 800028a6: 0000 unimp + 800028a8: 0000 unimp + 800028aa: 0000 unimp + 800028ac: 0000 unimp + 800028ae: 0000 unimp + 800028b0: 0000 unimp + 800028b2: 0000 unimp + 800028b4: 0000 unimp + 800028b6: 0000 unimp + 800028b8: 0000 unimp + 800028ba: 0000 unimp + 800028bc: 0000 unimp + 800028be: 0000 unimp + 800028c0: 0000 unimp + 800028c2: 0000 unimp + 800028c4: 0000 unimp + 800028c6: 0000 unimp + 800028c8: 0000 unimp + 800028ca: 0000 unimp + 800028cc: 0000 unimp + 800028ce: 0000 unimp + 800028d0: 0000 unimp + 800028d2: 0000 unimp + 800028d4: 0000 unimp + 800028d6: 0000 unimp + 800028d8: 0000 unimp + 800028da: 0000 unimp + 800028dc: 0000 unimp + 800028de: 0000 unimp + 800028e0: 0000 unimp + 800028e2: 0000 unimp + 800028e4: 0000 unimp + 800028e6: 0000 unimp + 800028e8: 0000 unimp + 800028ea: 0000 unimp + 800028ec: 0000 unimp + 800028ee: 0000 unimp + 800028f0: 0000 unimp + 800028f2: 0000 unimp + 800028f4: 0000 unimp + 800028f6: 0000 unimp + 800028f8: 0000 unimp + 800028fa: 0000 unimp + 800028fc: 0000 unimp + 800028fe: 0000 unimp + 80002900: 0000 unimp + 80002902: 0000 unimp + 80002904: 0000 unimp + 80002906: 0000 unimp + 80002908: 0000 unimp + 8000290a: 0000 unimp + 8000290c: 0000 unimp + 8000290e: 0000 unimp + 80002910: 0000 unimp + 80002912: 0000 unimp + 80002914: 0000 unimp + 80002916: 0000 unimp + 80002918: 0000 unimp + 8000291a: 0000 unimp + 8000291c: 0000 unimp + 8000291e: 0000 unimp + 80002920: 0000 unimp + 80002922: 0000 unimp + 80002924: 0000 unimp + 80002926: 0000 unimp + 80002928: 0000 unimp + 8000292a: 0000 unimp + 8000292c: 0000 unimp + 8000292e: 0000 unimp + 80002930: 0000 unimp + 80002932: 0000 unimp + 80002934: 0000 unimp + 80002936: 0000 unimp + 80002938: 0000 unimp + 8000293a: 0000 unimp + 8000293c: 0000 unimp + 8000293e: 0000 unimp + 80002940: 0000 unimp + 80002942: 0000 unimp + 80002944: 0000 unimp + 80002946: 0000 unimp + 80002948: 0000 unimp + 8000294a: 0000 unimp + 8000294c: 0000 unimp + 8000294e: 0000 unimp + 80002950: 0000 unimp + 80002952: 0000 unimp + 80002954: 0000 unimp + 80002956: 0000 unimp + 80002958: 0000 unimp + 8000295a: 0000 unimp + 8000295c: 0000 unimp + 8000295e: 0000 unimp + 80002960: 0000 unimp + 80002962: 0000 unimp + 80002964: 0000 unimp + 80002966: 0000 unimp + 80002968: 0000 unimp + 8000296a: 0000 unimp + 8000296c: 0000 unimp + 8000296e: 0000 unimp + 80002970: 0000 unimp + 80002972: 0000 unimp + 80002974: 0000 unimp + 80002976: 0000 unimp + 80002978: 0000 unimp + 8000297a: 0000 unimp + 8000297c: 0000 unimp + 8000297e: 0000 unimp + 80002980: 0000 unimp + 80002982: 0000 unimp + 80002984: 0000 unimp + 80002986: 0000 unimp + 80002988: 0000 unimp + 8000298a: 0000 unimp + 8000298c: 0000 unimp + 8000298e: 0000 unimp + 80002990: 0000 unimp + 80002992: 0000 unimp + 80002994: 0000 unimp + 80002996: 0000 unimp + 80002998: 0000 unimp + 8000299a: 0000 unimp + 8000299c: 0000 unimp + 8000299e: 0000 unimp + 800029a0: 0000 unimp + 800029a2: 0000 unimp + 800029a4: 0000 unimp + 800029a6: 0000 unimp + 800029a8: 0000 unimp + 800029aa: 0000 unimp + 800029ac: 0000 unimp + 800029ae: 0000 unimp + 800029b0: 0000 unimp + 800029b2: 0000 unimp + 800029b4: 0000 unimp + 800029b6: 0000 unimp + 800029b8: 0000 unimp + 800029ba: 0000 unimp + 800029bc: 0000 unimp + 800029be: 0000 unimp + 800029c0: 0000 unimp + 800029c2: 0000 unimp + 800029c4: 0000 unimp + 800029c6: 0000 unimp + 800029c8: 0000 unimp + 800029ca: 0000 unimp + 800029cc: 0000 unimp + 800029ce: 0000 unimp + 800029d0: 0000 unimp + 800029d2: 0000 unimp + 800029d4: 0000 unimp + 800029d6: 0000 unimp + 800029d8: 0000 unimp + 800029da: 0000 unimp + 800029dc: 0000 unimp + 800029de: 0000 unimp + 800029e0: 0000 unimp + 800029e2: 0000 unimp + 800029e4: 0000 unimp + 800029e6: 0000 unimp + 800029e8: 0000 unimp + 800029ea: 0000 unimp + 800029ec: 0000 unimp + 800029ee: 0000 unimp + 800029f0: 0000 unimp + 800029f2: 0000 unimp + 800029f4: 0000 unimp + 800029f6: 0000 unimp + 800029f8: 0000 unimp + 800029fa: 0000 unimp + 800029fc: 0000 unimp + 800029fe: 0000 unimp + 80002a00: 0000 unimp + 80002a02: 0000 unimp + 80002a04: 0000 unimp + 80002a06: 0000 unimp + 80002a08: 0000 unimp + 80002a0a: 0000 unimp + 80002a0c: 0000 unimp + 80002a0e: 0000 unimp + 80002a10: 0000 unimp + 80002a12: 0000 unimp + 80002a14: 0000 unimp + 80002a16: 0000 unimp + 80002a18: 0000 unimp + 80002a1a: 0000 unimp + 80002a1c: 0000 unimp + 80002a1e: 0000 unimp + 80002a20: 0000 unimp + 80002a22: 0000 unimp + 80002a24: 0000 unimp + 80002a26: 0000 unimp + 80002a28: 0000 unimp + 80002a2a: 0000 unimp + 80002a2c: 0000 unimp + 80002a2e: 0000 unimp + 80002a30: 0000 unimp + 80002a32: 0000 unimp + 80002a34: 0000 unimp + 80002a36: 0000 unimp + 80002a38: 0000 unimp + 80002a3a: 0000 unimp + 80002a3c: 0000 unimp + 80002a3e: 0000 unimp + 80002a40: 0000 unimp + 80002a42: 0000 unimp + 80002a44: 0000 unimp + 80002a46: 0000 unimp + 80002a48: 0000 unimp + 80002a4a: 0000 unimp + 80002a4c: 0000 unimp + 80002a4e: 0000 unimp + 80002a50: 0000 unimp + 80002a52: 0000 unimp + 80002a54: 0000 unimp + 80002a56: 0000 unimp + 80002a58: 0000 unimp + 80002a5a: 0000 unimp + 80002a5c: 0000 unimp + 80002a5e: 0000 unimp + 80002a60: 0000 unimp + 80002a62: 0000 unimp + 80002a64: 0000 unimp + 80002a66: 0000 unimp + 80002a68: 0000 unimp + 80002a6a: 0000 unimp + 80002a6c: 0000 unimp + 80002a6e: 0000 unimp + 80002a70: 0000 unimp + 80002a72: 0000 unimp + 80002a74: 0000 unimp + 80002a76: 0000 unimp + 80002a78: 0000 unimp + 80002a7a: 0000 unimp + 80002a7c: 0000 unimp + 80002a7e: 0000 unimp + 80002a80: 0000 unimp + 80002a82: 0000 unimp + 80002a84: 0000 unimp + 80002a86: 0000 unimp + 80002a88: 0000 unimp + 80002a8a: 0000 unimp + 80002a8c: 0000 unimp + 80002a8e: 0000 unimp + 80002a90: 0000 unimp + 80002a92: 0000 unimp + 80002a94: 0000 unimp + 80002a96: 0000 unimp + 80002a98: 0000 unimp + 80002a9a: 0000 unimp + 80002a9c: 0000 unimp + 80002a9e: 0000 unimp + 80002aa0: 0000 unimp + 80002aa2: 0000 unimp + 80002aa4: 0000 unimp + 80002aa6: 0000 unimp + 80002aa8: 0000 unimp + 80002aaa: 0000 unimp + 80002aac: 0000 unimp + 80002aae: 0000 unimp + 80002ab0: 0000 unimp + 80002ab2: 0000 unimp + 80002ab4: 0000 unimp + 80002ab6: 0000 unimp + 80002ab8: 0000 unimp + 80002aba: 0000 unimp + 80002abc: 0000 unimp + 80002abe: 0000 unimp + 80002ac0: 0000 unimp + 80002ac2: 0000 unimp + 80002ac4: 0000 unimp + 80002ac6: 0000 unimp + 80002ac8: 0000 unimp + 80002aca: 0000 unimp + 80002acc: 0000 unimp + 80002ace: 0000 unimp + 80002ad0: 0000 unimp + 80002ad2: 0000 unimp + 80002ad4: 0000 unimp + 80002ad6: 0000 unimp + 80002ad8: 0000 unimp + 80002ada: 0000 unimp + 80002adc: 0000 unimp + 80002ade: 0000 unimp + 80002ae0: 0000 unimp + 80002ae2: 0000 unimp + 80002ae4: 0000 unimp + 80002ae6: 0000 unimp + 80002ae8: 0000 unimp + 80002aea: 0000 unimp + 80002aec: 0000 unimp + 80002aee: 0000 unimp + 80002af0: 0000 unimp + 80002af2: 0000 unimp + 80002af4: 0000 unimp + 80002af6: 0000 unimp + 80002af8: 0000 unimp + 80002afa: 0000 unimp + 80002afc: 0000 unimp + 80002afe: 0000 unimp + 80002b00: 0000 unimp + 80002b02: 0000 unimp + 80002b04: 0000 unimp + 80002b06: 0000 unimp + 80002b08: 0000 unimp + 80002b0a: 0000 unimp + 80002b0c: 0000 unimp + 80002b0e: 0000 unimp + 80002b10: 0000 unimp + 80002b12: 0000 unimp + 80002b14: 0000 unimp + 80002b16: 0000 unimp + 80002b18: 0000 unimp + 80002b1a: 0000 unimp + 80002b1c: 0000 unimp + 80002b1e: 0000 unimp + 80002b20: 0000 unimp + 80002b22: 0000 unimp + 80002b24: 0000 unimp + 80002b26: 0000 unimp + 80002b28: 0000 unimp + 80002b2a: 0000 unimp + 80002b2c: 0000 unimp + 80002b2e: 0000 unimp + 80002b30: 0000 unimp + 80002b32: 0000 unimp + 80002b34: 0000 unimp + 80002b36: 0000 unimp + 80002b38: 0000 unimp + 80002b3a: 0000 unimp + 80002b3c: 0000 unimp + 80002b3e: 0000 unimp + 80002b40: 0000 unimp + 80002b42: 0000 unimp + 80002b44: 0000 unimp + 80002b46: 0000 unimp + 80002b48: 0000 unimp + 80002b4a: 0000 unimp + 80002b4c: 0000 unimp + 80002b4e: 0000 unimp + 80002b50: 0000 unimp + 80002b52: 0000 unimp + 80002b54: 0000 unimp + 80002b56: 0000 unimp + 80002b58: 0000 unimp + 80002b5a: 0000 unimp + 80002b5c: 0000 unimp + 80002b5e: 0000 unimp + 80002b60: 0000 unimp + 80002b62: 0000 unimp + 80002b64: 0000 unimp + 80002b66: 0000 unimp + 80002b68: 0000 unimp + 80002b6a: 0000 unimp + 80002b6c: 0000 unimp + 80002b6e: 0000 unimp + 80002b70: 0000 unimp + 80002b72: 0000 unimp + 80002b74: 0000 unimp + 80002b76: 0000 unimp + 80002b78: 0000 unimp + 80002b7a: 0000 unimp + 80002b7c: 0000 unimp + 80002b7e: 0000 unimp + 80002b80: 0000 unimp + 80002b82: 0000 unimp + 80002b84: 0000 unimp + 80002b86: 0000 unimp + 80002b88: 0000 unimp + 80002b8a: 0000 unimp + 80002b8c: 0000 unimp + 80002b8e: 0000 unimp + 80002b90: 0000 unimp + 80002b92: 0000 unimp + 80002b94: 0000 unimp + 80002b96: 0000 unimp + 80002b98: 0000 unimp + 80002b9a: 0000 unimp + 80002b9c: 0000 unimp + 80002b9e: 0000 unimp + 80002ba0: 0000 unimp + 80002ba2: 0000 unimp + 80002ba4: 0000 unimp + 80002ba6: 0000 unimp + 80002ba8: 0000 unimp + 80002baa: 0000 unimp + 80002bac: 0000 unimp + 80002bae: 0000 unimp + 80002bb0: 0000 unimp + 80002bb2: 0000 unimp + 80002bb4: 0000 unimp + 80002bb6: 0000 unimp + 80002bb8: 0000 unimp + 80002bba: 0000 unimp + 80002bbc: 0000 unimp + 80002bbe: 0000 unimp + 80002bc0: 0000 unimp + 80002bc2: 0000 unimp + 80002bc4: 0000 unimp + 80002bc6: 0000 unimp + 80002bc8: 0000 unimp + 80002bca: 0000 unimp + 80002bcc: 0000 unimp + 80002bce: 0000 unimp + 80002bd0: 0000 unimp + 80002bd2: 0000 unimp + 80002bd4: 0000 unimp + 80002bd6: 0000 unimp + 80002bd8: 0000 unimp + 80002bda: 0000 unimp + 80002bdc: 0000 unimp + 80002bde: 0000 unimp + 80002be0: 0000 unimp + 80002be2: 0000 unimp + 80002be4: 0000 unimp + 80002be6: 0000 unimp + 80002be8: 0000 unimp + 80002bea: 0000 unimp + 80002bec: 0000 unimp + 80002bee: 0000 unimp + 80002bf0: 0000 unimp + 80002bf2: 0000 unimp + 80002bf4: 0000 unimp + 80002bf6: 0000 unimp + 80002bf8: 0000 unimp + 80002bfa: 0000 unimp + 80002bfc: 0000 unimp + 80002bfe: 0000 unimp + 80002c00: 0000 unimp + 80002c02: 0000 unimp + 80002c04: 0000 unimp + 80002c06: 0000 unimp + 80002c08: 0000 unimp + 80002c0a: 0000 unimp + 80002c0c: 0000 unimp + 80002c0e: 0000 unimp + 80002c10: 0000 unimp + 80002c12: 0000 unimp + 80002c14: 0000 unimp + 80002c16: 0000 unimp + 80002c18: 0000 unimp + 80002c1a: 0000 unimp + 80002c1c: 0000 unimp + 80002c1e: 0000 unimp + 80002c20: 0000 unimp + 80002c22: 0000 unimp + 80002c24: 0000 unimp + 80002c26: 0000 unimp + 80002c28: 0000 unimp + 80002c2a: 0000 unimp + 80002c2c: 0000 unimp + 80002c2e: 0000 unimp + 80002c30: 0000 unimp + 80002c32: 0000 unimp + 80002c34: 0000 unimp + 80002c36: 0000 unimp + 80002c38: 0000 unimp + 80002c3a: 0000 unimp + 80002c3c: 0000 unimp + 80002c3e: 0000 unimp + 80002c40: 0000 unimp + 80002c42: 0000 unimp + 80002c44: 0000 unimp + 80002c46: 0000 unimp + 80002c48: 0000 unimp + 80002c4a: 0000 unimp + 80002c4c: 0000 unimp + 80002c4e: 0000 unimp + 80002c50: 0000 unimp + 80002c52: 0000 unimp + 80002c54: 0000 unimp + 80002c56: 0000 unimp + 80002c58: 0000 unimp + 80002c5a: 0000 unimp + 80002c5c: 0000 unimp + 80002c5e: 0000 unimp + 80002c60: 0000 unimp + 80002c62: 0000 unimp + 80002c64: 0000 unimp + 80002c66: 0000 unimp + 80002c68: 0000 unimp + 80002c6a: 0000 unimp + 80002c6c: 0000 unimp + 80002c6e: 0000 unimp + 80002c70: 0000 unimp + 80002c72: 0000 unimp + 80002c74: 0000 unimp + 80002c76: 0000 unimp + 80002c78: 0000 unimp + 80002c7a: 0000 unimp + 80002c7c: 0000 unimp + 80002c7e: 0000 unimp + 80002c80: 0000 unimp + 80002c82: 0000 unimp + 80002c84: 0000 unimp + 80002c86: 0000 unimp + 80002c88: 0000 unimp + 80002c8a: 0000 unimp + 80002c8c: 0000 unimp + 80002c8e: 0000 unimp + 80002c90: 0000 unimp + 80002c92: 0000 unimp + 80002c94: 0000 unimp + 80002c96: 0000 unimp + 80002c98: 0000 unimp + 80002c9a: 0000 unimp + 80002c9c: 0000 unimp + 80002c9e: 0000 unimp + 80002ca0: 0000 unimp + 80002ca2: 0000 unimp + 80002ca4: 0000 unimp + 80002ca6: 0000 unimp + 80002ca8: 0000 unimp + 80002caa: 0000 unimp + 80002cac: 0000 unimp + 80002cae: 0000 unimp + 80002cb0: 0000 unimp + 80002cb2: 0000 unimp + 80002cb4: 0000 unimp + 80002cb6: 0000 unimp + 80002cb8: 0000 unimp + 80002cba: 0000 unimp + 80002cbc: 0000 unimp + 80002cbe: 0000 unimp + 80002cc0: 0000 unimp + 80002cc2: 0000 unimp + 80002cc4: 0000 unimp + 80002cc6: 0000 unimp + 80002cc8: 0000 unimp + 80002cca: 0000 unimp + 80002ccc: 0000 unimp + 80002cce: 0000 unimp + 80002cd0: 0000 unimp + 80002cd2: 0000 unimp + 80002cd4: 0000 unimp + 80002cd6: 0000 unimp + 80002cd8: 0000 unimp + 80002cda: 0000 unimp + 80002cdc: 0000 unimp + 80002cde: 0000 unimp + 80002ce0: 0000 unimp + 80002ce2: 0000 unimp + 80002ce4: 0000 unimp + 80002ce6: 0000 unimp + 80002ce8: 0000 unimp + 80002cea: 0000 unimp + 80002cec: 0000 unimp + 80002cee: 0000 unimp + 80002cf0: 0000 unimp + 80002cf2: 0000 unimp + 80002cf4: 0000 unimp + 80002cf6: 0000 unimp + 80002cf8: 0000 unimp + 80002cfa: 0000 unimp + 80002cfc: 0000 unimp + 80002cfe: 0000 unimp + 80002d00: 0000 unimp + 80002d02: 0000 unimp + 80002d04: 0000 unimp + 80002d06: 0000 unimp + 80002d08: 0000 unimp + 80002d0a: 0000 unimp + 80002d0c: 0000 unimp + 80002d0e: 0000 unimp + 80002d10: 0000 unimp + 80002d12: 0000 unimp + 80002d14: 0000 unimp + 80002d16: 0000 unimp + 80002d18: 0000 unimp + 80002d1a: 0000 unimp + 80002d1c: 0000 unimp + 80002d1e: 0000 unimp + 80002d20: 0000 unimp + 80002d22: 0000 unimp + 80002d24: 0000 unimp + 80002d26: 0000 unimp + 80002d28: 0000 unimp + 80002d2a: 0000 unimp + 80002d2c: 0000 unimp + 80002d2e: 0000 unimp + 80002d30: 0000 unimp + 80002d32: 0000 unimp + 80002d34: 0000 unimp + 80002d36: 0000 unimp + 80002d38: 0000 unimp + 80002d3a: 0000 unimp + 80002d3c: 0000 unimp + 80002d3e: 0000 unimp + 80002d40: 0000 unimp + 80002d42: 0000 unimp + 80002d44: 0000 unimp + 80002d46: 0000 unimp + 80002d48: 0000 unimp + 80002d4a: 0000 unimp + 80002d4c: 0000 unimp + 80002d4e: 0000 unimp + 80002d50: 0000 unimp + 80002d52: 0000 unimp + 80002d54: 0000 unimp + 80002d56: 0000 unimp + 80002d58: 0000 unimp + 80002d5a: 0000 unimp + 80002d5c: 0000 unimp + 80002d5e: 0000 unimp + 80002d60: 0000 unimp + 80002d62: 0000 unimp + 80002d64: 0000 unimp + 80002d66: 0000 unimp + 80002d68: 0000 unimp + 80002d6a: 0000 unimp + 80002d6c: 0000 unimp + 80002d6e: 0000 unimp + 80002d70: 0000 unimp + 80002d72: 0000 unimp + 80002d74: 0000 unimp + 80002d76: 0000 unimp + 80002d78: 0000 unimp + 80002d7a: 0000 unimp + 80002d7c: 0000 unimp + 80002d7e: 0000 unimp + 80002d80: 0000 unimp + 80002d82: 0000 unimp + 80002d84: 0000 unimp + 80002d86: 0000 unimp + 80002d88: 0000 unimp + 80002d8a: 0000 unimp + 80002d8c: 0000 unimp + 80002d8e: 0000 unimp + 80002d90: 0000 unimp + 80002d92: 0000 unimp + 80002d94: 0000 unimp + 80002d96: 0000 unimp + 80002d98: 0000 unimp + 80002d9a: 0000 unimp + 80002d9c: 0000 unimp + 80002d9e: 0000 unimp + 80002da0: 0000 unimp + 80002da2: 0000 unimp + 80002da4: 0000 unimp + 80002da6: 0000 unimp + 80002da8: 0000 unimp + 80002daa: 0000 unimp + 80002dac: 0000 unimp + 80002dae: 0000 unimp + 80002db0: 0000 unimp + 80002db2: 0000 unimp + 80002db4: 0000 unimp + 80002db6: 0000 unimp + 80002db8: 0000 unimp + 80002dba: 0000 unimp + 80002dbc: 0000 unimp + 80002dbe: 0000 unimp + 80002dc0: 0000 unimp + 80002dc2: 0000 unimp + 80002dc4: 0000 unimp + 80002dc6: 0000 unimp + 80002dc8: 0000 unimp + 80002dca: 0000 unimp + 80002dcc: 0000 unimp + 80002dce: 0000 unimp + 80002dd0: 0000 unimp + 80002dd2: 0000 unimp + 80002dd4: 0000 unimp + 80002dd6: 0000 unimp + 80002dd8: 0000 unimp + 80002dda: 0000 unimp + 80002ddc: 0000 unimp + 80002dde: 0000 unimp + 80002de0: 0000 unimp + 80002de2: 0000 unimp + 80002de4: 0000 unimp + 80002de6: 0000 unimp + 80002de8: 0000 unimp + 80002dea: 0000 unimp + 80002dec: 0000 unimp + 80002dee: 0000 unimp + 80002df0: 0000 unimp + 80002df2: 0000 unimp + 80002df4: 0000 unimp + 80002df6: 0000 unimp + 80002df8: 0000 unimp + 80002dfa: 0000 unimp + 80002dfc: 0000 unimp + 80002dfe: 0000 unimp + 80002e00: 0000 unimp + 80002e02: 0000 unimp + 80002e04: 0000 unimp + 80002e06: 0000 unimp + 80002e08: 0000 unimp + 80002e0a: 0000 unimp + 80002e0c: 0000 unimp + 80002e0e: 0000 unimp + 80002e10: 0000 unimp + 80002e12: 0000 unimp + 80002e14: 0000 unimp + 80002e16: 0000 unimp + 80002e18: 0000 unimp + 80002e1a: 0000 unimp + 80002e1c: 0000 unimp + 80002e1e: 0000 unimp + 80002e20: 0000 unimp + 80002e22: 0000 unimp + 80002e24: 0000 unimp + 80002e26: 0000 unimp + 80002e28: 0000 unimp + 80002e2a: 0000 unimp + 80002e2c: 0000 unimp + 80002e2e: 0000 unimp + 80002e30: 0000 unimp + 80002e32: 0000 unimp + 80002e34: 0000 unimp + 80002e36: 0000 unimp + 80002e38: 0000 unimp + 80002e3a: 0000 unimp + 80002e3c: 0000 unimp + 80002e3e: 0000 unimp + 80002e40: 0000 unimp + 80002e42: 0000 unimp + 80002e44: 0000 unimp + 80002e46: 0000 unimp + 80002e48: 0000 unimp + 80002e4a: 0000 unimp + 80002e4c: 0000 unimp + 80002e4e: 0000 unimp + 80002e50: 0000 unimp + 80002e52: 0000 unimp + 80002e54: 0000 unimp + 80002e56: 0000 unimp + 80002e58: 0000 unimp + 80002e5a: 0000 unimp + 80002e5c: 0000 unimp + 80002e5e: 0000 unimp + 80002e60: 0000 unimp + 80002e62: 0000 unimp + 80002e64: 0000 unimp + 80002e66: 0000 unimp + 80002e68: 0000 unimp + 80002e6a: 0000 unimp + 80002e6c: 0000 unimp + 80002e6e: 0000 unimp + 80002e70: 0000 unimp + 80002e72: 0000 unimp + 80002e74: 0000 unimp + 80002e76: 0000 unimp + 80002e78: 0000 unimp + 80002e7a: 0000 unimp + 80002e7c: 0000 unimp + 80002e7e: 0000 unimp + 80002e80: 0000 unimp + 80002e82: 0000 unimp + 80002e84: 0000 unimp + 80002e86: 0000 unimp + 80002e88: 0000 unimp + 80002e8a: 0000 unimp + 80002e8c: 0000 unimp + 80002e8e: 0000 unimp diff --git a/test/riscv/tests/rv64uc-p-rvc.elf b/test/riscv/tests/rv64uc-p-rvc.elf new file mode 100755 index 00000000..dbfdfcc3 Binary files /dev/null and b/test/riscv/tests/rv64uc-p-rvc.elf differ diff --git a/test/riscv/tests/rv64ui-p-add.dump b/test/riscv/tests/rv64ui-p-add.dump new file mode 100644 index 00000000..83e5cedc --- /dev/null +++ b/test/riscv/tests/rv64ui-p-add.dump @@ -0,0 +1,506 @@ + +rv64ui-p-add: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00000113 li sp,0 + 80000104: 00208f33 add t5,ra,sp + 80000108: 00000e93 li t4,0 + 8000010c: 00200193 li gp,2 + 80000110: 4fdf1063 bne t5,t4,800005f0 + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 00208f33 add t5,ra,sp + 80000120: 00200e93 li t4,2 + 80000124: 00300193 li gp,3 + 80000128: 4ddf1463 bne t5,t4,800005f0 + +000000008000012c : + 8000012c: 00300093 li ra,3 + 80000130: 00700113 li sp,7 + 80000134: 00208f33 add t5,ra,sp + 80000138: 00a00e93 li t4,10 + 8000013c: 00400193 li gp,4 + 80000140: 4bdf1863 bne t5,t4,800005f0 + +0000000080000144 : + 80000144: 00000093 li ra,0 + 80000148: ffff8137 lui sp,0xffff8 + 8000014c: 00208f33 add t5,ra,sp + 80000150: ffff8eb7 lui t4,0xffff8 + 80000154: 00500193 li gp,5 + 80000158: 49df1c63 bne t5,t4,800005f0 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00000113 li sp,0 + 80000164: 00208f33 add t5,ra,sp + 80000168: 80000eb7 lui t4,0x80000 + 8000016c: 00600193 li gp,6 + 80000170: 49df1063 bne t5,t4,800005f0 + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: ffff8137 lui sp,0xffff8 + 8000017c: 00208f33 add t5,ra,sp + 80000180: ffff0eb7 lui t4,0xffff0 + 80000184: fffe8e9b addiw t4,t4,-1 + 80000188: 00fe9e93 slli t4,t4,0xf + 8000018c: 00700193 li gp,7 + 80000190: 47df1063 bne t5,t4,800005f0 + +0000000080000194 : + 80000194: 00000093 li ra,0 + 80000198: 00008137 lui sp,0x8 + 8000019c: fff1011b addiw sp,sp,-1 + 800001a0: 00208f33 add t5,ra,sp + 800001a4: 00008eb7 lui t4,0x8 + 800001a8: fffe8e9b addiw t4,t4,-1 + 800001ac: 00800193 li gp,8 + 800001b0: 45df1063 bne t5,t4,800005f0 + +00000000800001b4 : + 800001b4: 800000b7 lui ra,0x80000 + 800001b8: fff0809b addiw ra,ra,-1 + 800001bc: 00000113 li sp,0 + 800001c0: 00208f33 add t5,ra,sp + 800001c4: 80000eb7 lui t4,0x80000 + 800001c8: fffe8e9b addiw t4,t4,-1 + 800001cc: 00900193 li gp,9 + 800001d0: 43df1063 bne t5,t4,800005f0 + +00000000800001d4 : + 800001d4: 800000b7 lui ra,0x80000 + 800001d8: fff0809b addiw ra,ra,-1 + 800001dc: 00008137 lui sp,0x8 + 800001e0: fff1011b addiw sp,sp,-1 + 800001e4: 00208f33 add t5,ra,sp + 800001e8: 00010eb7 lui t4,0x10 + 800001ec: 001e8e9b addiw t4,t4,1 + 800001f0: 00fe9e93 slli t4,t4,0xf + 800001f4: ffee8e93 addi t4,t4,-2 # fffe <_start-0x7fff0002> + 800001f8: 00a00193 li gp,10 + 800001fc: 3fdf1a63 bne t5,t4,800005f0 + +0000000080000200 : + 80000200: 800000b7 lui ra,0x80000 + 80000204: 00008137 lui sp,0x8 + 80000208: fff1011b addiw sp,sp,-1 + 8000020c: 00208f33 add t5,ra,sp + 80000210: 80008eb7 lui t4,0x80008 + 80000214: fffe8e9b addiw t4,t4,-1 + 80000218: 00b00193 li gp,11 + 8000021c: 3ddf1a63 bne t5,t4,800005f0 + +0000000080000220 : + 80000220: 800000b7 lui ra,0x80000 + 80000224: fff0809b addiw ra,ra,-1 + 80000228: ffff8137 lui sp,0xffff8 + 8000022c: 00208f33 add t5,ra,sp + 80000230: 7fff8eb7 lui t4,0x7fff8 + 80000234: fffe8e9b addiw t4,t4,-1 + 80000238: 00c00193 li gp,12 + 8000023c: 3bdf1a63 bne t5,t4,800005f0 + +0000000080000240 : + 80000240: 00000093 li ra,0 + 80000244: fff00113 li sp,-1 + 80000248: 00208f33 add t5,ra,sp + 8000024c: fff00e93 li t4,-1 + 80000250: 00d00193 li gp,13 + 80000254: 39df1e63 bne t5,t4,800005f0 + +0000000080000258 : + 80000258: fff00093 li ra,-1 + 8000025c: 00100113 li sp,1 + 80000260: 00208f33 add t5,ra,sp + 80000264: 00000e93 li t4,0 + 80000268: 00e00193 li gp,14 + 8000026c: 39df1263 bne t5,t4,800005f0 + +0000000080000270 : + 80000270: fff00093 li ra,-1 + 80000274: fff00113 li sp,-1 + 80000278: 00208f33 add t5,ra,sp + 8000027c: ffe00e93 li t4,-2 + 80000280: 00f00193 li gp,15 + 80000284: 37df1663 bne t5,t4,800005f0 + +0000000080000288 : + 80000288: 00100093 li ra,1 + 8000028c: 80000137 lui sp,0x80000 + 80000290: fff1011b addiw sp,sp,-1 + 80000294: 00208f33 add t5,ra,sp + 80000298: 00100e9b addiw t4,zero,1 + 8000029c: 01fe9e93 slli t4,t4,0x1f + 800002a0: 01000193 li gp,16 + 800002a4: 35df1663 bne t5,t4,800005f0 + +00000000800002a8 : + 800002a8: 00d00093 li ra,13 + 800002ac: 00b00113 li sp,11 + 800002b0: 002080b3 add ra,ra,sp + 800002b4: 01800e93 li t4,24 + 800002b8: 01100193 li gp,17 + 800002bc: 33d09a63 bne ra,t4,800005f0 + +00000000800002c0 : + 800002c0: 00e00093 li ra,14 + 800002c4: 00b00113 li sp,11 + 800002c8: 00208133 add sp,ra,sp + 800002cc: 01900e93 li t4,25 + 800002d0: 01200193 li gp,18 + 800002d4: 31d11e63 bne sp,t4,800005f0 + +00000000800002d8 : + 800002d8: 00d00093 li ra,13 + 800002dc: 001080b3 add ra,ra,ra + 800002e0: 01a00e93 li t4,26 + 800002e4: 01300193 li gp,19 + 800002e8: 31d09463 bne ra,t4,800005f0 + +00000000800002ec : + 800002ec: 00000213 li tp,0 + 800002f0: 00d00093 li ra,13 + 800002f4: 00b00113 li sp,11 + 800002f8: 00208f33 add t5,ra,sp + 800002fc: 000f0313 mv t1,t5 + 80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000304: 00200293 li t0,2 + 80000308: fe5214e3 bne tp,t0,800002f0 + 8000030c: 01800e93 li t4,24 + 80000310: 01400193 li gp,20 + 80000314: 2dd31e63 bne t1,t4,800005f0 + +0000000080000318 : + 80000318: 00000213 li tp,0 + 8000031c: 00e00093 li ra,14 + 80000320: 00b00113 li sp,11 + 80000324: 00208f33 add t5,ra,sp + 80000328: 00000013 nop + 8000032c: 000f0313 mv t1,t5 + 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000334: 00200293 li t0,2 + 80000338: fe5212e3 bne tp,t0,8000031c + 8000033c: 01900e93 li t4,25 + 80000340: 01500193 li gp,21 + 80000344: 2bd31663 bne t1,t4,800005f0 + +0000000080000348 : + 80000348: 00000213 li tp,0 + 8000034c: 00f00093 li ra,15 + 80000350: 00b00113 li sp,11 + 80000354: 00208f33 add t5,ra,sp + 80000358: 00000013 nop + 8000035c: 00000013 nop + 80000360: 000f0313 mv t1,t5 + 80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000368: 00200293 li t0,2 + 8000036c: fe5210e3 bne tp,t0,8000034c + 80000370: 01a00e93 li t4,26 + 80000374: 01600193 li gp,22 + 80000378: 27d31c63 bne t1,t4,800005f0 + +000000008000037c : + 8000037c: 00000213 li tp,0 + 80000380: 00d00093 li ra,13 + 80000384: 00b00113 li sp,11 + 80000388: 00208f33 add t5,ra,sp + 8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000390: 00200293 li t0,2 + 80000394: fe5216e3 bne tp,t0,80000380 + 80000398: 01800e93 li t4,24 + 8000039c: 01700193 li gp,23 + 800003a0: 25df1863 bne t5,t4,800005f0 + +00000000800003a4 : + 800003a4: 00000213 li tp,0 + 800003a8: 00e00093 li ra,14 + 800003ac: 00b00113 li sp,11 + 800003b0: 00000013 nop + 800003b4: 00208f33 add t5,ra,sp + 800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003bc: 00200293 li t0,2 + 800003c0: fe5214e3 bne tp,t0,800003a8 + 800003c4: 01900e93 li t4,25 + 800003c8: 01800193 li gp,24 + 800003cc: 23df1263 bne t5,t4,800005f0 + +00000000800003d0 : + 800003d0: 00000213 li tp,0 + 800003d4: 00f00093 li ra,15 + 800003d8: 00b00113 li sp,11 + 800003dc: 00000013 nop + 800003e0: 00000013 nop + 800003e4: 00208f33 add t5,ra,sp + 800003e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003ec: 00200293 li t0,2 + 800003f0: fe5212e3 bne tp,t0,800003d4 + 800003f4: 01a00e93 li t4,26 + 800003f8: 01900193 li gp,25 + 800003fc: 1fdf1a63 bne t5,t4,800005f0 + +0000000080000400 : + 80000400: 00000213 li tp,0 + 80000404: 00d00093 li ra,13 + 80000408: 00000013 nop + 8000040c: 00b00113 li sp,11 + 80000410: 00208f33 add t5,ra,sp + 80000414: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000418: 00200293 li t0,2 + 8000041c: fe5214e3 bne tp,t0,80000404 + 80000420: 01800e93 li t4,24 + 80000424: 01a00193 li gp,26 + 80000428: 1ddf1463 bne t5,t4,800005f0 + +000000008000042c : + 8000042c: 00000213 li tp,0 + 80000430: 00e00093 li ra,14 + 80000434: 00000013 nop + 80000438: 00b00113 li sp,11 + 8000043c: 00000013 nop + 80000440: 00208f33 add t5,ra,sp + 80000444: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000448: 00200293 li t0,2 + 8000044c: fe5212e3 bne tp,t0,80000430 + 80000450: 01900e93 li t4,25 + 80000454: 01b00193 li gp,27 + 80000458: 19df1c63 bne t5,t4,800005f0 + +000000008000045c : + 8000045c: 00000213 li tp,0 + 80000460: 00f00093 li ra,15 + 80000464: 00000013 nop + 80000468: 00000013 nop + 8000046c: 00b00113 li sp,11 + 80000470: 00208f33 add t5,ra,sp + 80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000478: 00200293 li t0,2 + 8000047c: fe5212e3 bne tp,t0,80000460 + 80000480: 01a00e93 li t4,26 + 80000484: 01c00193 li gp,28 + 80000488: 17df1463 bne t5,t4,800005f0 + +000000008000048c : + 8000048c: 00000213 li tp,0 + 80000490: 00b00113 li sp,11 + 80000494: 00d00093 li ra,13 + 80000498: 00208f33 add t5,ra,sp + 8000049c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a0: 00200293 li t0,2 + 800004a4: fe5216e3 bne tp,t0,80000490 + 800004a8: 01800e93 li t4,24 + 800004ac: 01d00193 li gp,29 + 800004b0: 15df1063 bne t5,t4,800005f0 + +00000000800004b4 : + 800004b4: 00000213 li tp,0 + 800004b8: 00b00113 li sp,11 + 800004bc: 00e00093 li ra,14 + 800004c0: 00000013 nop + 800004c4: 00208f33 add t5,ra,sp + 800004c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004cc: 00200293 li t0,2 + 800004d0: fe5214e3 bne tp,t0,800004b8 + 800004d4: 01900e93 li t4,25 + 800004d8: 01e00193 li gp,30 + 800004dc: 11df1a63 bne t5,t4,800005f0 + +00000000800004e0 : + 800004e0: 00000213 li tp,0 + 800004e4: 00b00113 li sp,11 + 800004e8: 00f00093 li ra,15 + 800004ec: 00000013 nop + 800004f0: 00000013 nop + 800004f4: 00208f33 add t5,ra,sp + 800004f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004fc: 00200293 li t0,2 + 80000500: fe5212e3 bne tp,t0,800004e4 + 80000504: 01a00e93 li t4,26 + 80000508: 01f00193 li gp,31 + 8000050c: 0fdf1263 bne t5,t4,800005f0 + +0000000080000510 : + 80000510: 00000213 li tp,0 + 80000514: 00b00113 li sp,11 + 80000518: 00000013 nop + 8000051c: 00d00093 li ra,13 + 80000520: 00208f33 add t5,ra,sp + 80000524: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000528: 00200293 li t0,2 + 8000052c: fe5214e3 bne tp,t0,80000514 + 80000530: 01800e93 li t4,24 + 80000534: 02000193 li gp,32 + 80000538: 0bdf1c63 bne t5,t4,800005f0 + +000000008000053c : + 8000053c: 00000213 li tp,0 + 80000540: 00b00113 li sp,11 + 80000544: 00000013 nop + 80000548: 00e00093 li ra,14 + 8000054c: 00000013 nop + 80000550: 00208f33 add t5,ra,sp + 80000554: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000558: 00200293 li t0,2 + 8000055c: fe5212e3 bne tp,t0,80000540 + 80000560: 01900e93 li t4,25 + 80000564: 02100193 li gp,33 + 80000568: 09df1463 bne t5,t4,800005f0 + +000000008000056c : + 8000056c: 00000213 li tp,0 + 80000570: 00b00113 li sp,11 + 80000574: 00000013 nop + 80000578: 00000013 nop + 8000057c: 00f00093 li ra,15 + 80000580: 00208f33 add t5,ra,sp + 80000584: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000588: 00200293 li t0,2 + 8000058c: fe5212e3 bne tp,t0,80000570 + 80000590: 01a00e93 li t4,26 + 80000594: 02200193 li gp,34 + 80000598: 05df1c63 bne t5,t4,800005f0 + +000000008000059c : + 8000059c: 00f00093 li ra,15 + 800005a0: 00100133 add sp,zero,ra + 800005a4: 00f00e93 li t4,15 + 800005a8: 02300193 li gp,35 + 800005ac: 05d11263 bne sp,t4,800005f0 + +00000000800005b0 : + 800005b0: 02000093 li ra,32 + 800005b4: 00008133 add sp,ra,zero + 800005b8: 02000e93 li t4,32 + 800005bc: 02400193 li gp,36 + 800005c0: 03d11863 bne sp,t4,800005f0 + +00000000800005c4 : + 800005c4: 000000b3 add ra,zero,zero + 800005c8: 00000e93 li t4,0 + 800005cc: 02500193 li gp,37 + 800005d0: 03d09063 bne ra,t4,800005f0 + +00000000800005d4 : + 800005d4: 01000093 li ra,16 + 800005d8: 01e00113 li sp,30 + 800005dc: 00208033 add zero,ra,sp + 800005e0: 00000e93 li t4,0 + 800005e4: 02600193 li gp,38 + 800005e8: 01d01463 bne zero,t4,800005f0 + 800005ec: 00301c63 bne zero,gp,80000604 + +00000000800005f0 : + 800005f0: 0ff0000f fence + 800005f4: 00018063 beqz gp,800005f4 + 800005f8: 00119193 slli gp,gp,0x1 + 800005fc: 0011e193 ori gp,gp,1 + 80000600: 00000073 ecall + +0000000080000604 : + 80000604: 0ff0000f fence + 80000608: 00100193 li gp,1 + 8000060c: 00000073 ecall + 80000610: c0001073 unimp + 80000614: 0000 unimp + 80000616: 0000 unimp + 80000618: 0000 unimp + 8000061a: 0000 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/test/riscv/tests/rv64ui-p-add.elf b/test/riscv/tests/rv64ui-p-add.elf new file mode 100755 index 00000000..cd560ee7 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-add.elf differ diff --git a/test/riscv/tests/rv64ui-p-addi.dump b/test/riscv/tests/rv64ui-p-addi.dump new file mode 100644 index 00000000..dc5acc09 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-addi.dump @@ -0,0 +1,312 @@ + +rv64ui-p-addi: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00008f13 mv t5,ra + 80000104: 00000e93 li t4,0 + 80000108: 00200193 li gp,2 + 8000010c: 29df1263 bne t5,t4,80000390 + +0000000080000110 : + 80000110: 00100093 li ra,1 + 80000114: 00108f13 addi t5,ra,1 + 80000118: 00200e93 li t4,2 + 8000011c: 00300193 li gp,3 + 80000120: 27df1863 bne t5,t4,80000390 + +0000000080000124 : + 80000124: 00300093 li ra,3 + 80000128: 00708f13 addi t5,ra,7 + 8000012c: 00a00e93 li t4,10 + 80000130: 00400193 li gp,4 + 80000134: 25df1e63 bne t5,t4,80000390 + +0000000080000138 : + 80000138: 00000093 li ra,0 + 8000013c: 80008f13 addi t5,ra,-2048 + 80000140: 80000e93 li t4,-2048 + 80000144: 00500193 li gp,5 + 80000148: 25df1463 bne t5,t4,80000390 + +000000008000014c : + 8000014c: 800000b7 lui ra,0x80000 + 80000150: 00008f13 mv t5,ra + 80000154: 80000eb7 lui t4,0x80000 + 80000158: 00600193 li gp,6 + 8000015c: 23df1a63 bne t5,t4,80000390 + +0000000080000160 : + 80000160: 800000b7 lui ra,0x80000 + 80000164: 80008f13 addi t5,ra,-2048 # ffffffff7ffff800 <_end+0xfffffffeffffd800> + 80000168: fff00e9b addiw t4,zero,-1 + 8000016c: 01fe9e93 slli t4,t4,0x1f + 80000170: 800e8e93 addi t4,t4,-2048 # ffffffff7ffff800 <_end+0xfffffffeffffd800> + 80000174: 00700193 li gp,7 + 80000178: 21df1c63 bne t5,t4,80000390 + +000000008000017c : + 8000017c: 00000093 li ra,0 + 80000180: 7ff08f13 addi t5,ra,2047 + 80000184: 7ff00e93 li t4,2047 + 80000188: 00800193 li gp,8 + 8000018c: 21df1263 bne t5,t4,80000390 + +0000000080000190 : + 80000190: 800000b7 lui ra,0x80000 + 80000194: fff0809b addiw ra,ra,-1 + 80000198: 00008f13 mv t5,ra + 8000019c: 80000eb7 lui t4,0x80000 + 800001a0: fffe8e9b addiw t4,t4,-1 + 800001a4: 00900193 li gp,9 + 800001a8: 1fdf1463 bne t5,t4,80000390 + +00000000800001ac : + 800001ac: 800000b7 lui ra,0x80000 + 800001b0: fff0809b addiw ra,ra,-1 + 800001b4: 7ff08f13 addi t5,ra,2047 # ffffffff800007ff <_end+0xfffffffeffffe7ff> + 800001b8: 00100e9b addiw t4,zero,1 + 800001bc: 01fe9e93 slli t4,t4,0x1f + 800001c0: 7fee8e93 addi t4,t4,2046 # ffffffff800007fe <_end+0xfffffffeffffe7fe> + 800001c4: 00a00193 li gp,10 + 800001c8: 1ddf1463 bne t5,t4,80000390 + +00000000800001cc : + 800001cc: 800000b7 lui ra,0x80000 + 800001d0: 7ff08f13 addi t5,ra,2047 # ffffffff800007ff <_end+0xfffffffeffffe7ff> + 800001d4: 80000eb7 lui t4,0x80000 + 800001d8: 7ffe8e9b addiw t4,t4,2047 + 800001dc: 00b00193 li gp,11 + 800001e0: 1bdf1863 bne t5,t4,80000390 + +00000000800001e4 : + 800001e4: 800000b7 lui ra,0x80000 + 800001e8: fff0809b addiw ra,ra,-1 + 800001ec: 80008f13 addi t5,ra,-2048 # ffffffff7ffff800 <_end+0xfffffffeffffd800> + 800001f0: 7ffffeb7 lui t4,0x7ffff + 800001f4: 7ffe8e9b addiw t4,t4,2047 + 800001f8: 00c00193 li gp,12 + 800001fc: 19df1a63 bne t5,t4,80000390 + +0000000080000200 : + 80000200: 00000093 li ra,0 + 80000204: fff08f13 addi t5,ra,-1 + 80000208: fff00e93 li t4,-1 + 8000020c: 00d00193 li gp,13 + 80000210: 19df1063 bne t5,t4,80000390 + +0000000080000214 : + 80000214: fff00093 li ra,-1 + 80000218: 00108f13 addi t5,ra,1 + 8000021c: 00000e93 li t4,0 + 80000220: 00e00193 li gp,14 + 80000224: 17df1663 bne t5,t4,80000390 + +0000000080000228 : + 80000228: fff00093 li ra,-1 + 8000022c: fff08f13 addi t5,ra,-1 + 80000230: ffe00e93 li t4,-2 + 80000234: 00f00193 li gp,15 + 80000238: 15df1c63 bne t5,t4,80000390 + +000000008000023c : + 8000023c: 800000b7 lui ra,0x80000 + 80000240: fff0809b addiw ra,ra,-1 + 80000244: 00108f13 addi t5,ra,1 # ffffffff80000001 <_end+0xfffffffeffffe001> + 80000248: 00100e9b addiw t4,zero,1 + 8000024c: 01fe9e93 slli t4,t4,0x1f + 80000250: 01000193 li gp,16 + 80000254: 13df1e63 bne t5,t4,80000390 + +0000000080000258 : + 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 + +000000008000026c : + 8000026c: 00000213 li tp,0 + 80000270: 00d00093 li ra,13 + 80000274: 00b08f13 addi t5,ra,11 + 80000278: 000f0313 mv t1,t5 + 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 + +0000000080000294 : + 80000294: 00000213 li tp,0 + 80000298: 00d00093 li ra,13 + 8000029c: 00a08f13 addi t5,ra,10 + 800002a0: 00000013 nop + 800002a4: 000f0313 mv t1,t5 + 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 + +00000000800002c0 : + 800002c0: 00000213 li tp,0 + 800002c4: 00d00093 li ra,13 + 800002c8: 00908f13 addi t5,ra,9 + 800002cc: 00000013 nop + 800002d0: 00000013 nop + 800002d4: 000f0313 mv t1,t5 + 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 + +00000000800002f0 : + 800002f0: 00000213 li tp,0 + 800002f4: 00d00093 li ra,13 + 800002f8: 00b08f13 addi t5,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: 09df1063 bne t5,t4,80000390 + +0000000080000314 : + 80000314: 00000213 li tp,0 + 80000318: 00d00093 li ra,13 + 8000031c: 00000013 nop + 80000320: 00a08f13 addi t5,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: 05df1c63 bne t5,t4,80000390 + +000000008000033c : + 8000033c: 00000213 li tp,0 + 80000340: 00d00093 li ra,13 + 80000344: 00000013 nop + 80000348: 00000013 nop + 8000034c: 00908f13 addi t5,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: 03df1663 bne t5,t4,80000390 + +0000000080000368 : + 80000368: 02000093 li ra,32 + 8000036c: 02000e93 li t4,32 + 80000370: 01800193 li gp,24 + 80000374: 01d09e63 bne ra,t4,80000390 + +0000000080000378 : + 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: 00301c63 bne zero,gp,800003a4 + +0000000080000390 : + 80000390: 0ff0000f fence + 80000394: 00018063 beqz gp,80000394 + 80000398: 00119193 slli gp,gp,0x1 + 8000039c: 0011e193 ori gp,gp,1 + 800003a0: 00000073 ecall + +00000000800003a4 : + 800003a4: 0ff0000f fence + 800003a8: 00100193 li gp,1 + 800003ac: 00000073 ecall + 800003b0: c0001073 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/test/riscv/tests/rv64ui-p-addi.elf b/test/riscv/tests/rv64ui-p-addi.elf new file mode 100755 index 00000000..3cbc838d Binary files /dev/null and b/test/riscv/tests/rv64ui-p-addi.elf differ diff --git a/test/riscv/tests/rv64ui-p-addiw.dump b/test/riscv/tests/rv64ui-p-addiw.dump new file mode 100644 index 00000000..a84bd35c --- /dev/null +++ b/test/riscv/tests/rv64ui-p-addiw.dump @@ -0,0 +1,315 @@ + +rv64ui-p-addiw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00008f1b sext.w t5,ra + 80000104: 00000e93 li t4,0 + 80000108: 00200193 li gp,2 + 8000010c: 27df1c63 bne t5,t4,80000384 + +0000000080000110 : + 80000110: 00100093 li ra,1 + 80000114: 00108f1b addiw t5,ra,1 + 80000118: 00200e93 li t4,2 + 8000011c: 00300193 li gp,3 + 80000120: 27df1263 bne t5,t4,80000384 + +0000000080000124 : + 80000124: 00300093 li ra,3 + 80000128: 00708f1b addiw t5,ra,7 + 8000012c: 00a00e93 li t4,10 + 80000130: 00400193 li gp,4 + 80000134: 25df1863 bne t5,t4,80000384 + +0000000080000138 : + 80000138: 00000093 li ra,0 + 8000013c: 80008f1b addiw t5,ra,-2048 + 80000140: 80000e93 li t4,-2048 + 80000144: 00500193 li gp,5 + 80000148: 23df1e63 bne t5,t4,80000384 + +000000008000014c : + 8000014c: 800000b7 lui ra,0x80000 + 80000150: 00008f1b sext.w t5,ra + 80000154: 80000eb7 lui t4,0x80000 + 80000158: 00600193 li gp,6 + 8000015c: 23df1463 bne t5,t4,80000384 + +0000000080000160 : + 80000160: 800000b7 lui ra,0x80000 + 80000164: 80008f1b addiw t5,ra,-2048 + 80000168: 80000eb7 lui t4,0x80000 + 8000016c: 800e8e9b addiw t4,t4,-2048 + 80000170: 00700193 li gp,7 + 80000174: 21df1863 bne t5,t4,80000384 + +0000000080000178 : + 80000178: 00000093 li ra,0 + 8000017c: 7ff08f1b addiw t5,ra,2047 + 80000180: 7ff00e93 li t4,2047 + 80000184: 00800193 li gp,8 + 80000188: 1fdf1e63 bne t5,t4,80000384 + +000000008000018c : + 8000018c: 800000b7 lui ra,0x80000 + 80000190: fff0809b addiw ra,ra,-1 + 80000194: 00008f1b sext.w t5,ra + 80000198: 80000eb7 lui t4,0x80000 + 8000019c: fffe8e9b addiw t4,t4,-1 + 800001a0: 00900193 li gp,9 + 800001a4: 1fdf1063 bne t5,t4,80000384 + +00000000800001a8 : + 800001a8: 800000b7 lui ra,0x80000 + 800001ac: fff0809b addiw ra,ra,-1 + 800001b0: 7ff08f1b addiw t5,ra,2047 + 800001b4: 80000eb7 lui t4,0x80000 + 800001b8: 7fee8e9b addiw t4,t4,2046 + 800001bc: 00a00193 li gp,10 + 800001c0: 1ddf1263 bne t5,t4,80000384 + +00000000800001c4 : + 800001c4: 800000b7 lui ra,0x80000 + 800001c8: 7ff08f1b addiw t5,ra,2047 + 800001cc: 80000eb7 lui t4,0x80000 + 800001d0: 7ffe8e9b addiw t4,t4,2047 + 800001d4: 00b00193 li gp,11 + 800001d8: 1bdf1663 bne t5,t4,80000384 + +00000000800001dc : + 800001dc: 800000b7 lui ra,0x80000 + 800001e0: fff0809b addiw ra,ra,-1 + 800001e4: 80008f1b addiw t5,ra,-2048 + 800001e8: 7ffffeb7 lui t4,0x7ffff + 800001ec: 7ffe8e9b addiw t4,t4,2047 + 800001f0: 00c00193 li gp,12 + 800001f4: 19df1863 bne t5,t4,80000384 + +00000000800001f8 : + 800001f8: 00000093 li ra,0 + 800001fc: fff08f1b addiw t5,ra,-1 + 80000200: fff00e93 li t4,-1 + 80000204: 00d00193 li gp,13 + 80000208: 17df1e63 bne t5,t4,80000384 + +000000008000020c : + 8000020c: fff00093 li ra,-1 + 80000210: 00108f1b addiw t5,ra,1 + 80000214: 00000e93 li t4,0 + 80000218: 00e00193 li gp,14 + 8000021c: 17df1463 bne t5,t4,80000384 + +0000000080000220 : + 80000220: fff00093 li ra,-1 + 80000224: fff08f1b addiw t5,ra,-1 + 80000228: ffe00e93 li t4,-2 + 8000022c: 00f00193 li gp,15 + 80000230: 15df1a63 bne t5,t4,80000384 + +0000000080000234 : + 80000234: 800000b7 lui ra,0x80000 + 80000238: fff0809b addiw ra,ra,-1 + 8000023c: 00108f1b addiw t5,ra,1 + 80000240: 80000eb7 lui t4,0x80000 + 80000244: 01000193 li gp,16 + 80000248: 13df1e63 bne t5,t4,80000384 + +000000008000024c : + 8000024c: 00d00093 li ra,13 + 80000250: 00b0809b addiw ra,ra,11 + 80000254: 01800e93 li t4,24 + 80000258: 01100193 li gp,17 + 8000025c: 13d09463 bne ra,t4,80000384 + +0000000080000260 : + 80000260: 00000213 li tp,0 + 80000264: 00d00093 li ra,13 + 80000268: 00b08f1b addiw t5,ra,11 + 8000026c: 000f0313 mv t1,t5 + 80000270: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000274: 00200293 li t0,2 + 80000278: fe5216e3 bne tp,t0,80000264 + 8000027c: 01800e93 li t4,24 + 80000280: 01200193 li gp,18 + 80000284: 11d31063 bne t1,t4,80000384 + +0000000080000288 : + 80000288: 00000213 li tp,0 + 8000028c: 00d00093 li ra,13 + 80000290: 00a08f1b addiw t5,ra,10 + 80000294: 00000013 nop + 80000298: 000f0313 mv t1,t5 + 8000029c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a0: 00200293 li t0,2 + 800002a4: fe5214e3 bne tp,t0,8000028c + 800002a8: 01700e93 li t4,23 + 800002ac: 01300193 li gp,19 + 800002b0: 0dd31a63 bne t1,t4,80000384 + +00000000800002b4 : + 800002b4: 00000213 li tp,0 + 800002b8: 00d00093 li ra,13 + 800002bc: 00908f1b addiw t5,ra,9 + 800002c0: 00000013 nop + 800002c4: 00000013 nop + 800002c8: 000f0313 mv t1,t5 + 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002d0: 00200293 li t0,2 + 800002d4: fe5212e3 bne tp,t0,800002b8 + 800002d8: 01600e93 li t4,22 + 800002dc: 01400193 li gp,20 + 800002e0: 0bd31263 bne t1,t4,80000384 + +00000000800002e4 : + 800002e4: 00000213 li tp,0 + 800002e8: 00d00093 li ra,13 + 800002ec: 00b08f1b addiw t5,ra,11 + 800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002f4: 00200293 li t0,2 + 800002f8: fe5218e3 bne tp,t0,800002e8 + 800002fc: 01800e93 li t4,24 + 80000300: 01500193 li gp,21 + 80000304: 09df1063 bne t5,t4,80000384 + +0000000080000308 : + 80000308: 00000213 li tp,0 + 8000030c: 00d00093 li ra,13 + 80000310: 00000013 nop + 80000314: 00a08f1b addiw t5,ra,10 + 80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000031c: 00200293 li t0,2 + 80000320: fe5216e3 bne tp,t0,8000030c + 80000324: 01700e93 li t4,23 + 80000328: 01600193 li gp,22 + 8000032c: 05df1c63 bne t5,t4,80000384 + +0000000080000330 : + 80000330: 00000213 li tp,0 + 80000334: 00d00093 li ra,13 + 80000338: 00000013 nop + 8000033c: 00000013 nop + 80000340: 00908f1b addiw t5,ra,9 + 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000348: 00200293 li t0,2 + 8000034c: fe5214e3 bne tp,t0,80000334 + 80000350: 01600e93 li t4,22 + 80000354: 01700193 li gp,23 + 80000358: 03df1663 bne t5,t4,80000384 + +000000008000035c : + 8000035c: 0200009b addiw ra,zero,32 + 80000360: 02000e93 li t4,32 + 80000364: 01800193 li gp,24 + 80000368: 01d09e63 bne ra,t4,80000384 + +000000008000036c : + 8000036c: 02100093 li ra,33 + 80000370: 0320801b addiw zero,ra,50 + 80000374: 00000e93 li t4,0 + 80000378: 01900193 li gp,25 + 8000037c: 01d01463 bne zero,t4,80000384 + 80000380: 00301c63 bne zero,gp,80000398 + +0000000080000384 : + 80000384: 0ff0000f fence + 80000388: 00018063 beqz gp,80000388 + 8000038c: 00119193 slli gp,gp,0x1 + 80000390: 0011e193 ori gp,gp,1 + 80000394: 00000073 ecall + +0000000080000398 : + 80000398: 0ff0000f fence + 8000039c: 00100193 li gp,1 + 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 diff --git a/test/riscv/tests/rv64ui-p-addiw.elf b/test/riscv/tests/rv64ui-p-addiw.elf new file mode 100755 index 00000000..adee4ac2 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-addiw.elf differ diff --git a/test/riscv/tests/rv64ui-p-addw.dump b/test/riscv/tests/rv64ui-p-addw.dump new file mode 100644 index 00000000..626af6d9 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-addw.dump @@ -0,0 +1,479 @@ + +rv64ui-p-addw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00000113 li sp,0 + 80000104: 00208f3b addw t5,ra,sp + 80000108: 00000e93 li t4,0 + 8000010c: 00200193 li gp,2 + 80000110: 4ddf1663 bne t5,t4,800005dc + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 00208f3b addw t5,ra,sp + 80000120: 00200e93 li t4,2 + 80000124: 00300193 li gp,3 + 80000128: 4bdf1a63 bne t5,t4,800005dc + +000000008000012c : + 8000012c: 00300093 li ra,3 + 80000130: 00700113 li sp,7 + 80000134: 00208f3b addw t5,ra,sp + 80000138: 00a00e93 li t4,10 + 8000013c: 00400193 li gp,4 + 80000140: 49df1e63 bne t5,t4,800005dc + +0000000080000144 : + 80000144: 00000093 li ra,0 + 80000148: ffff8137 lui sp,0xffff8 + 8000014c: 00208f3b addw t5,ra,sp + 80000150: ffff8eb7 lui t4,0xffff8 + 80000154: 00500193 li gp,5 + 80000158: 49df1263 bne t5,t4,800005dc + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00000113 li sp,0 + 80000164: 00208f3b addw t5,ra,sp + 80000168: 80000eb7 lui t4,0x80000 + 8000016c: 00600193 li gp,6 + 80000170: 47df1663 bne t5,t4,800005dc + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: ffff8137 lui sp,0xffff8 + 8000017c: 00208f3b addw t5,ra,sp + 80000180: 7fff8eb7 lui t4,0x7fff8 + 80000184: 00700193 li gp,7 + 80000188: 45df1a63 bne t5,t4,800005dc + +000000008000018c : + 8000018c: 00000093 li ra,0 + 80000190: 00008137 lui sp,0x8 + 80000194: fff1011b addiw sp,sp,-1 + 80000198: 00208f3b addw t5,ra,sp + 8000019c: 00008eb7 lui t4,0x8 + 800001a0: fffe8e9b addiw t4,t4,-1 + 800001a4: 00800193 li gp,8 + 800001a8: 43df1a63 bne t5,t4,800005dc + +00000000800001ac : + 800001ac: 800000b7 lui ra,0x80000 + 800001b0: fff0809b addiw ra,ra,-1 + 800001b4: 00000113 li sp,0 + 800001b8: 00208f3b addw t5,ra,sp + 800001bc: 80000eb7 lui t4,0x80000 + 800001c0: fffe8e9b addiw t4,t4,-1 + 800001c4: 00900193 li gp,9 + 800001c8: 41df1a63 bne t5,t4,800005dc + +00000000800001cc : + 800001cc: 800000b7 lui ra,0x80000 + 800001d0: fff0809b addiw ra,ra,-1 + 800001d4: 00008137 lui sp,0x8 + 800001d8: fff1011b addiw sp,sp,-1 + 800001dc: 00208f3b addw t5,ra,sp + 800001e0: 80008eb7 lui t4,0x80008 + 800001e4: ffee8e9b addiw t4,t4,-2 + 800001e8: 00a00193 li gp,10 + 800001ec: 3fdf1863 bne t5,t4,800005dc + +00000000800001f0 : + 800001f0: 800000b7 lui ra,0x80000 + 800001f4: 00008137 lui sp,0x8 + 800001f8: fff1011b addiw sp,sp,-1 + 800001fc: 00208f3b addw t5,ra,sp + 80000200: 80008eb7 lui t4,0x80008 + 80000204: fffe8e9b addiw t4,t4,-1 + 80000208: 00b00193 li gp,11 + 8000020c: 3ddf1863 bne t5,t4,800005dc + +0000000080000210 : + 80000210: 800000b7 lui ra,0x80000 + 80000214: fff0809b addiw ra,ra,-1 + 80000218: ffff8137 lui sp,0xffff8 + 8000021c: 00208f3b addw t5,ra,sp + 80000220: 7fff8eb7 lui t4,0x7fff8 + 80000224: fffe8e9b addiw t4,t4,-1 + 80000228: 00c00193 li gp,12 + 8000022c: 3bdf1863 bne t5,t4,800005dc + +0000000080000230 : + 80000230: 00000093 li ra,0 + 80000234: fff00113 li sp,-1 + 80000238: 00208f3b addw t5,ra,sp + 8000023c: fff00e93 li t4,-1 + 80000240: 00d00193 li gp,13 + 80000244: 39df1c63 bne t5,t4,800005dc + +0000000080000248 : + 80000248: fff00093 li ra,-1 + 8000024c: 00100113 li sp,1 + 80000250: 00208f3b addw t5,ra,sp + 80000254: 00000e93 li t4,0 + 80000258: 00e00193 li gp,14 + 8000025c: 39df1063 bne t5,t4,800005dc + +0000000080000260 : + 80000260: fff00093 li ra,-1 + 80000264: fff00113 li sp,-1 + 80000268: 00208f3b addw t5,ra,sp + 8000026c: ffe00e93 li t4,-2 + 80000270: 00f00193 li gp,15 + 80000274: 37df1463 bne t5,t4,800005dc + +0000000080000278 : + 80000278: 00100093 li ra,1 + 8000027c: 80000137 lui sp,0x80000 + 80000280: fff1011b addiw sp,sp,-1 + 80000284: 00208f3b addw t5,ra,sp + 80000288: 80000eb7 lui t4,0x80000 + 8000028c: 01000193 li gp,16 + 80000290: 35df1663 bne t5,t4,800005dc + +0000000080000294 : + 80000294: 00d00093 li ra,13 + 80000298: 00b00113 li sp,11 + 8000029c: 002080bb addw ra,ra,sp + 800002a0: 01800e93 li t4,24 + 800002a4: 01100193 li gp,17 + 800002a8: 33d09a63 bne ra,t4,800005dc + +00000000800002ac : + 800002ac: 00e00093 li ra,14 + 800002b0: 00b00113 li sp,11 + 800002b4: 0020813b addw sp,ra,sp + 800002b8: 01900e93 li t4,25 + 800002bc: 01200193 li gp,18 + 800002c0: 31d11e63 bne sp,t4,800005dc + +00000000800002c4 : + 800002c4: 00d00093 li ra,13 + 800002c8: 001080bb addw ra,ra,ra + 800002cc: 01a00e93 li t4,26 + 800002d0: 01300193 li gp,19 + 800002d4: 31d09463 bne ra,t4,800005dc + +00000000800002d8 : + 800002d8: 00000213 li tp,0 + 800002dc: 00d00093 li ra,13 + 800002e0: 00b00113 li sp,11 + 800002e4: 00208f3b addw t5,ra,sp + 800002e8: 000f0313 mv t1,t5 + 800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002f0: 00200293 li t0,2 + 800002f4: fe5214e3 bne tp,t0,800002dc + 800002f8: 01800e93 li t4,24 + 800002fc: 01400193 li gp,20 + 80000300: 2dd31e63 bne t1,t4,800005dc + +0000000080000304 : + 80000304: 00000213 li tp,0 + 80000308: 00e00093 li ra,14 + 8000030c: 00b00113 li sp,11 + 80000310: 00208f3b addw t5,ra,sp + 80000314: 00000013 nop + 80000318: 000f0313 mv t1,t5 + 8000031c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000320: 00200293 li t0,2 + 80000324: fe5212e3 bne tp,t0,80000308 + 80000328: 01900e93 li t4,25 + 8000032c: 01500193 li gp,21 + 80000330: 2bd31663 bne t1,t4,800005dc + +0000000080000334 : + 80000334: 00000213 li tp,0 + 80000338: 00f00093 li ra,15 + 8000033c: 00b00113 li sp,11 + 80000340: 00208f3b addw t5,ra,sp + 80000344: 00000013 nop + 80000348: 00000013 nop + 8000034c: 000f0313 mv t1,t5 + 80000350: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000354: 00200293 li t0,2 + 80000358: fe5210e3 bne tp,t0,80000338 + 8000035c: 01a00e93 li t4,26 + 80000360: 01600193 li gp,22 + 80000364: 27d31c63 bne t1,t4,800005dc + +0000000080000368 : + 80000368: 00000213 li tp,0 + 8000036c: 00d00093 li ra,13 + 80000370: 00b00113 li sp,11 + 80000374: 00208f3b addw t5,ra,sp + 80000378: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000037c: 00200293 li t0,2 + 80000380: fe5216e3 bne tp,t0,8000036c + 80000384: 01800e93 li t4,24 + 80000388: 01700193 li gp,23 + 8000038c: 25df1863 bne t5,t4,800005dc + +0000000080000390 : + 80000390: 00000213 li tp,0 + 80000394: 00e00093 li ra,14 + 80000398: 00b00113 li sp,11 + 8000039c: 00000013 nop + 800003a0: 00208f3b addw t5,ra,sp + 800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003a8: 00200293 li t0,2 + 800003ac: fe5214e3 bne tp,t0,80000394 + 800003b0: 01900e93 li t4,25 + 800003b4: 01800193 li gp,24 + 800003b8: 23df1263 bne t5,t4,800005dc + +00000000800003bc : + 800003bc: 00000213 li tp,0 + 800003c0: 00f00093 li ra,15 + 800003c4: 00b00113 li sp,11 + 800003c8: 00000013 nop + 800003cc: 00000013 nop + 800003d0: 00208f3b addw t5,ra,sp + 800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d8: 00200293 li t0,2 + 800003dc: fe5212e3 bne tp,t0,800003c0 + 800003e0: 01a00e93 li t4,26 + 800003e4: 01900193 li gp,25 + 800003e8: 1fdf1a63 bne t5,t4,800005dc + +00000000800003ec : + 800003ec: 00000213 li tp,0 + 800003f0: 00d00093 li ra,13 + 800003f4: 00000013 nop + 800003f8: 00b00113 li sp,11 + 800003fc: 00208f3b addw t5,ra,sp + 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000404: 00200293 li t0,2 + 80000408: fe5214e3 bne tp,t0,800003f0 + 8000040c: 01800e93 li t4,24 + 80000410: 01a00193 li gp,26 + 80000414: 1ddf1463 bne t5,t4,800005dc + +0000000080000418 : + 80000418: 00000213 li tp,0 + 8000041c: 00e00093 li ra,14 + 80000420: 00000013 nop + 80000424: 00b00113 li sp,11 + 80000428: 00000013 nop + 8000042c: 00208f3b addw t5,ra,sp + 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000434: 00200293 li t0,2 + 80000438: fe5212e3 bne tp,t0,8000041c + 8000043c: 01900e93 li t4,25 + 80000440: 01b00193 li gp,27 + 80000444: 19df1c63 bne t5,t4,800005dc + +0000000080000448 : + 80000448: 00000213 li tp,0 + 8000044c: 00f00093 li ra,15 + 80000450: 00000013 nop + 80000454: 00000013 nop + 80000458: 00b00113 li sp,11 + 8000045c: 00208f3b addw t5,ra,sp + 80000460: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000464: 00200293 li t0,2 + 80000468: fe5212e3 bne tp,t0,8000044c + 8000046c: 01a00e93 li t4,26 + 80000470: 01c00193 li gp,28 + 80000474: 17df1463 bne t5,t4,800005dc + +0000000080000478 : + 80000478: 00000213 li tp,0 + 8000047c: 00b00113 li sp,11 + 80000480: 00d00093 li ra,13 + 80000484: 00208f3b addw t5,ra,sp + 80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000048c: 00200293 li t0,2 + 80000490: fe5216e3 bne tp,t0,8000047c + 80000494: 01800e93 li t4,24 + 80000498: 01d00193 li gp,29 + 8000049c: 15df1063 bne t5,t4,800005dc + +00000000800004a0 : + 800004a0: 00000213 li tp,0 + 800004a4: 00b00113 li sp,11 + 800004a8: 00e00093 li ra,14 + 800004ac: 00000013 nop + 800004b0: 00208f3b addw t5,ra,sp + 800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004b8: 00200293 li t0,2 + 800004bc: fe5214e3 bne tp,t0,800004a4 + 800004c0: 01900e93 li t4,25 + 800004c4: 01e00193 li gp,30 + 800004c8: 11df1a63 bne t5,t4,800005dc + +00000000800004cc : + 800004cc: 00000213 li tp,0 + 800004d0: 00b00113 li sp,11 + 800004d4: 00f00093 li ra,15 + 800004d8: 00000013 nop + 800004dc: 00000013 nop + 800004e0: 00208f3b addw t5,ra,sp + 800004e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004e8: 00200293 li t0,2 + 800004ec: fe5212e3 bne tp,t0,800004d0 + 800004f0: 01a00e93 li t4,26 + 800004f4: 01f00193 li gp,31 + 800004f8: 0fdf1263 bne t5,t4,800005dc + +00000000800004fc : + 800004fc: 00000213 li tp,0 + 80000500: 00b00113 li sp,11 + 80000504: 00000013 nop + 80000508: 00d00093 li ra,13 + 8000050c: 00208f3b addw t5,ra,sp + 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000514: 00200293 li t0,2 + 80000518: fe5214e3 bne tp,t0,80000500 + 8000051c: 01800e93 li t4,24 + 80000520: 02000193 li gp,32 + 80000524: 0bdf1c63 bne t5,t4,800005dc + +0000000080000528 : + 80000528: 00000213 li tp,0 + 8000052c: 00b00113 li sp,11 + 80000530: 00000013 nop + 80000534: 00e00093 li ra,14 + 80000538: 00000013 nop + 8000053c: 00208f3b addw t5,ra,sp + 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000544: 00200293 li t0,2 + 80000548: fe5212e3 bne tp,t0,8000052c + 8000054c: 01900e93 li t4,25 + 80000550: 02100193 li gp,33 + 80000554: 09df1463 bne t5,t4,800005dc + +0000000080000558 : + 80000558: 00000213 li tp,0 + 8000055c: 00b00113 li sp,11 + 80000560: 00000013 nop + 80000564: 00000013 nop + 80000568: 00f00093 li ra,15 + 8000056c: 00208f3b addw t5,ra,sp + 80000570: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000574: 00200293 li t0,2 + 80000578: fe5212e3 bne tp,t0,8000055c + 8000057c: 01a00e93 li t4,26 + 80000580: 02200193 li gp,34 + 80000584: 05df1c63 bne t5,t4,800005dc + +0000000080000588 : + 80000588: 00f00093 li ra,15 + 8000058c: 0010013b addw sp,zero,ra + 80000590: 00f00e93 li t4,15 + 80000594: 02300193 li gp,35 + 80000598: 05d11263 bne sp,t4,800005dc + +000000008000059c : + 8000059c: 02000093 li ra,32 + 800005a0: 0000813b addw sp,ra,zero + 800005a4: 02000e93 li t4,32 + 800005a8: 02400193 li gp,36 + 800005ac: 03d11863 bne sp,t4,800005dc + +00000000800005b0 : + 800005b0: 000000bb addw ra,zero,zero + 800005b4: 00000e93 li t4,0 + 800005b8: 02500193 li gp,37 + 800005bc: 03d09063 bne ra,t4,800005dc + +00000000800005c0 : + 800005c0: 01000093 li ra,16 + 800005c4: 01e00113 li sp,30 + 800005c8: 0020803b addw zero,ra,sp + 800005cc: 00000e93 li t4,0 + 800005d0: 02600193 li gp,38 + 800005d4: 01d01463 bne zero,t4,800005dc + 800005d8: 00301c63 bne zero,gp,800005f0 + +00000000800005dc : + 800005dc: 0ff0000f fence + 800005e0: 00018063 beqz gp,800005e0 + 800005e4: 00119193 slli gp,gp,0x1 + 800005e8: 0011e193 ori gp,gp,1 + 800005ec: 00000073 ecall + +00000000800005f0 : + 800005f0: 0ff0000f fence + 800005f4: 00100193 li gp,1 + 800005f8: 00000073 ecall + 800005fc: c0001073 unimp + 80000600: 0000 unimp + 80000602: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-addw.elf b/test/riscv/tests/rv64ui-p-addw.elf new file mode 100755 index 00000000..b36a71c1 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-addw.elf differ diff --git a/test/riscv/tests/rv64ui-p-and.dump b/test/riscv/tests/rv64ui-p-and.dump new file mode 100644 index 00000000..5851df86 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-and.dump @@ -0,0 +1,491 @@ + +rv64ui-p-and: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 000100b7 lui ra,0x10 + 80000100: f010809b addiw ra,ra,-255 + 80000104: 01009093 slli ra,ra,0x10 + 80000108: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 8000010c: 0f0f1137 lui sp,0xf0f1 + 80000110: f0f1011b addiw sp,sp,-241 + 80000114: 0020ff33 and t5,ra,sp + 80000118: 0f001eb7 lui t4,0xf001 + 8000011c: f00e8e9b addiw t4,t4,-256 + 80000120: 00200193 li gp,2 + 80000124: 53df1863 bne t5,t4,80000654 + +0000000080000128 : + 80000128: 0ff010b7 lui ra,0xff01 + 8000012c: ff00809b addiw ra,ra,-16 + 80000130: 000f1137 lui sp,0xf1 + 80000134: f0f1011b addiw sp,sp,-241 + 80000138: 00c11113 slli sp,sp,0xc + 8000013c: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80000140: 0020ff33 and t5,ra,sp + 80000144: 00f00eb7 lui t4,0xf00 + 80000148: 0f0e8e9b addiw t4,t4,240 + 8000014c: 00300193 li gp,3 + 80000150: 51df1263 bne t5,t4,80000654 + +0000000080000154 : + 80000154: 00ff00b7 lui ra,0xff0 + 80000158: 0ff0809b addiw ra,ra,255 + 8000015c: 0f0f1137 lui sp,0xf0f1 + 80000160: f0f1011b addiw sp,sp,-241 + 80000164: 0020ff33 and t5,ra,sp + 80000168: 000f0eb7 lui t4,0xf0 + 8000016c: 00fe8e9b addiw t4,t4,15 + 80000170: 00400193 li gp,4 + 80000174: 4fdf1063 bne t5,t4,80000654 + +0000000080000178 : + 80000178: 000f00b7 lui ra,0xf0 + 8000017c: 0ff0809b addiw ra,ra,255 + 80000180: 00c09093 slli ra,ra,0xc + 80000184: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 80000188: 000f1137 lui sp,0xf1 + 8000018c: f0f1011b addiw sp,sp,-241 + 80000190: 00c11113 slli sp,sp,0xc + 80000194: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80000198: 0020ff33 and t5,ra,sp + 8000019c: 000f0eb7 lui t4,0xf0 + 800001a0: 00fe8e9b addiw t4,t4,15 + 800001a4: 00ce9e93 slli t4,t4,0xc + 800001a8: 00500193 li gp,5 + 800001ac: 4bdf1463 bne t5,t4,80000654 + +00000000800001b0 : + 800001b0: 000100b7 lui ra,0x10 + 800001b4: f010809b addiw ra,ra,-255 + 800001b8: 01009093 slli ra,ra,0x10 + 800001bc: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 800001c0: 0f0f1137 lui sp,0xf0f1 + 800001c4: f0f1011b addiw sp,sp,-241 + 800001c8: 0020f0b3 and ra,ra,sp + 800001cc: 0f001eb7 lui t4,0xf001 + 800001d0: f00e8e9b addiw t4,t4,-256 + 800001d4: 00600193 li gp,6 + 800001d8: 47d09e63 bne ra,t4,80000654 + +00000000800001dc : + 800001dc: 0ff010b7 lui ra,0xff01 + 800001e0: ff00809b addiw ra,ra,-16 + 800001e4: 000f1137 lui sp,0xf1 + 800001e8: f0f1011b addiw sp,sp,-241 + 800001ec: 00c11113 slli sp,sp,0xc + 800001f0: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 800001f4: 0020f133 and sp,ra,sp + 800001f8: 00f00eb7 lui t4,0xf00 + 800001fc: 0f0e8e9b addiw t4,t4,240 + 80000200: 00700193 li gp,7 + 80000204: 45d11863 bne sp,t4,80000654 + +0000000080000208 : + 80000208: 000100b7 lui ra,0x10 + 8000020c: f010809b addiw ra,ra,-255 + 80000210: 01009093 slli ra,ra,0x10 + 80000214: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000218: 0010f0b3 and ra,ra,ra + 8000021c: 00010eb7 lui t4,0x10 + 80000220: f01e8e9b addiw t4,t4,-255 + 80000224: 010e9e93 slli t4,t4,0x10 + 80000228: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 8000022c: 00800193 li gp,8 + 80000230: 43d09263 bne ra,t4,80000654 + +0000000080000234 : + 80000234: 00000213 li tp,0 + 80000238: 000100b7 lui ra,0x10 + 8000023c: f010809b addiw ra,ra,-255 + 80000240: 01009093 slli ra,ra,0x10 + 80000244: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000248: 0f0f1137 lui sp,0xf0f1 + 8000024c: f0f1011b addiw sp,sp,-241 + 80000250: 0020ff33 and t5,ra,sp + 80000254: 000f0313 mv t1,t5 + 80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000025c: 00200293 li t0,2 + 80000260: fc521ce3 bne tp,t0,80000238 + 80000264: 0f001eb7 lui t4,0xf001 + 80000268: f00e8e9b addiw t4,t4,-256 + 8000026c: 00900193 li gp,9 + 80000270: 3fd31263 bne t1,t4,80000654 + +0000000080000274 : + 80000274: 00000213 li tp,0 + 80000278: 0ff010b7 lui ra,0xff01 + 8000027c: ff00809b addiw ra,ra,-16 + 80000280: 000f1137 lui sp,0xf1 + 80000284: f0f1011b addiw sp,sp,-241 + 80000288: 00c11113 slli sp,sp,0xc + 8000028c: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80000290: 0020ff33 and t5,ra,sp + 80000294: 00000013 nop + 80000298: 000f0313 mv t1,t5 + 8000029c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a0: 00200293 li t0,2 + 800002a4: fc521ae3 bne tp,t0,80000278 + 800002a8: 00f00eb7 lui t4,0xf00 + 800002ac: 0f0e8e9b addiw t4,t4,240 + 800002b0: 00a00193 li gp,10 + 800002b4: 3bd31063 bne t1,t4,80000654 + +00000000800002b8 : + 800002b8: 00000213 li tp,0 + 800002bc: 00ff00b7 lui ra,0xff0 + 800002c0: 0ff0809b addiw ra,ra,255 + 800002c4: 0f0f1137 lui sp,0xf0f1 + 800002c8: f0f1011b addiw sp,sp,-241 + 800002cc: 0020ff33 and t5,ra,sp + 800002d0: 00000013 nop + 800002d4: 00000013 nop + 800002d8: 000f0313 mv t1,t5 + 800002dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002e0: 00200293 li t0,2 + 800002e4: fc521ce3 bne tp,t0,800002bc + 800002e8: 000f0eb7 lui t4,0xf0 + 800002ec: 00fe8e9b addiw t4,t4,15 + 800002f0: 00b00193 li gp,11 + 800002f4: 37d31063 bne t1,t4,80000654 + +00000000800002f8 : + 800002f8: 00000213 li tp,0 + 800002fc: 000100b7 lui ra,0x10 + 80000300: f010809b addiw ra,ra,-255 + 80000304: 01009093 slli ra,ra,0x10 + 80000308: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 8000030c: 0f0f1137 lui sp,0xf0f1 + 80000310: f0f1011b addiw sp,sp,-241 + 80000314: 0020ff33 and t5,ra,sp + 80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000031c: 00200293 li t0,2 + 80000320: fc521ee3 bne tp,t0,800002fc + 80000324: 0f001eb7 lui t4,0xf001 + 80000328: f00e8e9b addiw t4,t4,-256 + 8000032c: 00c00193 li gp,12 + 80000330: 33df1263 bne t5,t4,80000654 + +0000000080000334 : + 80000334: 00000213 li tp,0 + 80000338: 0ff010b7 lui ra,0xff01 + 8000033c: ff00809b addiw ra,ra,-16 + 80000340: 000f1137 lui sp,0xf1 + 80000344: f0f1011b addiw sp,sp,-241 + 80000348: 00c11113 slli sp,sp,0xc + 8000034c: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80000350: 00000013 nop + 80000354: 0020ff33 and t5,ra,sp + 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000035c: 00200293 li t0,2 + 80000360: fc521ce3 bne tp,t0,80000338 + 80000364: 00f00eb7 lui t4,0xf00 + 80000368: 0f0e8e9b addiw t4,t4,240 + 8000036c: 00d00193 li gp,13 + 80000370: 2fdf1263 bne t5,t4,80000654 + +0000000080000374 : + 80000374: 00000213 li tp,0 + 80000378: 00ff00b7 lui ra,0xff0 + 8000037c: 0ff0809b addiw ra,ra,255 + 80000380: 0f0f1137 lui sp,0xf0f1 + 80000384: f0f1011b addiw sp,sp,-241 + 80000388: 00000013 nop + 8000038c: 00000013 nop + 80000390: 0020ff33 and t5,ra,sp + 80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000398: 00200293 li t0,2 + 8000039c: fc521ee3 bne tp,t0,80000378 + 800003a0: 000f0eb7 lui t4,0xf0 + 800003a4: 00fe8e9b addiw t4,t4,15 + 800003a8: 00e00193 li gp,14 + 800003ac: 2bdf1463 bne t5,t4,80000654 + +00000000800003b0 : + 800003b0: 00000213 li tp,0 + 800003b4: 000100b7 lui ra,0x10 + 800003b8: f010809b addiw ra,ra,-255 + 800003bc: 01009093 slli ra,ra,0x10 + 800003c0: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 800003c4: 00000013 nop + 800003c8: 0f0f1137 lui sp,0xf0f1 + 800003cc: f0f1011b addiw sp,sp,-241 + 800003d0: 0020ff33 and t5,ra,sp + 800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d8: 00200293 li t0,2 + 800003dc: fc521ce3 bne tp,t0,800003b4 + 800003e0: 0f001eb7 lui t4,0xf001 + 800003e4: f00e8e9b addiw t4,t4,-256 + 800003e8: 00f00193 li gp,15 + 800003ec: 27df1463 bne t5,t4,80000654 + +00000000800003f0 : + 800003f0: 00000213 li tp,0 + 800003f4: 0ff010b7 lui ra,0xff01 + 800003f8: ff00809b addiw ra,ra,-16 + 800003fc: 00000013 nop + 80000400: 000f1137 lui sp,0xf1 + 80000404: f0f1011b addiw sp,sp,-241 + 80000408: 00c11113 slli sp,sp,0xc + 8000040c: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80000410: 00000013 nop + 80000414: 0020ff33 and t5,ra,sp + 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000041c: 00200293 li t0,2 + 80000420: fc521ae3 bne tp,t0,800003f4 + 80000424: 00f00eb7 lui t4,0xf00 + 80000428: 0f0e8e9b addiw t4,t4,240 + 8000042c: 01000193 li gp,16 + 80000430: 23df1263 bne t5,t4,80000654 + +0000000080000434 : + 80000434: 00000213 li tp,0 + 80000438: 00ff00b7 lui ra,0xff0 + 8000043c: 0ff0809b addiw ra,ra,255 + 80000440: 00000013 nop + 80000444: 00000013 nop + 80000448: 0f0f1137 lui sp,0xf0f1 + 8000044c: f0f1011b addiw sp,sp,-241 + 80000450: 0020ff33 and t5,ra,sp + 80000454: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000458: 00200293 li t0,2 + 8000045c: fc521ee3 bne tp,t0,80000438 + 80000460: 000f0eb7 lui t4,0xf0 + 80000464: 00fe8e9b addiw t4,t4,15 + 80000468: 01100193 li gp,17 + 8000046c: 1fdf1463 bne t5,t4,80000654 + +0000000080000470 : + 80000470: 00000213 li tp,0 + 80000474: 0f0f1137 lui sp,0xf0f1 + 80000478: f0f1011b addiw sp,sp,-241 + 8000047c: 000100b7 lui ra,0x10 + 80000480: f010809b addiw ra,ra,-255 + 80000484: 01009093 slli ra,ra,0x10 + 80000488: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 8000048c: 0020ff33 and t5,ra,sp + 80000490: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000494: 00200293 li t0,2 + 80000498: fc521ee3 bne tp,t0,80000474 + 8000049c: 0f001eb7 lui t4,0xf001 + 800004a0: f00e8e9b addiw t4,t4,-256 + 800004a4: 01200193 li gp,18 + 800004a8: 1bdf1663 bne t5,t4,80000654 + +00000000800004ac : + 800004ac: 00000213 li tp,0 + 800004b0: 000f1137 lui sp,0xf1 + 800004b4: f0f1011b addiw sp,sp,-241 + 800004b8: 00c11113 slli sp,sp,0xc + 800004bc: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 800004c0: 0ff010b7 lui ra,0xff01 + 800004c4: ff00809b addiw ra,ra,-16 + 800004c8: 00000013 nop + 800004cc: 0020ff33 and t5,ra,sp + 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d4: 00200293 li t0,2 + 800004d8: fc521ce3 bne tp,t0,800004b0 + 800004dc: 00f00eb7 lui t4,0xf00 + 800004e0: 0f0e8e9b addiw t4,t4,240 + 800004e4: 01300193 li gp,19 + 800004e8: 17df1663 bne t5,t4,80000654 + +00000000800004ec : + 800004ec: 00000213 li tp,0 + 800004f0: 0f0f1137 lui sp,0xf0f1 + 800004f4: f0f1011b addiw sp,sp,-241 + 800004f8: 00ff00b7 lui ra,0xff0 + 800004fc: 0ff0809b addiw ra,ra,255 + 80000500: 00000013 nop + 80000504: 00000013 nop + 80000508: 0020ff33 and t5,ra,sp + 8000050c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000510: 00200293 li t0,2 + 80000514: fc521ee3 bne tp,t0,800004f0 + 80000518: 000f0eb7 lui t4,0xf0 + 8000051c: 00fe8e9b addiw t4,t4,15 + 80000520: 01400193 li gp,20 + 80000524: 13df1863 bne t5,t4,80000654 + +0000000080000528 : + 80000528: 00000213 li tp,0 + 8000052c: 0f0f1137 lui sp,0xf0f1 + 80000530: f0f1011b addiw sp,sp,-241 + 80000534: 00000013 nop + 80000538: 000100b7 lui ra,0x10 + 8000053c: f010809b addiw ra,ra,-255 + 80000540: 01009093 slli ra,ra,0x10 + 80000544: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000548: 0020ff33 and t5,ra,sp + 8000054c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000550: 00200293 li t0,2 + 80000554: fc521ce3 bne tp,t0,8000052c + 80000558: 0f001eb7 lui t4,0xf001 + 8000055c: f00e8e9b addiw t4,t4,-256 + 80000560: 01500193 li gp,21 + 80000564: 0fdf1863 bne t5,t4,80000654 + +0000000080000568 : + 80000568: 00000213 li tp,0 + 8000056c: 000f1137 lui sp,0xf1 + 80000570: f0f1011b addiw sp,sp,-241 + 80000574: 00c11113 slli sp,sp,0xc + 80000578: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 8000057c: 00000013 nop + 80000580: 0ff010b7 lui ra,0xff01 + 80000584: ff00809b addiw ra,ra,-16 + 80000588: 00000013 nop + 8000058c: 0020ff33 and t5,ra,sp + 80000590: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000594: 00200293 li t0,2 + 80000598: fc521ae3 bne tp,t0,8000056c + 8000059c: 00f00eb7 lui t4,0xf00 + 800005a0: 0f0e8e9b addiw t4,t4,240 + 800005a4: 01600193 li gp,22 + 800005a8: 0bdf1663 bne t5,t4,80000654 + +00000000800005ac : + 800005ac: 00000213 li tp,0 + 800005b0: 0f0f1137 lui sp,0xf0f1 + 800005b4: f0f1011b addiw sp,sp,-241 + 800005b8: 00000013 nop + 800005bc: 00000013 nop + 800005c0: 00ff00b7 lui ra,0xff0 + 800005c4: 0ff0809b addiw ra,ra,255 + 800005c8: 0020ff33 and t5,ra,sp + 800005cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005d0: 00200293 li t0,2 + 800005d4: fc521ee3 bne tp,t0,800005b0 + 800005d8: 000f0eb7 lui t4,0xf0 + 800005dc: 00fe8e9b addiw t4,t4,15 + 800005e0: 01700193 li gp,23 + 800005e4: 07df1863 bne t5,t4,80000654 + +00000000800005e8 : + 800005e8: 000100b7 lui ra,0x10 + 800005ec: f010809b addiw ra,ra,-255 + 800005f0: 01009093 slli ra,ra,0x10 + 800005f4: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 800005f8: 00107133 and sp,zero,ra + 800005fc: 00000e93 li t4,0 + 80000600: 01800193 li gp,24 + 80000604: 05d11863 bne sp,t4,80000654 + +0000000080000608 : + 80000608: 00ff00b7 lui ra,0xff0 + 8000060c: 0ff0809b addiw ra,ra,255 + 80000610: 0000f133 and sp,ra,zero + 80000614: 00000e93 li t4,0 + 80000618: 01900193 li gp,25 + 8000061c: 03d11c63 bne sp,t4,80000654 + +0000000080000620 : + 80000620: 000070b3 and ra,zero,zero + 80000624: 00000e93 li t4,0 + 80000628: 01a00193 li gp,26 + 8000062c: 03d09463 bne ra,t4,80000654 + +0000000080000630 : + 80000630: 111110b7 lui ra,0x11111 + 80000634: 1110809b addiw ra,ra,273 + 80000638: 22222137 lui sp,0x22222 + 8000063c: 2221011b addiw sp,sp,546 + 80000640: 0020f033 and zero,ra,sp + 80000644: 00000e93 li t4,0 + 80000648: 01b00193 li gp,27 + 8000064c: 01d01463 bne zero,t4,80000654 + 80000650: 00301c63 bne zero,gp,80000668 + +0000000080000654 : + 80000654: 0ff0000f fence + 80000658: 00018063 beqz gp,80000658 + 8000065c: 00119193 slli gp,gp,0x1 + 80000660: 0011e193 ori gp,gp,1 + 80000664: 00000073 ecall + +0000000080000668 : + 80000668: 0ff0000f fence + 8000066c: 00100193 li gp,1 + 80000670: 00000073 ecall + 80000674: c0001073 unimp + 80000678: 0000 unimp + 8000067a: 0000 unimp + 8000067c: 0000 unimp + 8000067e: 0000 unimp + 80000680: 0000 unimp + 80000682: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-and.elf b/test/riscv/tests/rv64ui-p-and.elf new file mode 100755 index 00000000..66d59699 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-and.elf differ diff --git a/test/riscv/tests/rv64ui-p-andi.dump b/test/riscv/tests/rv64ui-p-andi.dump new file mode 100644 index 00000000..2349dd1c --- /dev/null +++ b/test/riscv/tests/rv64ui-p-andi.dump @@ -0,0 +1,265 @@ + +rv64ui-p-andi: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 000100b7 lui ra,0x10 + 80000100: f010809b addiw ra,ra,-255 + 80000104: 01009093 slli ra,ra,0x10 + 80000108: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 8000010c: f0f0ff13 andi t5,ra,-241 + 80000110: 00010eb7 lui t4,0x10 + 80000114: f01e8e9b addiw t4,t4,-255 + 80000118: 010e9e93 slli t4,t4,0x10 + 8000011c: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80000120: 00200193 li gp,2 + 80000124: 1ddf1863 bne t5,t4,800002f4 + +0000000080000128 : + 80000128: 0ff010b7 lui ra,0xff01 + 8000012c: ff00809b addiw ra,ra,-16 + 80000130: 0f00ff13 andi t5,ra,240 + 80000134: 0f000e93 li t4,240 + 80000138: 00300193 li gp,3 + 8000013c: 1bdf1c63 bne t5,t4,800002f4 + +0000000080000140 : + 80000140: 00ff00b7 lui ra,0xff0 + 80000144: 0ff0809b addiw ra,ra,255 + 80000148: 70f0ff13 andi t5,ra,1807 + 8000014c: 00f00e93 li t4,15 + 80000150: 00400193 li gp,4 + 80000154: 1bdf1063 bne t5,t4,800002f4 + +0000000080000158 : + 80000158: 000f00b7 lui ra,0xf0 + 8000015c: 0ff0809b addiw ra,ra,255 + 80000160: 00c09093 slli ra,ra,0xc + 80000164: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 80000168: 0f00ff13 andi t5,ra,240 + 8000016c: 00000e93 li t4,0 + 80000170: 00500193 li gp,5 + 80000174: 19df1063 bne t5,t4,800002f4 + +0000000080000178 : + 80000178: 000100b7 lui ra,0x10 + 8000017c: f010809b addiw ra,ra,-255 + 80000180: 01009093 slli ra,ra,0x10 + 80000184: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000188: 0f00f093 andi ra,ra,240 + 8000018c: 00000e93 li t4,0 + 80000190: 00600193 li gp,6 + 80000194: 17d09063 bne ra,t4,800002f4 + +0000000080000198 : + 80000198: 00000213 li tp,0 + 8000019c: 0ff010b7 lui ra,0xff01 + 800001a0: ff00809b addiw ra,ra,-16 + 800001a4: 70f0ff13 andi t5,ra,1807 + 800001a8: 000f0313 mv t1,t5 + 800001ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800001b0: 00200293 li t0,2 + 800001b4: fe5214e3 bne tp,t0,8000019c + 800001b8: 70000e93 li t4,1792 + 800001bc: 00700193 li gp,7 + 800001c0: 13d31a63 bne t1,t4,800002f4 + +00000000800001c4 : + 800001c4: 00000213 li tp,0 + 800001c8: 00ff00b7 lui ra,0xff0 + 800001cc: 0ff0809b addiw ra,ra,255 + 800001d0: 0f00ff13 andi t5,ra,240 + 800001d4: 00000013 nop + 800001d8: 000f0313 mv t1,t5 + 800001dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800001e0: 00200293 li t0,2 + 800001e4: fe5212e3 bne tp,t0,800001c8 + 800001e8: 0f000e93 li t4,240 + 800001ec: 00800193 li gp,8 + 800001f0: 11d31263 bne t1,t4,800002f4 + +00000000800001f4 : + 800001f4: 00000213 li tp,0 + 800001f8: 000f00b7 lui ra,0xf0 + 800001fc: 0ff0809b addiw ra,ra,255 + 80000200: 00c09093 slli ra,ra,0xc + 80000204: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 80000208: f0f0ff13 andi t5,ra,-241 + 8000020c: 00000013 nop + 80000210: 00000013 nop + 80000214: 000f0313 mv t1,t5 + 80000218: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000021c: 00200293 li t0,2 + 80000220: fc521ce3 bne tp,t0,800001f8 + 80000224: 000f0eb7 lui t4,0xf0 + 80000228: 0ffe8e9b addiw t4,t4,255 + 8000022c: 00ce9e93 slli t4,t4,0xc + 80000230: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80000234: 00900193 li gp,9 + 80000238: 0bd31e63 bne t1,t4,800002f4 + +000000008000023c : + 8000023c: 00000213 li tp,0 + 80000240: 0ff010b7 lui ra,0xff01 + 80000244: ff00809b addiw ra,ra,-16 + 80000248: 70f0ff13 andi t5,ra,1807 + 8000024c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000250: 00200293 li t0,2 + 80000254: fe5216e3 bne tp,t0,80000240 + 80000258: 70000e93 li t4,1792 + 8000025c: 00a00193 li gp,10 + 80000260: 09df1a63 bne t5,t4,800002f4 + +0000000080000264 : + 80000264: 00000213 li tp,0 + 80000268: 00ff00b7 lui ra,0xff0 + 8000026c: 0ff0809b addiw ra,ra,255 + 80000270: 00000013 nop + 80000274: 0f00ff13 andi t5,ra,240 + 80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000027c: 00200293 li t0,2 + 80000280: fe5214e3 bne tp,t0,80000268 + 80000284: 0f000e93 li t4,240 + 80000288: 00b00193 li gp,11 + 8000028c: 07df1463 bne t5,t4,800002f4 + +0000000080000290 : + 80000290: 00000213 li tp,0 + 80000294: 000f00b7 lui ra,0xf0 + 80000298: 0ff0809b addiw ra,ra,255 + 8000029c: 00c09093 slli ra,ra,0xc + 800002a0: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 800002a4: 00000013 nop + 800002a8: 00000013 nop + 800002ac: 70f0ff13 andi t5,ra,1807 + 800002b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002b4: 00200293 li t0,2 + 800002b8: fc521ee3 bne tp,t0,80000294 + 800002bc: 00f00e93 li t4,15 + 800002c0: 00c00193 li gp,12 + 800002c4: 03df1863 bne t5,t4,800002f4 + +00000000800002c8 : + 800002c8: 0f007093 andi ra,zero,240 + 800002cc: 00000e93 li t4,0 + 800002d0: 00d00193 li gp,13 + 800002d4: 03d09063 bne ra,t4,800002f4 + +00000000800002d8 : + 800002d8: 00ff00b7 lui ra,0xff0 + 800002dc: 0ff0809b addiw ra,ra,255 + 800002e0: 70f0f013 andi zero,ra,1807 + 800002e4: 00000e93 li t4,0 + 800002e8: 00e00193 li gp,14 + 800002ec: 01d01463 bne zero,t4,800002f4 + 800002f0: 00301c63 bne zero,gp,80000308 + +00000000800002f4 : + 800002f4: 0ff0000f fence + 800002f8: 00018063 beqz gp,800002f8 + 800002fc: 00119193 slli gp,gp,0x1 + 80000300: 0011e193 ori gp,gp,1 + 80000304: 00000073 ecall + +0000000080000308 : + 80000308: 0ff0000f fence + 8000030c: 00100193 li gp,1 + 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/test/riscv/tests/rv64ui-p-andi.elf b/test/riscv/tests/rv64ui-p-andi.elf new file mode 100755 index 00000000..2886a877 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-andi.elf differ diff --git a/test/riscv/tests/rv64ui-p-auipc.dump b/test/riscv/tests/rv64ui-p-auipc.dump new file mode 100644 index 00000000..0302a06d --- /dev/null +++ b/test/riscv/tests/rv64ui-p-auipc.dump @@ -0,0 +1,125 @@ + +rv64ui-p-auipc: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000013 nop + 80000100: 00002517 auipc a0,0x2 + 80000104: 71c50513 addi a0,a0,1820 # 8000281c <_end+0x81c> + 80000108: 004005ef jal a1,8000010c + 8000010c: 40b50533 sub a0,a0,a1 + 80000110: 00002eb7 lui t4,0x2 + 80000114: 710e8e9b addiw t4,t4,1808 + 80000118: 00200193 li gp,2 + 8000011c: 03d51463 bne a0,t4,80000144 + +0000000080000120 : + 80000120: ffffe517 auipc a0,0xffffe + 80000124: 8fc50513 addi a0,a0,-1796 # 7fffda1c <_start-0x25e4> + 80000128: 004005ef jal a1,8000012c + 8000012c: 40b50533 sub a0,a0,a1 + 80000130: ffffeeb7 lui t4,0xffffe + 80000134: 8f0e8e9b addiw t4,t4,-1808 + 80000138: 00300193 li gp,3 + 8000013c: 01d51463 bne a0,t4,80000144 + 80000140: 00301c63 bne zero,gp,80000158 + +0000000080000144 : + 80000144: 0ff0000f fence + 80000148: 00018063 beqz gp,80000148 + 8000014c: 00119193 slli gp,gp,0x1 + 80000150: 0011e193 ori gp,gp,1 + 80000154: 00000073 ecall + +0000000080000158 : + 80000158: 0ff0000f fence + 8000015c: 00100193 li gp,1 + 80000160: 00000073 ecall + 80000164: c0001073 unimp + 80000168: 0000 unimp + 8000016a: 0000 unimp + 8000016c: 0000 unimp + 8000016e: 0000 unimp + 80000170: 0000 unimp + 80000172: 0000 unimp + 80000174: 0000 unimp + 80000176: 0000 unimp + 80000178: 0000 unimp + 8000017a: 0000 unimp + 8000017c: 0000 unimp + 8000017e: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-auipc.elf b/test/riscv/tests/rv64ui-p-auipc.elf new file mode 100755 index 00000000..4ef544d1 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-auipc.elf differ diff --git a/test/riscv/tests/rv64ui-p-beq.dump b/test/riscv/tests/rv64ui-p-beq.dump new file mode 100644 index 00000000..d09e1753 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-beq.dump @@ -0,0 +1,325 @@ + +rv64ui-p-beq: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00200193 li gp,2 + 80000100: 00000093 li ra,0 + 80000104: 00000113 li sp,0 + 80000108: 00208663 beq ra,sp,80000114 + 8000010c: 2a301863 bne zero,gp,800003bc + 80000110: 00301663 bne zero,gp,8000011c + 80000114: fe208ee3 beq ra,sp,80000110 + 80000118: 2a301263 bne zero,gp,800003bc + +000000008000011c : + 8000011c: 00300193 li gp,3 + 80000120: 00100093 li ra,1 + 80000124: 00100113 li sp,1 + 80000128: 00208663 beq ra,sp,80000134 + 8000012c: 28301863 bne zero,gp,800003bc + 80000130: 00301663 bne zero,gp,8000013c + 80000134: fe208ee3 beq ra,sp,80000130 + 80000138: 28301263 bne zero,gp,800003bc + +000000008000013c : + 8000013c: 00400193 li gp,4 + 80000140: fff00093 li ra,-1 + 80000144: fff00113 li sp,-1 + 80000148: 00208663 beq ra,sp,80000154 + 8000014c: 26301863 bne zero,gp,800003bc + 80000150: 00301663 bne zero,gp,8000015c + 80000154: fe208ee3 beq ra,sp,80000150 + 80000158: 26301263 bne zero,gp,800003bc + +000000008000015c : + 8000015c: 00500193 li gp,5 + 80000160: 00000093 li ra,0 + 80000164: 00100113 li sp,1 + 80000168: 00208463 beq ra,sp,80000170 + 8000016c: 00301463 bne zero,gp,80000174 + 80000170: 24301663 bne zero,gp,800003bc + 80000174: fe208ee3 beq ra,sp,80000170 + +0000000080000178 : + 80000178: 00600193 li gp,6 + 8000017c: 00100093 li ra,1 + 80000180: 00000113 li sp,0 + 80000184: 00208463 beq ra,sp,8000018c + 80000188: 00301463 bne zero,gp,80000190 + 8000018c: 22301863 bne zero,gp,800003bc + 80000190: fe208ee3 beq ra,sp,8000018c + +0000000080000194 : + 80000194: 00700193 li gp,7 + 80000198: fff00093 li ra,-1 + 8000019c: 00100113 li sp,1 + 800001a0: 00208463 beq ra,sp,800001a8 + 800001a4: 00301463 bne zero,gp,800001ac + 800001a8: 20301a63 bne zero,gp,800003bc + 800001ac: fe208ee3 beq ra,sp,800001a8 + +00000000800001b0 : + 800001b0: 00800193 li gp,8 + 800001b4: 00100093 li ra,1 + 800001b8: fff00113 li sp,-1 + 800001bc: 00208463 beq ra,sp,800001c4 + 800001c0: 00301463 bne zero,gp,800001c8 + 800001c4: 1e301c63 bne zero,gp,800003bc + 800001c8: fe208ee3 beq ra,sp,800001c4 + +00000000800001cc : + 800001cc: 00900193 li gp,9 + 800001d0: 00000213 li tp,0 + 800001d4: 00000093 li ra,0 + 800001d8: fff00113 li sp,-1 + 800001dc: 1e208063 beq ra,sp,800003bc + 800001e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800001e4: 00200293 li t0,2 + 800001e8: fe5216e3 bne tp,t0,800001d4 + +00000000800001ec : + 800001ec: 00a00193 li gp,10 + 800001f0: 00000213 li tp,0 + 800001f4: 00000093 li ra,0 + 800001f8: fff00113 li sp,-1 + 800001fc: 00000013 nop + 80000200: 1a208e63 beq ra,sp,800003bc + 80000204: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000208: 00200293 li t0,2 + 8000020c: fe5214e3 bne tp,t0,800001f4 + +0000000080000210 : + 80000210: 00b00193 li gp,11 + 80000214: 00000213 li tp,0 + 80000218: 00000093 li ra,0 + 8000021c: fff00113 li sp,-1 + 80000220: 00000013 nop + 80000224: 00000013 nop + 80000228: 18208a63 beq ra,sp,800003bc + 8000022c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000230: 00200293 li t0,2 + 80000234: fe5212e3 bne tp,t0,80000218 + +0000000080000238 : + 80000238: 00c00193 li gp,12 + 8000023c: 00000213 li tp,0 + 80000240: 00000093 li ra,0 + 80000244: 00000013 nop + 80000248: fff00113 li sp,-1 + 8000024c: 16208863 beq ra,sp,800003bc + 80000250: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000254: 00200293 li t0,2 + 80000258: fe5214e3 bne tp,t0,80000240 + +000000008000025c : + 8000025c: 00d00193 li gp,13 + 80000260: 00000213 li tp,0 + 80000264: 00000093 li ra,0 + 80000268: 00000013 nop + 8000026c: fff00113 li sp,-1 + 80000270: 00000013 nop + 80000274: 14208463 beq ra,sp,800003bc + 80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000027c: 00200293 li t0,2 + 80000280: fe5212e3 bne tp,t0,80000264 + +0000000080000284 : + 80000284: 00e00193 li gp,14 + 80000288: 00000213 li tp,0 + 8000028c: 00000093 li ra,0 + 80000290: 00000013 nop + 80000294: 00000013 nop + 80000298: fff00113 li sp,-1 + 8000029c: 12208063 beq ra,sp,800003bc + 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a4: 00200293 li t0,2 + 800002a8: fe5212e3 bne tp,t0,8000028c + +00000000800002ac : + 800002ac: 00f00193 li gp,15 + 800002b0: 00000213 li tp,0 + 800002b4: 00000093 li ra,0 + 800002b8: fff00113 li sp,-1 + 800002bc: 10208063 beq ra,sp,800003bc + 800002c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002c4: 00200293 li t0,2 + 800002c8: fe5216e3 bne tp,t0,800002b4 + +00000000800002cc : + 800002cc: 01000193 li gp,16 + 800002d0: 00000213 li tp,0 + 800002d4: 00000093 li ra,0 + 800002d8: fff00113 li sp,-1 + 800002dc: 00000013 nop + 800002e0: 0c208e63 beq ra,sp,800003bc + 800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002e8: 00200293 li t0,2 + 800002ec: fe5214e3 bne tp,t0,800002d4 + +00000000800002f0 : + 800002f0: 01100193 li gp,17 + 800002f4: 00000213 li tp,0 + 800002f8: 00000093 li ra,0 + 800002fc: fff00113 li sp,-1 + 80000300: 00000013 nop + 80000304: 00000013 nop + 80000308: 0a208a63 beq ra,sp,800003bc + 8000030c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000310: 00200293 li t0,2 + 80000314: fe5212e3 bne tp,t0,800002f8 + +0000000080000318 : + 80000318: 01200193 li gp,18 + 8000031c: 00000213 li tp,0 + 80000320: 00000093 li ra,0 + 80000324: 00000013 nop + 80000328: fff00113 li sp,-1 + 8000032c: 08208863 beq ra,sp,800003bc + 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000334: 00200293 li t0,2 + 80000338: fe5214e3 bne tp,t0,80000320 + +000000008000033c : + 8000033c: 01300193 li gp,19 + 80000340: 00000213 li tp,0 + 80000344: 00000093 li ra,0 + 80000348: 00000013 nop + 8000034c: fff00113 li sp,-1 + 80000350: 00000013 nop + 80000354: 06208463 beq ra,sp,800003bc + 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000035c: 00200293 li t0,2 + 80000360: fe5212e3 bne tp,t0,80000344 + +0000000080000364 : + 80000364: 01400193 li gp,20 + 80000368: 00000213 li tp,0 + 8000036c: 00000093 li ra,0 + 80000370: 00000013 nop + 80000374: 00000013 nop + 80000378: fff00113 li sp,-1 + 8000037c: 04208063 beq ra,sp,800003bc + 80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000384: 00200293 li t0,2 + 80000388: fe5212e3 bne tp,t0,8000036c + +000000008000038c : + 8000038c: 00100093 li ra,1 + 80000390: 00000a63 beqz zero,800003a4 + 80000394: 00108093 addi ra,ra,1 + 80000398: 00108093 addi ra,ra,1 + 8000039c: 00108093 addi ra,ra,1 + 800003a0: 00108093 addi ra,ra,1 + 800003a4: 00108093 addi ra,ra,1 + 800003a8: 00108093 addi ra,ra,1 + 800003ac: 00300e93 li t4,3 + 800003b0: 01500193 li gp,21 + 800003b4: 01d09463 bne ra,t4,800003bc + 800003b8: 00301c63 bne zero,gp,800003d0 + +00000000800003bc : + 800003bc: 0ff0000f fence + 800003c0: 00018063 beqz gp,800003c0 + 800003c4: 00119193 slli gp,gp,0x1 + 800003c8: 0011e193 ori gp,gp,1 + 800003cc: 00000073 ecall + +00000000800003d0 : + 800003d0: 0ff0000f fence + 800003d4: 00100193 li gp,1 + 800003d8: 00000073 ecall + 800003dc: c0001073 unimp + 800003e0: 0000 unimp + 800003e2: 0000 unimp + 800003e4: 0000 unimp + 800003e6: 0000 unimp + 800003e8: 0000 unimp + 800003ea: 0000 unimp + 800003ec: 0000 unimp + 800003ee: 0000 unimp + 800003f0: 0000 unimp + 800003f2: 0000 unimp + 800003f4: 0000 unimp + 800003f6: 0000 unimp + 800003f8: 0000 unimp + 800003fa: 0000 unimp + 800003fc: 0000 unimp + 800003fe: 0000 unimp + 80000400: 0000 unimp + 80000402: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-beq.elf b/test/riscv/tests/rv64ui-p-beq.elf new file mode 100755 index 00000000..38481b96 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-beq.elf differ diff --git a/test/riscv/tests/rv64ui-p-bge.dump b/test/riscv/tests/rv64ui-p-bge.dump new file mode 100644 index 00000000..bd863ee8 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-bge.dump @@ -0,0 +1,339 @@ + +rv64ui-p-bge: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00200193 li gp,2 + 80000100: 00000093 li ra,0 + 80000104: 00000113 li sp,0 + 80000108: 0020d663 ble sp,ra,80000114 + 8000010c: 30301863 bne zero,gp,8000041c + 80000110: 00301663 bne zero,gp,8000011c + 80000114: fe20dee3 ble sp,ra,80000110 + 80000118: 30301263 bne zero,gp,8000041c + +000000008000011c : + 8000011c: 00300193 li gp,3 + 80000120: 00100093 li ra,1 + 80000124: 00100113 li sp,1 + 80000128: 0020d663 ble sp,ra,80000134 + 8000012c: 2e301863 bne zero,gp,8000041c + 80000130: 00301663 bne zero,gp,8000013c + 80000134: fe20dee3 ble sp,ra,80000130 + 80000138: 2e301263 bne zero,gp,8000041c + +000000008000013c : + 8000013c: 00400193 li gp,4 + 80000140: fff00093 li ra,-1 + 80000144: fff00113 li sp,-1 + 80000148: 0020d663 ble sp,ra,80000154 + 8000014c: 2c301863 bne zero,gp,8000041c + 80000150: 00301663 bne zero,gp,8000015c + 80000154: fe20dee3 ble sp,ra,80000150 + 80000158: 2c301263 bne zero,gp,8000041c + +000000008000015c : + 8000015c: 00500193 li gp,5 + 80000160: 00100093 li ra,1 + 80000164: 00000113 li sp,0 + 80000168: 0020d663 ble sp,ra,80000174 + 8000016c: 2a301863 bne zero,gp,8000041c + 80000170: 00301663 bne zero,gp,8000017c + 80000174: fe20dee3 ble sp,ra,80000170 + 80000178: 2a301263 bne zero,gp,8000041c + +000000008000017c : + 8000017c: 00600193 li gp,6 + 80000180: 00100093 li ra,1 + 80000184: fff00113 li sp,-1 + 80000188: 0020d663 ble sp,ra,80000194 + 8000018c: 28301863 bne zero,gp,8000041c + 80000190: 00301663 bne zero,gp,8000019c + 80000194: fe20dee3 ble sp,ra,80000190 + 80000198: 28301263 bne zero,gp,8000041c + +000000008000019c : + 8000019c: 00700193 li gp,7 + 800001a0: fff00093 li ra,-1 + 800001a4: ffe00113 li sp,-2 + 800001a8: 0020d663 ble sp,ra,800001b4 + 800001ac: 26301863 bne zero,gp,8000041c + 800001b0: 00301663 bne zero,gp,800001bc + 800001b4: fe20dee3 ble sp,ra,800001b0 + 800001b8: 26301263 bne zero,gp,8000041c + +00000000800001bc : + 800001bc: 00800193 li gp,8 + 800001c0: 00000093 li ra,0 + 800001c4: 00100113 li sp,1 + 800001c8: 0020d463 ble sp,ra,800001d0 + 800001cc: 00301463 bne zero,gp,800001d4 + 800001d0: 24301663 bne zero,gp,8000041c + 800001d4: fe20dee3 ble sp,ra,800001d0 + +00000000800001d8 : + 800001d8: 00900193 li gp,9 + 800001dc: fff00093 li ra,-1 + 800001e0: 00100113 li sp,1 + 800001e4: 0020d463 ble sp,ra,800001ec + 800001e8: 00301463 bne zero,gp,800001f0 + 800001ec: 22301863 bne zero,gp,8000041c + 800001f0: fe20dee3 ble sp,ra,800001ec + +00000000800001f4 : + 800001f4: 00a00193 li gp,10 + 800001f8: ffe00093 li ra,-2 + 800001fc: fff00113 li sp,-1 + 80000200: 0020d463 ble sp,ra,80000208 + 80000204: 00301463 bne zero,gp,8000020c + 80000208: 20301a63 bne zero,gp,8000041c + 8000020c: fe20dee3 ble sp,ra,80000208 + +0000000080000210 : + 80000210: 00b00193 li gp,11 + 80000214: ffe00093 li ra,-2 + 80000218: 00100113 li sp,1 + 8000021c: 0020d463 ble sp,ra,80000224 + 80000220: 00301463 bne zero,gp,80000228 + 80000224: 1e301c63 bne zero,gp,8000041c + 80000228: fe20dee3 ble sp,ra,80000224 + +000000008000022c : + 8000022c: 00c00193 li gp,12 + 80000230: 00000213 li tp,0 + 80000234: fff00093 li ra,-1 + 80000238: 00000113 li sp,0 + 8000023c: 1e20d063 ble sp,ra,8000041c + 80000240: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000244: 00200293 li t0,2 + 80000248: fe5216e3 bne tp,t0,80000234 + +000000008000024c : + 8000024c: 00d00193 li gp,13 + 80000250: 00000213 li tp,0 + 80000254: fff00093 li ra,-1 + 80000258: 00000113 li sp,0 + 8000025c: 00000013 nop + 80000260: 1a20de63 ble sp,ra,8000041c + 80000264: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000268: 00200293 li t0,2 + 8000026c: fe5214e3 bne tp,t0,80000254 + +0000000080000270 : + 80000270: 00e00193 li gp,14 + 80000274: 00000213 li tp,0 + 80000278: fff00093 li ra,-1 + 8000027c: 00000113 li sp,0 + 80000280: 00000013 nop + 80000284: 00000013 nop + 80000288: 1820da63 ble sp,ra,8000041c + 8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000290: 00200293 li t0,2 + 80000294: fe5212e3 bne tp,t0,80000278 + +0000000080000298 : + 80000298: 00f00193 li gp,15 + 8000029c: 00000213 li tp,0 + 800002a0: fff00093 li ra,-1 + 800002a4: 00000013 nop + 800002a8: 00000113 li sp,0 + 800002ac: 1620d863 ble sp,ra,8000041c + 800002b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002b4: 00200293 li t0,2 + 800002b8: fe5214e3 bne tp,t0,800002a0 + +00000000800002bc : + 800002bc: 01000193 li gp,16 + 800002c0: 00000213 li tp,0 + 800002c4: fff00093 li ra,-1 + 800002c8: 00000013 nop + 800002cc: 00000113 li sp,0 + 800002d0: 00000013 nop + 800002d4: 1420d463 ble sp,ra,8000041c + 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002dc: 00200293 li t0,2 + 800002e0: fe5212e3 bne tp,t0,800002c4 + +00000000800002e4 : + 800002e4: 01100193 li gp,17 + 800002e8: 00000213 li tp,0 + 800002ec: fff00093 li ra,-1 + 800002f0: 00000013 nop + 800002f4: 00000013 nop + 800002f8: 00000113 li sp,0 + 800002fc: 1220d063 ble sp,ra,8000041c + 80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000304: 00200293 li t0,2 + 80000308: fe5212e3 bne tp,t0,800002ec + +000000008000030c : + 8000030c: 01200193 li gp,18 + 80000310: 00000213 li tp,0 + 80000314: fff00093 li ra,-1 + 80000318: 00000113 li sp,0 + 8000031c: 1020d063 ble sp,ra,8000041c + 80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000324: 00200293 li t0,2 + 80000328: fe5216e3 bne tp,t0,80000314 + +000000008000032c : + 8000032c: 01300193 li gp,19 + 80000330: 00000213 li tp,0 + 80000334: fff00093 li ra,-1 + 80000338: 00000113 li sp,0 + 8000033c: 00000013 nop + 80000340: 0c20de63 ble sp,ra,8000041c + 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000348: 00200293 li t0,2 + 8000034c: fe5214e3 bne tp,t0,80000334 + +0000000080000350 : + 80000350: 01400193 li gp,20 + 80000354: 00000213 li tp,0 + 80000358: fff00093 li ra,-1 + 8000035c: 00000113 li sp,0 + 80000360: 00000013 nop + 80000364: 00000013 nop + 80000368: 0a20da63 ble sp,ra,8000041c + 8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000370: 00200293 li t0,2 + 80000374: fe5212e3 bne tp,t0,80000358 + +0000000080000378 : + 80000378: 01500193 li gp,21 + 8000037c: 00000213 li tp,0 + 80000380: fff00093 li ra,-1 + 80000384: 00000013 nop + 80000388: 00000113 li sp,0 + 8000038c: 0820d863 ble sp,ra,8000041c + 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000394: 00200293 li t0,2 + 80000398: fe5214e3 bne tp,t0,80000380 + +000000008000039c : + 8000039c: 01600193 li gp,22 + 800003a0: 00000213 li tp,0 + 800003a4: fff00093 li ra,-1 + 800003a8: 00000013 nop + 800003ac: 00000113 li sp,0 + 800003b0: 00000013 nop + 800003b4: 0620d463 ble sp,ra,8000041c + 800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003bc: 00200293 li t0,2 + 800003c0: fe5212e3 bne tp,t0,800003a4 + +00000000800003c4 : + 800003c4: 01700193 li gp,23 + 800003c8: 00000213 li tp,0 + 800003cc: fff00093 li ra,-1 + 800003d0: 00000013 nop + 800003d4: 00000013 nop + 800003d8: 00000113 li sp,0 + 800003dc: 0420d063 ble sp,ra,8000041c + 800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003e4: 00200293 li t0,2 + 800003e8: fe5212e3 bne tp,t0,800003cc + +00000000800003ec : + 800003ec: 00100093 li ra,1 + 800003f0: 0000da63 bgez ra,80000404 + 800003f4: 00108093 addi ra,ra,1 + 800003f8: 00108093 addi ra,ra,1 + 800003fc: 00108093 addi ra,ra,1 + 80000400: 00108093 addi ra,ra,1 + 80000404: 00108093 addi ra,ra,1 + 80000408: 00108093 addi ra,ra,1 + 8000040c: 00300e93 li t4,3 + 80000410: 01800193 li gp,24 + 80000414: 01d09463 bne ra,t4,8000041c + 80000418: 00301c63 bne zero,gp,80000430 + +000000008000041c : + 8000041c: 0ff0000f fence + 80000420: 00018063 beqz gp,80000420 + 80000424: 00119193 slli gp,gp,0x1 + 80000428: 0011e193 ori gp,gp,1 + 8000042c: 00000073 ecall + +0000000080000430 : + 80000430: 0ff0000f fence + 80000434: 00100193 li gp,1 + 80000438: 00000073 ecall + 8000043c: c0001073 unimp + 80000440: 0000 unimp + 80000442: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-bge.elf b/test/riscv/tests/rv64ui-p-bge.elf new file mode 100755 index 00000000..31d9ecd4 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-bge.elf differ diff --git a/test/riscv/tests/rv64ui-p-bgeu.dump b/test/riscv/tests/rv64ui-p-bgeu.dump new file mode 100644 index 00000000..c773c7de --- /dev/null +++ b/test/riscv/tests/rv64ui-p-bgeu.dump @@ -0,0 +1,413 @@ + +rv64ui-p-bgeu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00200193 li gp,2 + 80000100: 00000093 li ra,0 + 80000104: 00000113 li sp,0 + 80000108: 0020f663 bleu sp,ra,80000114 + 8000010c: 3e301463 bne zero,gp,800004f4 + 80000110: 00301663 bne zero,gp,8000011c + 80000114: fe20fee3 bleu sp,ra,80000110 + 80000118: 3c301e63 bne zero,gp,800004f4 + +000000008000011c : + 8000011c: 00300193 li gp,3 + 80000120: 00100093 li ra,1 + 80000124: 00100113 li sp,1 + 80000128: 0020f663 bleu sp,ra,80000134 + 8000012c: 3c301463 bne zero,gp,800004f4 + 80000130: 00301663 bne zero,gp,8000013c + 80000134: fe20fee3 bleu sp,ra,80000130 + 80000138: 3a301e63 bne zero,gp,800004f4 + +000000008000013c : + 8000013c: 00400193 li gp,4 + 80000140: 0010009b addiw ra,zero,1 + 80000144: 02009093 slli ra,ra,0x20 + 80000148: fff08093 addi ra,ra,-1 + 8000014c: 0010011b addiw sp,zero,1 + 80000150: 02011113 slli sp,sp,0x20 + 80000154: fff10113 addi sp,sp,-1 + 80000158: 0020f663 bleu sp,ra,80000164 + 8000015c: 38301c63 bne zero,gp,800004f4 + 80000160: 00301663 bne zero,gp,8000016c + 80000164: fe20fee3 bleu sp,ra,80000160 + 80000168: 38301663 bne zero,gp,800004f4 + +000000008000016c : + 8000016c: 00500193 li gp,5 + 80000170: 00100093 li ra,1 + 80000174: 00000113 li sp,0 + 80000178: 0020f663 bleu sp,ra,80000184 + 8000017c: 36301c63 bne zero,gp,800004f4 + 80000180: 00301663 bne zero,gp,8000018c + 80000184: fe20fee3 bleu sp,ra,80000180 + 80000188: 36301663 bne zero,gp,800004f4 + +000000008000018c : + 8000018c: 00600193 li gp,6 + 80000190: 0010009b addiw ra,zero,1 + 80000194: 02009093 slli ra,ra,0x20 + 80000198: fff08093 addi ra,ra,-1 + 8000019c: 0010011b addiw sp,zero,1 + 800001a0: 02011113 slli sp,sp,0x20 + 800001a4: ffe10113 addi sp,sp,-2 + 800001a8: 0020f663 bleu sp,ra,800001b4 + 800001ac: 34301463 bne zero,gp,800004f4 + 800001b0: 00301663 bne zero,gp,800001bc + 800001b4: fe20fee3 bleu sp,ra,800001b0 + 800001b8: 32301e63 bne zero,gp,800004f4 + +00000000800001bc : + 800001bc: 00700193 li gp,7 + 800001c0: 0010009b addiw ra,zero,1 + 800001c4: 02009093 slli ra,ra,0x20 + 800001c8: fff08093 addi ra,ra,-1 + 800001cc: 00000113 li sp,0 + 800001d0: 0020f663 bleu sp,ra,800001dc + 800001d4: 32301063 bne zero,gp,800004f4 + 800001d8: 00301663 bne zero,gp,800001e4 + 800001dc: fe20fee3 bleu sp,ra,800001d8 + 800001e0: 30301a63 bne zero,gp,800004f4 + +00000000800001e4 : + 800001e4: 00800193 li gp,8 + 800001e8: 00000093 li ra,0 + 800001ec: 00100113 li sp,1 + 800001f0: 0020f463 bleu sp,ra,800001f8 + 800001f4: 00301463 bne zero,gp,800001fc + 800001f8: 2e301e63 bne zero,gp,800004f4 + 800001fc: fe20fee3 bleu sp,ra,800001f8 + +0000000080000200 : + 80000200: 00900193 li gp,9 + 80000204: 0010009b addiw ra,zero,1 + 80000208: 02009093 slli ra,ra,0x20 + 8000020c: ffe08093 addi ra,ra,-2 + 80000210: 0010011b addiw sp,zero,1 + 80000214: 02011113 slli sp,sp,0x20 + 80000218: fff10113 addi sp,sp,-1 + 8000021c: 0020f463 bleu sp,ra,80000224 + 80000220: 00301463 bne zero,gp,80000228 + 80000224: 2c301863 bne zero,gp,800004f4 + 80000228: fe20fee3 bleu sp,ra,80000224 + +000000008000022c : + 8000022c: 00a00193 li gp,10 + 80000230: 00000093 li ra,0 + 80000234: 0010011b addiw sp,zero,1 + 80000238: 02011113 slli sp,sp,0x20 + 8000023c: fff10113 addi sp,sp,-1 + 80000240: 0020f463 bleu sp,ra,80000248 + 80000244: 00301463 bne zero,gp,8000024c + 80000248: 2a301663 bne zero,gp,800004f4 + 8000024c: fe20fee3 bleu sp,ra,80000248 + +0000000080000250 : + 80000250: 00b00193 li gp,11 + 80000254: 800000b7 lui ra,0x80000 + 80000258: fff0809b addiw ra,ra,-1 + 8000025c: 0010011b addiw sp,zero,1 + 80000260: 01f11113 slli sp,sp,0x1f + 80000264: 0020f463 bleu sp,ra,8000026c + 80000268: 00301463 bne zero,gp,80000270 + 8000026c: 28301463 bne zero,gp,800004f4 + 80000270: fe20fee3 bleu sp,ra,8000026c + +0000000080000274 : + 80000274: 00c00193 li gp,12 + 80000278: 00000213 li tp,0 + 8000027c: 00f0009b addiw ra,zero,15 + 80000280: 01c09093 slli ra,ra,0x1c + 80000284: fff08093 addi ra,ra,-1 # ffffffff7fffffff <_end+0xfffffffeffffdfff> + 80000288: 00f0011b addiw sp,zero,15 + 8000028c: 01c11113 slli sp,sp,0x1c + 80000290: 2620f263 bleu sp,ra,800004f4 + 80000294: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000298: 00200293 li t0,2 + 8000029c: fe5210e3 bne tp,t0,8000027c + +00000000800002a0 : + 800002a0: 00d00193 li gp,13 + 800002a4: 00000213 li tp,0 + 800002a8: 00f0009b addiw ra,zero,15 + 800002ac: 01c09093 slli ra,ra,0x1c + 800002b0: fff08093 addi ra,ra,-1 + 800002b4: 00f0011b addiw sp,zero,15 + 800002b8: 01c11113 slli sp,sp,0x1c + 800002bc: 00000013 nop + 800002c0: 2220fa63 bleu sp,ra,800004f4 + 800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002c8: 00200293 li t0,2 + 800002cc: fc521ee3 bne tp,t0,800002a8 + +00000000800002d0 : + 800002d0: 00e00193 li gp,14 + 800002d4: 00000213 li tp,0 + 800002d8: 00f0009b addiw ra,zero,15 + 800002dc: 01c09093 slli ra,ra,0x1c + 800002e0: fff08093 addi ra,ra,-1 + 800002e4: 00f0011b addiw sp,zero,15 + 800002e8: 01c11113 slli sp,sp,0x1c + 800002ec: 00000013 nop + 800002f0: 00000013 nop + 800002f4: 2020f063 bleu sp,ra,800004f4 + 800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002fc: 00200293 li t0,2 + 80000300: fc521ce3 bne tp,t0,800002d8 + +0000000080000304 : + 80000304: 00f00193 li gp,15 + 80000308: 00000213 li tp,0 + 8000030c: 00f0009b addiw ra,zero,15 + 80000310: 01c09093 slli ra,ra,0x1c + 80000314: fff08093 addi ra,ra,-1 + 80000318: 00000013 nop + 8000031c: 00f0011b addiw sp,zero,15 + 80000320: 01c11113 slli sp,sp,0x1c + 80000324: 1c20f863 bleu sp,ra,800004f4 + 80000328: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000032c: 00200293 li t0,2 + 80000330: fc521ee3 bne tp,t0,8000030c + +0000000080000334 : + 80000334: 01000193 li gp,16 + 80000338: 00000213 li tp,0 + 8000033c: 00f0009b addiw ra,zero,15 + 80000340: 01c09093 slli ra,ra,0x1c + 80000344: fff08093 addi ra,ra,-1 + 80000348: 00000013 nop + 8000034c: 00f0011b addiw sp,zero,15 + 80000350: 01c11113 slli sp,sp,0x1c + 80000354: 00000013 nop + 80000358: 1820fe63 bleu sp,ra,800004f4 + 8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000360: 00200293 li t0,2 + 80000364: fc521ce3 bne tp,t0,8000033c + +0000000080000368 : + 80000368: 01100193 li gp,17 + 8000036c: 00000213 li tp,0 + 80000370: 00f0009b addiw ra,zero,15 + 80000374: 01c09093 slli ra,ra,0x1c + 80000378: fff08093 addi ra,ra,-1 + 8000037c: 00000013 nop + 80000380: 00000013 nop + 80000384: 00f0011b addiw sp,zero,15 + 80000388: 01c11113 slli sp,sp,0x1c + 8000038c: 1620f463 bleu sp,ra,800004f4 + 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000394: 00200293 li t0,2 + 80000398: fc521ce3 bne tp,t0,80000370 + +000000008000039c : + 8000039c: 01200193 li gp,18 + 800003a0: 00000213 li tp,0 + 800003a4: 00f0009b addiw ra,zero,15 + 800003a8: 01c09093 slli ra,ra,0x1c + 800003ac: fff08093 addi ra,ra,-1 + 800003b0: 00f0011b addiw sp,zero,15 + 800003b4: 01c11113 slli sp,sp,0x1c + 800003b8: 1220fe63 bleu sp,ra,800004f4 + 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c0: 00200293 li t0,2 + 800003c4: fe5210e3 bne tp,t0,800003a4 + +00000000800003c8 : + 800003c8: 01300193 li gp,19 + 800003cc: 00000213 li tp,0 + 800003d0: 00f0009b addiw ra,zero,15 + 800003d4: 01c09093 slli ra,ra,0x1c + 800003d8: fff08093 addi ra,ra,-1 + 800003dc: 00f0011b addiw sp,zero,15 + 800003e0: 01c11113 slli sp,sp,0x1c + 800003e4: 00000013 nop + 800003e8: 1020f663 bleu sp,ra,800004f4 + 800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f0: 00200293 li t0,2 + 800003f4: fc521ee3 bne tp,t0,800003d0 + +00000000800003f8 : + 800003f8: 01400193 li gp,20 + 800003fc: 00000213 li tp,0 + 80000400: 00f0009b addiw ra,zero,15 + 80000404: 01c09093 slli ra,ra,0x1c + 80000408: fff08093 addi ra,ra,-1 + 8000040c: 00f0011b addiw sp,zero,15 + 80000410: 01c11113 slli sp,sp,0x1c + 80000414: 00000013 nop + 80000418: 00000013 nop + 8000041c: 0c20fc63 bleu sp,ra,800004f4 + 80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000424: 00200293 li t0,2 + 80000428: fc521ce3 bne tp,t0,80000400 + +000000008000042c : + 8000042c: 01500193 li gp,21 + 80000430: 00000213 li tp,0 + 80000434: 00f0009b addiw ra,zero,15 + 80000438: 01c09093 slli ra,ra,0x1c + 8000043c: fff08093 addi ra,ra,-1 + 80000440: 00000013 nop + 80000444: 00f0011b addiw sp,zero,15 + 80000448: 01c11113 slli sp,sp,0x1c + 8000044c: 0a20f463 bleu sp,ra,800004f4 + 80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000454: 00200293 li t0,2 + 80000458: fc521ee3 bne tp,t0,80000434 + +000000008000045c : + 8000045c: 01600193 li gp,22 + 80000460: 00000213 li tp,0 + 80000464: 00f0009b addiw ra,zero,15 + 80000468: 01c09093 slli ra,ra,0x1c + 8000046c: fff08093 addi ra,ra,-1 + 80000470: 00000013 nop + 80000474: 00f0011b addiw sp,zero,15 + 80000478: 01c11113 slli sp,sp,0x1c + 8000047c: 00000013 nop + 80000480: 0620fa63 bleu sp,ra,800004f4 + 80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000488: 00200293 li t0,2 + 8000048c: fc521ce3 bne tp,t0,80000464 + +0000000080000490 : + 80000490: 01700193 li gp,23 + 80000494: 00000213 li tp,0 + 80000498: 00f0009b addiw ra,zero,15 + 8000049c: 01c09093 slli ra,ra,0x1c + 800004a0: fff08093 addi ra,ra,-1 + 800004a4: 00000013 nop + 800004a8: 00000013 nop + 800004ac: 00f0011b addiw sp,zero,15 + 800004b0: 01c11113 slli sp,sp,0x1c + 800004b4: 0420f063 bleu sp,ra,800004f4 + 800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004bc: 00200293 li t0,2 + 800004c0: fc521ce3 bne tp,t0,80000498 + +00000000800004c4 : + 800004c4: 00100093 li ra,1 + 800004c8: 0000fa63 bleu zero,ra,800004dc + 800004cc: 00108093 addi ra,ra,1 + 800004d0: 00108093 addi ra,ra,1 + 800004d4: 00108093 addi ra,ra,1 + 800004d8: 00108093 addi ra,ra,1 + 800004dc: 00108093 addi ra,ra,1 + 800004e0: 00108093 addi ra,ra,1 + 800004e4: 00300e93 li t4,3 + 800004e8: 01800193 li gp,24 + 800004ec: 01d09463 bne ra,t4,800004f4 + 800004f0: 00301c63 bne zero,gp,80000508 + +00000000800004f4 : + 800004f4: 0ff0000f fence + 800004f8: 00018063 beqz gp,800004f8 + 800004fc: 00119193 slli gp,gp,0x1 + 80000500: 0011e193 ori gp,gp,1 + 80000504: 00000073 ecall + +0000000080000508 : + 80000508: 0ff0000f fence + 8000050c: 00100193 li gp,1 + 80000510: 00000073 ecall + 80000514: c0001073 unimp + 80000518: 0000 unimp + 8000051a: 0000 unimp + 8000051c: 0000 unimp + 8000051e: 0000 unimp + 80000520: 0000 unimp + 80000522: 0000 unimp + 80000524: 0000 unimp + 80000526: 0000 unimp + 80000528: 0000 unimp + 8000052a: 0000 unimp + 8000052c: 0000 unimp + 8000052e: 0000 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 diff --git a/test/riscv/tests/rv64ui-p-bgeu.elf b/test/riscv/tests/rv64ui-p-bgeu.elf new file mode 100755 index 00000000..a7e14bac Binary files /dev/null and b/test/riscv/tests/rv64ui-p-bgeu.elf differ diff --git a/test/riscv/tests/rv64ui-p-blt.dump b/test/riscv/tests/rv64ui-p-blt.dump new file mode 100644 index 00000000..3e6b518b --- /dev/null +++ b/test/riscv/tests/rv64ui-p-blt.dump @@ -0,0 +1,325 @@ + +rv64ui-p-blt: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00200193 li gp,2 + 80000100: 00000093 li ra,0 + 80000104: 00100113 li sp,1 + 80000108: 0020c663 blt ra,sp,80000114 + 8000010c: 2a301863 bne zero,gp,800003bc + 80000110: 00301663 bne zero,gp,8000011c + 80000114: fe20cee3 blt ra,sp,80000110 + 80000118: 2a301263 bne zero,gp,800003bc + +000000008000011c : + 8000011c: 00300193 li gp,3 + 80000120: fff00093 li ra,-1 + 80000124: 00100113 li sp,1 + 80000128: 0020c663 blt ra,sp,80000134 + 8000012c: 28301863 bne zero,gp,800003bc + 80000130: 00301663 bne zero,gp,8000013c + 80000134: fe20cee3 blt ra,sp,80000130 + 80000138: 28301263 bne zero,gp,800003bc + +000000008000013c : + 8000013c: 00400193 li gp,4 + 80000140: ffe00093 li ra,-2 + 80000144: fff00113 li sp,-1 + 80000148: 0020c663 blt ra,sp,80000154 + 8000014c: 26301863 bne zero,gp,800003bc + 80000150: 00301663 bne zero,gp,8000015c + 80000154: fe20cee3 blt ra,sp,80000150 + 80000158: 26301263 bne zero,gp,800003bc + +000000008000015c : + 8000015c: 00500193 li gp,5 + 80000160: 00100093 li ra,1 + 80000164: 00000113 li sp,0 + 80000168: 0020c463 blt ra,sp,80000170 + 8000016c: 00301463 bne zero,gp,80000174 + 80000170: 24301663 bne zero,gp,800003bc + 80000174: fe20cee3 blt ra,sp,80000170 + +0000000080000178 : + 80000178: 00600193 li gp,6 + 8000017c: 00100093 li ra,1 + 80000180: fff00113 li sp,-1 + 80000184: 0020c463 blt ra,sp,8000018c + 80000188: 00301463 bne zero,gp,80000190 + 8000018c: 22301863 bne zero,gp,800003bc + 80000190: fe20cee3 blt ra,sp,8000018c + +0000000080000194 : + 80000194: 00700193 li gp,7 + 80000198: fff00093 li ra,-1 + 8000019c: ffe00113 li sp,-2 + 800001a0: 0020c463 blt ra,sp,800001a8 + 800001a4: 00301463 bne zero,gp,800001ac + 800001a8: 20301a63 bne zero,gp,800003bc + 800001ac: fe20cee3 blt ra,sp,800001a8 + +00000000800001b0 : + 800001b0: 00800193 li gp,8 + 800001b4: 00100093 li ra,1 + 800001b8: ffe00113 li sp,-2 + 800001bc: 0020c463 blt ra,sp,800001c4 + 800001c0: 00301463 bne zero,gp,800001c8 + 800001c4: 1e301c63 bne zero,gp,800003bc + 800001c8: fe20cee3 blt ra,sp,800001c4 + +00000000800001cc : + 800001cc: 00900193 li gp,9 + 800001d0: 00000213 li tp,0 + 800001d4: 00000093 li ra,0 + 800001d8: fff00113 li sp,-1 + 800001dc: 1e20c063 blt ra,sp,800003bc + 800001e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800001e4: 00200293 li t0,2 + 800001e8: fe5216e3 bne tp,t0,800001d4 + +00000000800001ec : + 800001ec: 00a00193 li gp,10 + 800001f0: 00000213 li tp,0 + 800001f4: 00000093 li ra,0 + 800001f8: fff00113 li sp,-1 + 800001fc: 00000013 nop + 80000200: 1a20ce63 blt ra,sp,800003bc + 80000204: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000208: 00200293 li t0,2 + 8000020c: fe5214e3 bne tp,t0,800001f4 + +0000000080000210 : + 80000210: 00b00193 li gp,11 + 80000214: 00000213 li tp,0 + 80000218: 00000093 li ra,0 + 8000021c: fff00113 li sp,-1 + 80000220: 00000013 nop + 80000224: 00000013 nop + 80000228: 1820ca63 blt ra,sp,800003bc + 8000022c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000230: 00200293 li t0,2 + 80000234: fe5212e3 bne tp,t0,80000218 + +0000000080000238 : + 80000238: 00c00193 li gp,12 + 8000023c: 00000213 li tp,0 + 80000240: 00000093 li ra,0 + 80000244: 00000013 nop + 80000248: fff00113 li sp,-1 + 8000024c: 1620c863 blt ra,sp,800003bc + 80000250: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000254: 00200293 li t0,2 + 80000258: fe5214e3 bne tp,t0,80000240 + +000000008000025c : + 8000025c: 00d00193 li gp,13 + 80000260: 00000213 li tp,0 + 80000264: 00000093 li ra,0 + 80000268: 00000013 nop + 8000026c: fff00113 li sp,-1 + 80000270: 00000013 nop + 80000274: 1420c463 blt ra,sp,800003bc + 80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000027c: 00200293 li t0,2 + 80000280: fe5212e3 bne tp,t0,80000264 + +0000000080000284 : + 80000284: 00e00193 li gp,14 + 80000288: 00000213 li tp,0 + 8000028c: 00000093 li ra,0 + 80000290: 00000013 nop + 80000294: 00000013 nop + 80000298: fff00113 li sp,-1 + 8000029c: 1220c063 blt ra,sp,800003bc + 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a4: 00200293 li t0,2 + 800002a8: fe5212e3 bne tp,t0,8000028c + +00000000800002ac : + 800002ac: 00f00193 li gp,15 + 800002b0: 00000213 li tp,0 + 800002b4: 00000093 li ra,0 + 800002b8: fff00113 li sp,-1 + 800002bc: 1020c063 blt ra,sp,800003bc + 800002c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002c4: 00200293 li t0,2 + 800002c8: fe5216e3 bne tp,t0,800002b4 + +00000000800002cc : + 800002cc: 01000193 li gp,16 + 800002d0: 00000213 li tp,0 + 800002d4: 00000093 li ra,0 + 800002d8: fff00113 li sp,-1 + 800002dc: 00000013 nop + 800002e0: 0c20ce63 blt ra,sp,800003bc + 800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002e8: 00200293 li t0,2 + 800002ec: fe5214e3 bne tp,t0,800002d4 + +00000000800002f0 : + 800002f0: 01100193 li gp,17 + 800002f4: 00000213 li tp,0 + 800002f8: 00000093 li ra,0 + 800002fc: fff00113 li sp,-1 + 80000300: 00000013 nop + 80000304: 00000013 nop + 80000308: 0a20ca63 blt ra,sp,800003bc + 8000030c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000310: 00200293 li t0,2 + 80000314: fe5212e3 bne tp,t0,800002f8 + +0000000080000318 : + 80000318: 01200193 li gp,18 + 8000031c: 00000213 li tp,0 + 80000320: 00000093 li ra,0 + 80000324: 00000013 nop + 80000328: fff00113 li sp,-1 + 8000032c: 0820c863 blt ra,sp,800003bc + 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000334: 00200293 li t0,2 + 80000338: fe5214e3 bne tp,t0,80000320 + +000000008000033c : + 8000033c: 01300193 li gp,19 + 80000340: 00000213 li tp,0 + 80000344: 00000093 li ra,0 + 80000348: 00000013 nop + 8000034c: fff00113 li sp,-1 + 80000350: 00000013 nop + 80000354: 0620c463 blt ra,sp,800003bc + 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000035c: 00200293 li t0,2 + 80000360: fe5212e3 bne tp,t0,80000344 + +0000000080000364 : + 80000364: 01400193 li gp,20 + 80000368: 00000213 li tp,0 + 8000036c: 00000093 li ra,0 + 80000370: 00000013 nop + 80000374: 00000013 nop + 80000378: fff00113 li sp,-1 + 8000037c: 0420c063 blt ra,sp,800003bc + 80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000384: 00200293 li t0,2 + 80000388: fe5212e3 bne tp,t0,8000036c + +000000008000038c : + 8000038c: 00100093 li ra,1 + 80000390: 00104a63 bgtz ra,800003a4 + 80000394: 00108093 addi ra,ra,1 + 80000398: 00108093 addi ra,ra,1 + 8000039c: 00108093 addi ra,ra,1 + 800003a0: 00108093 addi ra,ra,1 + 800003a4: 00108093 addi ra,ra,1 + 800003a8: 00108093 addi ra,ra,1 + 800003ac: 00300e93 li t4,3 + 800003b0: 01500193 li gp,21 + 800003b4: 01d09463 bne ra,t4,800003bc + 800003b8: 00301c63 bne zero,gp,800003d0 + +00000000800003bc : + 800003bc: 0ff0000f fence + 800003c0: 00018063 beqz gp,800003c0 + 800003c4: 00119193 slli gp,gp,0x1 + 800003c8: 0011e193 ori gp,gp,1 + 800003cc: 00000073 ecall + +00000000800003d0 : + 800003d0: 0ff0000f fence + 800003d4: 00100193 li gp,1 + 800003d8: 00000073 ecall + 800003dc: c0001073 unimp + 800003e0: 0000 unimp + 800003e2: 0000 unimp + 800003e4: 0000 unimp + 800003e6: 0000 unimp + 800003e8: 0000 unimp + 800003ea: 0000 unimp + 800003ec: 0000 unimp + 800003ee: 0000 unimp + 800003f0: 0000 unimp + 800003f2: 0000 unimp + 800003f4: 0000 unimp + 800003f6: 0000 unimp + 800003f8: 0000 unimp + 800003fa: 0000 unimp + 800003fc: 0000 unimp + 800003fe: 0000 unimp + 80000400: 0000 unimp + 80000402: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-blt.elf b/test/riscv/tests/rv64ui-p-blt.elf new file mode 100755 index 00000000..eec6ce60 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-blt.elf differ diff --git a/test/riscv/tests/rv64ui-p-bltu.dump b/test/riscv/tests/rv64ui-p-bltu.dump new file mode 100644 index 00000000..ec344211 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-bltu.dump @@ -0,0 +1,371 @@ + +rv64ui-p-bltu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00200193 li gp,2 + 80000100: 00000093 li ra,0 + 80000104: 00100113 li sp,1 + 80000108: 0020e663 bltu ra,sp,80000114 + 8000010c: 36301c63 bne zero,gp,80000484 + 80000110: 00301663 bne zero,gp,8000011c + 80000114: fe20eee3 bltu ra,sp,80000110 + 80000118: 36301663 bne zero,gp,80000484 + +000000008000011c : + 8000011c: 00300193 li gp,3 + 80000120: 0010009b addiw ra,zero,1 + 80000124: 02009093 slli ra,ra,0x20 + 80000128: ffe08093 addi ra,ra,-2 + 8000012c: 0010011b addiw sp,zero,1 + 80000130: 02011113 slli sp,sp,0x20 + 80000134: fff10113 addi sp,sp,-1 + 80000138: 0020e663 bltu ra,sp,80000144 + 8000013c: 34301463 bne zero,gp,80000484 + 80000140: 00301663 bne zero,gp,8000014c + 80000144: fe20eee3 bltu ra,sp,80000140 + 80000148: 32301e63 bne zero,gp,80000484 + +000000008000014c : + 8000014c: 00400193 li gp,4 + 80000150: 00000093 li ra,0 + 80000154: 0010011b addiw sp,zero,1 + 80000158: 02011113 slli sp,sp,0x20 + 8000015c: fff10113 addi sp,sp,-1 + 80000160: 0020e663 bltu ra,sp,8000016c + 80000164: 32301063 bne zero,gp,80000484 + 80000168: 00301663 bne zero,gp,80000174 + 8000016c: fe20eee3 bltu ra,sp,80000168 + 80000170: 30301a63 bne zero,gp,80000484 + +0000000080000174 : + 80000174: 00500193 li gp,5 + 80000178: 00100093 li ra,1 + 8000017c: 00000113 li sp,0 + 80000180: 0020e463 bltu ra,sp,80000188 + 80000184: 00301463 bne zero,gp,8000018c + 80000188: 2e301e63 bne zero,gp,80000484 + 8000018c: fe20eee3 bltu ra,sp,80000188 + +0000000080000190 : + 80000190: 00600193 li gp,6 + 80000194: 0010009b addiw ra,zero,1 + 80000198: 02009093 slli ra,ra,0x20 + 8000019c: fff08093 addi ra,ra,-1 + 800001a0: 0010011b addiw sp,zero,1 + 800001a4: 02011113 slli sp,sp,0x20 + 800001a8: ffe10113 addi sp,sp,-2 + 800001ac: 0020e463 bltu ra,sp,800001b4 + 800001b0: 00301463 bne zero,gp,800001b8 + 800001b4: 2c301863 bne zero,gp,80000484 + 800001b8: fe20eee3 bltu ra,sp,800001b4 + +00000000800001bc : + 800001bc: 00700193 li gp,7 + 800001c0: 0010009b addiw ra,zero,1 + 800001c4: 02009093 slli ra,ra,0x20 + 800001c8: fff08093 addi ra,ra,-1 + 800001cc: 00000113 li sp,0 + 800001d0: 0020e463 bltu ra,sp,800001d8 + 800001d4: 00301463 bne zero,gp,800001dc + 800001d8: 2a301663 bne zero,gp,80000484 + 800001dc: fe20eee3 bltu ra,sp,800001d8 + +00000000800001e0 : + 800001e0: 00800193 li gp,8 + 800001e4: 0010009b addiw ra,zero,1 + 800001e8: 01f09093 slli ra,ra,0x1f + 800001ec: 80000137 lui sp,0x80000 + 800001f0: fff1011b addiw sp,sp,-1 + 800001f4: 0020e463 bltu ra,sp,800001fc + 800001f8: 00301463 bne zero,gp,80000200 + 800001fc: 28301463 bne zero,gp,80000484 + 80000200: fe20eee3 bltu ra,sp,800001fc + +0000000080000204 : + 80000204: 00900193 li gp,9 + 80000208: 00000213 li tp,0 + 8000020c: 00f0009b addiw ra,zero,15 + 80000210: 01c09093 slli ra,ra,0x1c + 80000214: 00f0011b addiw sp,zero,15 + 80000218: 01c11113 slli sp,sp,0x1c + 8000021c: fff10113 addi sp,sp,-1 # ffffffff7fffffff <_end+0xfffffffeffffdfff> + 80000220: 2620e263 bltu ra,sp,80000484 + 80000224: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000228: 00200293 li t0,2 + 8000022c: fe5210e3 bne tp,t0,8000020c + +0000000080000230 : + 80000230: 00a00193 li gp,10 + 80000234: 00000213 li tp,0 + 80000238: 00f0009b addiw ra,zero,15 + 8000023c: 01c09093 slli ra,ra,0x1c + 80000240: 00f0011b addiw sp,zero,15 + 80000244: 01c11113 slli sp,sp,0x1c + 80000248: fff10113 addi sp,sp,-1 + 8000024c: 00000013 nop + 80000250: 2220ea63 bltu ra,sp,80000484 + 80000254: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000258: 00200293 li t0,2 + 8000025c: fc521ee3 bne tp,t0,80000238 + +0000000080000260 : + 80000260: 00b00193 li gp,11 + 80000264: 00000213 li tp,0 + 80000268: 00f0009b addiw ra,zero,15 + 8000026c: 01c09093 slli ra,ra,0x1c + 80000270: 00f0011b addiw sp,zero,15 + 80000274: 01c11113 slli sp,sp,0x1c + 80000278: fff10113 addi sp,sp,-1 + 8000027c: 00000013 nop + 80000280: 00000013 nop + 80000284: 2020e063 bltu ra,sp,80000484 + 80000288: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000028c: 00200293 li t0,2 + 80000290: fc521ce3 bne tp,t0,80000268 + +0000000080000294 : + 80000294: 00c00193 li gp,12 + 80000298: 00000213 li tp,0 + 8000029c: 00f0009b addiw ra,zero,15 + 800002a0: 01c09093 slli ra,ra,0x1c + 800002a4: 00000013 nop + 800002a8: 00f0011b addiw sp,zero,15 + 800002ac: 01c11113 slli sp,sp,0x1c + 800002b0: fff10113 addi sp,sp,-1 + 800002b4: 1c20e863 bltu ra,sp,80000484 + 800002b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002bc: 00200293 li t0,2 + 800002c0: fc521ee3 bne tp,t0,8000029c + +00000000800002c4 : + 800002c4: 00d00193 li gp,13 + 800002c8: 00000213 li tp,0 + 800002cc: 00f0009b addiw ra,zero,15 + 800002d0: 01c09093 slli ra,ra,0x1c + 800002d4: 00000013 nop + 800002d8: 00f0011b addiw sp,zero,15 + 800002dc: 01c11113 slli sp,sp,0x1c + 800002e0: fff10113 addi sp,sp,-1 + 800002e4: 00000013 nop + 800002e8: 1820ee63 bltu ra,sp,80000484 + 800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002f0: 00200293 li t0,2 + 800002f4: fc521ce3 bne tp,t0,800002cc + +00000000800002f8 : + 800002f8: 00e00193 li gp,14 + 800002fc: 00000213 li tp,0 + 80000300: 00f0009b addiw ra,zero,15 + 80000304: 01c09093 slli ra,ra,0x1c + 80000308: 00000013 nop + 8000030c: 00000013 nop + 80000310: 00f0011b addiw sp,zero,15 + 80000314: 01c11113 slli sp,sp,0x1c + 80000318: fff10113 addi sp,sp,-1 + 8000031c: 1620e463 bltu ra,sp,80000484 + 80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000324: 00200293 li t0,2 + 80000328: fc521ce3 bne tp,t0,80000300 + +000000008000032c : + 8000032c: 00f00193 li gp,15 + 80000330: 00000213 li tp,0 + 80000334: 00f0009b addiw ra,zero,15 + 80000338: 01c09093 slli ra,ra,0x1c + 8000033c: 00f0011b addiw sp,zero,15 + 80000340: 01c11113 slli sp,sp,0x1c + 80000344: fff10113 addi sp,sp,-1 + 80000348: 1220ee63 bltu ra,sp,80000484 + 8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000350: 00200293 li t0,2 + 80000354: fe5210e3 bne tp,t0,80000334 + +0000000080000358 : + 80000358: 01000193 li gp,16 + 8000035c: 00000213 li tp,0 + 80000360: 00f0009b addiw ra,zero,15 + 80000364: 01c09093 slli ra,ra,0x1c + 80000368: 00f0011b addiw sp,zero,15 + 8000036c: 01c11113 slli sp,sp,0x1c + 80000370: fff10113 addi sp,sp,-1 + 80000374: 00000013 nop + 80000378: 1020e663 bltu ra,sp,80000484 + 8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000380: 00200293 li t0,2 + 80000384: fc521ee3 bne tp,t0,80000360 + +0000000080000388 : + 80000388: 01100193 li gp,17 + 8000038c: 00000213 li tp,0 + 80000390: 00f0009b addiw ra,zero,15 + 80000394: 01c09093 slli ra,ra,0x1c + 80000398: 00f0011b addiw sp,zero,15 + 8000039c: 01c11113 slli sp,sp,0x1c + 800003a0: fff10113 addi sp,sp,-1 + 800003a4: 00000013 nop + 800003a8: 00000013 nop + 800003ac: 0c20ec63 bltu ra,sp,80000484 + 800003b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003b4: 00200293 li t0,2 + 800003b8: fc521ce3 bne tp,t0,80000390 + +00000000800003bc : + 800003bc: 01200193 li gp,18 + 800003c0: 00000213 li tp,0 + 800003c4: 00f0009b addiw ra,zero,15 + 800003c8: 01c09093 slli ra,ra,0x1c + 800003cc: 00000013 nop + 800003d0: 00f0011b addiw sp,zero,15 + 800003d4: 01c11113 slli sp,sp,0x1c + 800003d8: fff10113 addi sp,sp,-1 + 800003dc: 0a20e463 bltu ra,sp,80000484 + 800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003e4: 00200293 li t0,2 + 800003e8: fc521ee3 bne tp,t0,800003c4 + +00000000800003ec : + 800003ec: 01300193 li gp,19 + 800003f0: 00000213 li tp,0 + 800003f4: 00f0009b addiw ra,zero,15 + 800003f8: 01c09093 slli ra,ra,0x1c + 800003fc: 00000013 nop + 80000400: 00f0011b addiw sp,zero,15 + 80000404: 01c11113 slli sp,sp,0x1c + 80000408: fff10113 addi sp,sp,-1 + 8000040c: 00000013 nop + 80000410: 0620ea63 bltu ra,sp,80000484 + 80000414: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000418: 00200293 li t0,2 + 8000041c: fc521ce3 bne tp,t0,800003f4 + +0000000080000420 : + 80000420: 01400193 li gp,20 + 80000424: 00000213 li tp,0 + 80000428: 00f0009b addiw ra,zero,15 + 8000042c: 01c09093 slli ra,ra,0x1c + 80000430: 00000013 nop + 80000434: 00000013 nop + 80000438: 00f0011b addiw sp,zero,15 + 8000043c: 01c11113 slli sp,sp,0x1c + 80000440: fff10113 addi sp,sp,-1 + 80000444: 0420e063 bltu ra,sp,80000484 + 80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000044c: 00200293 li t0,2 + 80000450: fc521ce3 bne tp,t0,80000428 + +0000000080000454 : + 80000454: 00100093 li ra,1 + 80000458: 00106a63 bltu zero,ra,8000046c + 8000045c: 00108093 addi ra,ra,1 + 80000460: 00108093 addi ra,ra,1 + 80000464: 00108093 addi ra,ra,1 + 80000468: 00108093 addi ra,ra,1 + 8000046c: 00108093 addi ra,ra,1 + 80000470: 00108093 addi ra,ra,1 + 80000474: 00300e93 li t4,3 + 80000478: 01500193 li gp,21 + 8000047c: 01d09463 bne ra,t4,80000484 + 80000480: 00301c63 bne zero,gp,80000498 + +0000000080000484 : + 80000484: 0ff0000f fence + 80000488: 00018063 beqz gp,80000488 + 8000048c: 00119193 slli gp,gp,0x1 + 80000490: 0011e193 ori gp,gp,1 + 80000494: 00000073 ecall + +0000000080000498 : + 80000498: 0ff0000f fence + 8000049c: 00100193 li gp,1 + 800004a0: 00000073 ecall + 800004a4: c0001073 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/test/riscv/tests/rv64ui-p-bltu.elf b/test/riscv/tests/rv64ui-p-bltu.elf new file mode 100755 index 00000000..05ee4bec Binary files /dev/null and b/test/riscv/tests/rv64ui-p-bltu.elf differ diff --git a/test/riscv/tests/rv64ui-p-bne.dump b/test/riscv/tests/rv64ui-p-bne.dump new file mode 100644 index 00000000..42f4613f --- /dev/null +++ b/test/riscv/tests/rv64ui-p-bne.dump @@ -0,0 +1,324 @@ + +rv64ui-p-bne: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00200193 li gp,2 + 80000100: 00000093 li ra,0 + 80000104: 00100113 li sp,1 + 80000108: 00209663 bne ra,sp,80000114 + 8000010c: 2a301a63 bne zero,gp,800003c0 + 80000110: 00301663 bne zero,gp,8000011c + 80000114: fe209ee3 bne ra,sp,80000110 + 80000118: 2a301463 bne zero,gp,800003c0 + +000000008000011c : + 8000011c: 00300193 li gp,3 + 80000120: 00100093 li ra,1 + 80000124: 00000113 li sp,0 + 80000128: 00209663 bne ra,sp,80000134 + 8000012c: 28301a63 bne zero,gp,800003c0 + 80000130: 00301663 bne zero,gp,8000013c + 80000134: fe209ee3 bne ra,sp,80000130 + 80000138: 28301463 bne zero,gp,800003c0 + +000000008000013c : + 8000013c: 00400193 li gp,4 + 80000140: fff00093 li ra,-1 + 80000144: 00100113 li sp,1 + 80000148: 00209663 bne ra,sp,80000154 + 8000014c: 26301a63 bne zero,gp,800003c0 + 80000150: 00301663 bne zero,gp,8000015c + 80000154: fe209ee3 bne ra,sp,80000150 + 80000158: 26301463 bne zero,gp,800003c0 + +000000008000015c : + 8000015c: 00500193 li gp,5 + 80000160: 00100093 li ra,1 + 80000164: fff00113 li sp,-1 + 80000168: 00209663 bne ra,sp,80000174 + 8000016c: 24301a63 bne zero,gp,800003c0 + 80000170: 00301663 bne zero,gp,8000017c + 80000174: fe209ee3 bne ra,sp,80000170 + 80000178: 24301463 bne zero,gp,800003c0 + +000000008000017c : + 8000017c: 00600193 li gp,6 + 80000180: 00000093 li ra,0 + 80000184: 00000113 li sp,0 + 80000188: 00209463 bne ra,sp,80000190 + 8000018c: 00301463 bne zero,gp,80000194 + 80000190: 22301863 bne zero,gp,800003c0 + 80000194: fe209ee3 bne ra,sp,80000190 + +0000000080000198 : + 80000198: 00700193 li gp,7 + 8000019c: 00100093 li ra,1 + 800001a0: 00100113 li sp,1 + 800001a4: 00209463 bne ra,sp,800001ac + 800001a8: 00301463 bne zero,gp,800001b0 + 800001ac: 20301a63 bne zero,gp,800003c0 + 800001b0: fe209ee3 bne ra,sp,800001ac + +00000000800001b4 : + 800001b4: 00800193 li gp,8 + 800001b8: fff00093 li ra,-1 + 800001bc: fff00113 li sp,-1 + 800001c0: 00209463 bne ra,sp,800001c8 + 800001c4: 00301463 bne zero,gp,800001cc + 800001c8: 1e301c63 bne zero,gp,800003c0 + 800001cc: fe209ee3 bne ra,sp,800001c8 + +00000000800001d0 : + 800001d0: 00900193 li gp,9 + 800001d4: 00000213 li tp,0 + 800001d8: 00000093 li ra,0 + 800001dc: 00000113 li sp,0 + 800001e0: 1e209063 bne ra,sp,800003c0 + 800001e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800001e8: 00200293 li t0,2 + 800001ec: fe5216e3 bne tp,t0,800001d8 + +00000000800001f0 : + 800001f0: 00a00193 li gp,10 + 800001f4: 00000213 li tp,0 + 800001f8: 00000093 li ra,0 + 800001fc: 00000113 li sp,0 + 80000200: 00000013 nop + 80000204: 1a209e63 bne ra,sp,800003c0 + 80000208: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000020c: 00200293 li t0,2 + 80000210: fe5214e3 bne tp,t0,800001f8 + +0000000080000214 : + 80000214: 00b00193 li gp,11 + 80000218: 00000213 li tp,0 + 8000021c: 00000093 li ra,0 + 80000220: 00000113 li sp,0 + 80000224: 00000013 nop + 80000228: 00000013 nop + 8000022c: 18209a63 bne ra,sp,800003c0 + 80000230: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000234: 00200293 li t0,2 + 80000238: fe5212e3 bne tp,t0,8000021c + +000000008000023c : + 8000023c: 00c00193 li gp,12 + 80000240: 00000213 li tp,0 + 80000244: 00000093 li ra,0 + 80000248: 00000013 nop + 8000024c: 00000113 li sp,0 + 80000250: 16209863 bne ra,sp,800003c0 + 80000254: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000258: 00200293 li t0,2 + 8000025c: fe5214e3 bne tp,t0,80000244 + +0000000080000260 : + 80000260: 00d00193 li gp,13 + 80000264: 00000213 li tp,0 + 80000268: 00000093 li ra,0 + 8000026c: 00000013 nop + 80000270: 00000113 li sp,0 + 80000274: 00000013 nop + 80000278: 14209463 bne ra,sp,800003c0 + 8000027c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000280: 00200293 li t0,2 + 80000284: fe5212e3 bne tp,t0,80000268 + +0000000080000288 : + 80000288: 00e00193 li gp,14 + 8000028c: 00000213 li tp,0 + 80000290: 00000093 li ra,0 + 80000294: 00000013 nop + 80000298: 00000013 nop + 8000029c: 00000113 li sp,0 + 800002a0: 12209063 bne ra,sp,800003c0 + 800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a8: 00200293 li t0,2 + 800002ac: fe5212e3 bne tp,t0,80000290 + +00000000800002b0 : + 800002b0: 00f00193 li gp,15 + 800002b4: 00000213 li tp,0 + 800002b8: 00000093 li ra,0 + 800002bc: 00000113 li sp,0 + 800002c0: 10209063 bne ra,sp,800003c0 + 800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002c8: 00200293 li t0,2 + 800002cc: fe5216e3 bne tp,t0,800002b8 + +00000000800002d0 : + 800002d0: 01000193 li gp,16 + 800002d4: 00000213 li tp,0 + 800002d8: 00000093 li ra,0 + 800002dc: 00000113 li sp,0 + 800002e0: 00000013 nop + 800002e4: 0c209e63 bne ra,sp,800003c0 + 800002e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002ec: 00200293 li t0,2 + 800002f0: fe5214e3 bne tp,t0,800002d8 + +00000000800002f4 : + 800002f4: 01100193 li gp,17 + 800002f8: 00000213 li tp,0 + 800002fc: 00000093 li ra,0 + 80000300: 00000113 li sp,0 + 80000304: 00000013 nop + 80000308: 00000013 nop + 8000030c: 0a209a63 bne ra,sp,800003c0 + 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000314: 00200293 li t0,2 + 80000318: fe5212e3 bne tp,t0,800002fc + +000000008000031c : + 8000031c: 01200193 li gp,18 + 80000320: 00000213 li tp,0 + 80000324: 00000093 li ra,0 + 80000328: 00000013 nop + 8000032c: 00000113 li sp,0 + 80000330: 08209863 bne ra,sp,800003c0 + 80000334: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000338: 00200293 li t0,2 + 8000033c: fe5214e3 bne tp,t0,80000324 + +0000000080000340 : + 80000340: 01300193 li gp,19 + 80000344: 00000213 li tp,0 + 80000348: 00000093 li ra,0 + 8000034c: 00000013 nop + 80000350: 00000113 li sp,0 + 80000354: 00000013 nop + 80000358: 06209463 bne ra,sp,800003c0 + 8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000360: 00200293 li t0,2 + 80000364: fe5212e3 bne tp,t0,80000348 + +0000000080000368 : + 80000368: 01400193 li gp,20 + 8000036c: 00000213 li tp,0 + 80000370: 00000093 li ra,0 + 80000374: 00000013 nop + 80000378: 00000013 nop + 8000037c: 00000113 li sp,0 + 80000380: 04209063 bne ra,sp,800003c0 + 80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000388: 00200293 li t0,2 + 8000038c: fe5212e3 bne tp,t0,80000370 + +0000000080000390 : + 80000390: 00100093 li ra,1 + 80000394: 00009a63 bnez ra,800003a8 + 80000398: 00108093 addi ra,ra,1 + 8000039c: 00108093 addi ra,ra,1 + 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: 00300e93 li t4,3 + 800003b4: 01500193 li gp,21 + 800003b8: 01d09463 bne ra,t4,800003c0 + 800003bc: 00301c63 bne zero,gp,800003d4 + +00000000800003c0 : + 800003c0: 0ff0000f fence + 800003c4: 00018063 beqz gp,800003c4 + 800003c8: 00119193 slli gp,gp,0x1 + 800003cc: 0011e193 ori gp,gp,1 + 800003d0: 00000073 ecall + +00000000800003d4 : + 800003d4: 0ff0000f fence + 800003d8: 00100193 li gp,1 + 800003dc: 00000073 ecall + 800003e0: c0001073 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/test/riscv/tests/rv64ui-p-bne.elf b/test/riscv/tests/rv64ui-p-bne.elf new file mode 100755 index 00000000..f44e9132 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-bne.elf differ diff --git a/test/riscv/tests/rv64ui-p-fence_i.dump b/test/riscv/tests/rv64ui-p-fence_i.dump new file mode 100644 index 00000000..8bbfcfdb --- /dev/null +++ b/test/riscv/tests/rv64ui-p-fence_i.dump @@ -0,0 +1,189 @@ + +rv64ui-p-fence_i: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + 800000fc: 06f00693 li a3,111 + 80000100: 00002517 auipc a0,0x2 + 80000104: f0051503 lh a0,-256(a0) # 80002000 + 80000108: 00002597 auipc a1,0x2 + 8000010c: efa59583 lh a1,-262(a1) # 80002002 + 80000110: 00000013 nop + 80000114: 00000013 nop + 80000118: 00000013 nop + 8000011c: 00000013 nop + 80000120: 00000013 nop + 80000124: 00000013 nop + 80000128: 00000013 nop + 8000012c: 00000013 nop + 80000130: 00000013 nop + 80000134: 00000013 nop + 80000138: 00000013 nop + 8000013c: 00000013 nop + 80000140: 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 + +0000000080000158 : + 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 + +00000000800001c4 : + 800001c4: 00000013 nop + 800001c8: 30900e93 li t4,777 + 800001cc: 00300193 li gp,3 + 800001d0: 01d69463 bne a3,t4,800001d8 + 800001d4: 00301c63 bne zero,gp,800001ec + +00000000800001d8 : + 800001d8: 0ff0000f fence + 800001dc: 00018063 beqz gp,800001dc + 800001e0: 00119193 slli gp,gp,0x1 + 800001e4: 0011e193 ori gp,gp,1 + 800001e8: 00000073 ecall + +00000000800001ec : + 800001ec: 0ff0000f fence + 800001f0: 00100193 li gp,1 + 800001f4: 00000073 ecall + 800001f8: c0001073 unimp + 800001fc: 0000 unimp + 800001fe: 0000 unimp + 80000200: 0000 unimp + 80000202: 0000 unimp + 80000204: 0000 unimp + 80000206: 0000 unimp + 80000208: 0000 unimp + 8000020a: 0000 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 + 80000228: 0000 unimp + 8000022a: 0000 unimp + 8000022c: 0000 unimp + 8000022e: 0000 unimp + 80000230: 0000 unimp + 80000232: 0000 unimp + +Disassembly of section .data: + +0000000080002000 : + 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/test/riscv/tests/rv64ui-p-fence_i.elf b/test/riscv/tests/rv64ui-p-fence_i.elf new file mode 100755 index 00000000..da16800e Binary files /dev/null and b/test/riscv/tests/rv64ui-p-fence_i.elf differ diff --git a/test/riscv/tests/rv64ui-p-jal.dump b/test/riscv/tests/rv64ui-p-jal.dump new file mode 100644 index 00000000..2a86bb86 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-jal.dump @@ -0,0 +1,128 @@ + +rv64ui-p-jal: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00200193 li gp,2 + 80000100: 00000093 li ra,0 + 80000104: 0100026f jal tp,80000114 + +0000000080000108 : + 80000108: 00000013 nop + 8000010c: 00000013 nop + 80000110: 0400006f j 80000150 + +0000000080000114 : + 80000114: 00000117 auipc sp,0x0 + 80000118: ff410113 addi sp,sp,-12 # 80000108 + 8000011c: 02411a63 bne sp,tp,80000150 + +0000000080000120 : + 80000120: 00100093 li ra,1 + 80000124: 0140006f j 80000138 + 80000128: 00108093 addi ra,ra,1 + 8000012c: 00108093 addi ra,ra,1 + 80000130: 00108093 addi ra,ra,1 + 80000134: 00108093 addi ra,ra,1 + 80000138: 00108093 addi ra,ra,1 + 8000013c: 00108093 addi ra,ra,1 + 80000140: 00300e93 li t4,3 + 80000144: 00300193 li gp,3 + 80000148: 01d09463 bne ra,t4,80000150 + 8000014c: 00301c63 bne zero,gp,80000164 + +0000000080000150 : + 80000150: 0ff0000f fence + 80000154: 00018063 beqz gp,80000154 + 80000158: 00119193 slli gp,gp,0x1 + 8000015c: 0011e193 ori gp,gp,1 + 80000160: 00000073 ecall + +0000000080000164 : + 80000164: 0ff0000f fence + 80000168: 00100193 li gp,1 + 8000016c: 00000073 ecall + 80000170: c0001073 unimp + 80000174: 0000 unimp + 80000176: 0000 unimp + 80000178: 0000 unimp + 8000017a: 0000 unimp + 8000017c: 0000 unimp + 8000017e: 0000 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-jal.elf b/test/riscv/tests/rv64ui-p-jal.elf new file mode 100755 index 00000000..a6a2933f Binary files /dev/null and b/test/riscv/tests/rv64ui-p-jal.elf differ diff --git a/test/riscv/tests/rv64ui-p-jalr.dump b/test/riscv/tests/rv64ui-p-jalr.dump new file mode 100644 index 00000000..029a6922 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-jalr.dump @@ -0,0 +1,166 @@ + +rv64ui-p-jalr: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00200193 li gp,2 + 80000100: 00000293 li t0,0 + 80000104: 00000317 auipc t1,0x0 + 80000108: 01030313 addi t1,t1,16 # 80000114 + 8000010c: 000302e7 jalr t0,t1 + +0000000080000110 : + 80000110: 0c00006f j 800001d0 + +0000000080000114 : + 80000114: 00000317 auipc t1,0x0 + 80000118: ffc30313 addi t1,t1,-4 # 80000110 + 8000011c: 0a629a63 bne t0,t1,800001d0 + +0000000080000120 : + 80000120: 00400193 li gp,4 + 80000124: 00000213 li tp,0 + 80000128: 00000317 auipc t1,0x0 + 8000012c: 01030313 addi t1,t1,16 # 80000138 + 80000130: 000309e7 jalr s3,t1 + 80000134: 08301e63 bne zero,gp,800001d0 + 80000138: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000013c: 00200293 li t0,2 + 80000140: fe5214e3 bne tp,t0,80000128 + +0000000080000144 : + 80000144: 00500193 li gp,5 + 80000148: 00000213 li tp,0 + 8000014c: 00000317 auipc t1,0x0 + 80000150: 01430313 addi t1,t1,20 # 80000160 + 80000154: 00000013 nop + 80000158: 000309e7 jalr s3,t1 + 8000015c: 06301a63 bne zero,gp,800001d0 + 80000160: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000164: 00200293 li t0,2 + 80000168: fe5212e3 bne tp,t0,8000014c + +000000008000016c : + 8000016c: 00600193 li gp,6 + 80000170: 00000213 li tp,0 + 80000174: 00000317 auipc t1,0x0 + 80000178: 01830313 addi t1,t1,24 # 8000018c + 8000017c: 00000013 nop + 80000180: 00000013 nop + 80000184: 000309e7 jalr s3,t1 + 80000188: 04301463 bne zero,gp,800001d0 + 8000018c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000190: 00200293 li t0,2 + 80000194: fe5210e3 bne tp,t0,80000174 + +0000000080000198 : + 80000198: 00100293 li t0,1 + 8000019c: 00000317 auipc t1,0x0 + 800001a0: 01c30313 addi t1,t1,28 # 800001b8 + 800001a4: ffc30067 jr -4(t1) + 800001a8: 00128293 addi t0,t0,1 + 800001ac: 00128293 addi t0,t0,1 + 800001b0: 00128293 addi t0,t0,1 + 800001b4: 00128293 addi t0,t0,1 + 800001b8: 00128293 addi t0,t0,1 + 800001bc: 00128293 addi t0,t0,1 + 800001c0: 00400e93 li t4,4 + 800001c4: 00700193 li gp,7 + 800001c8: 01d29463 bne t0,t4,800001d0 + 800001cc: 00301c63 bne zero,gp,800001e4 + +00000000800001d0 : + 800001d0: 0ff0000f fence + 800001d4: 00018063 beqz gp,800001d4 + 800001d8: 00119193 slli gp,gp,0x1 + 800001dc: 0011e193 ori gp,gp,1 + 800001e0: 00000073 ecall + +00000000800001e4 : + 800001e4: 0ff0000f fence + 800001e8: 00100193 li gp,1 + 800001ec: 00000073 ecall + 800001f0: c0001073 unimp + 800001f4: 0000 unimp + 800001f6: 0000 unimp + 800001f8: 0000 unimp + 800001fa: 0000 unimp + 800001fc: 0000 unimp + 800001fe: 0000 unimp + 80000200: 0000 unimp + 80000202: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-jalr.elf b/test/riscv/tests/rv64ui-p-jalr.elf new file mode 100755 index 00000000..709778a9 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-jalr.elf differ diff --git a/test/riscv/tests/rv64ui-p-lb.dump b/test/riscv/tests/rv64ui-p-lb.dump new file mode 100644 index 00000000..dbf78e7d --- /dev/null +++ b/test/riscv/tests/rv64ui-p-lb.dump @@ -0,0 +1,306 @@ + +rv64ui-p-lb: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00002097 auipc ra,0x2 + 80000100: f0408093 addi ra,ra,-252 # 80002000 + 80000104: 00008f03 lb t5,0(ra) + 80000108: fff00e93 li t4,-1 + 8000010c: 00200193 li gp,2 + 80000110: 23df1c63 bne t5,t4,80000348 + +0000000080000114 : + 80000114: 00002097 auipc ra,0x2 + 80000118: eec08093 addi ra,ra,-276 # 80002000 + 8000011c: 00108f03 lb t5,1(ra) + 80000120: 00000e93 li t4,0 + 80000124: 00300193 li gp,3 + 80000128: 23df1063 bne t5,t4,80000348 + +000000008000012c : + 8000012c: 00002097 auipc ra,0x2 + 80000130: ed408093 addi ra,ra,-300 # 80002000 + 80000134: 00208f03 lb t5,2(ra) + 80000138: ff000e93 li t4,-16 + 8000013c: 00400193 li gp,4 + 80000140: 21df1463 bne t5,t4,80000348 + +0000000080000144 : + 80000144: 00002097 auipc ra,0x2 + 80000148: ebc08093 addi ra,ra,-324 # 80002000 + 8000014c: 00308f03 lb t5,3(ra) + 80000150: 00f00e93 li t4,15 + 80000154: 00500193 li gp,5 + 80000158: 1fdf1863 bne t5,t4,80000348 + +000000008000015c : + 8000015c: 00002097 auipc ra,0x2 + 80000160: ea708093 addi ra,ra,-345 # 80002003 + 80000164: ffd08f03 lb t5,-3(ra) + 80000168: fff00e93 li t4,-1 + 8000016c: 00600193 li gp,6 + 80000170: 1ddf1c63 bne t5,t4,80000348 + +0000000080000174 : + 80000174: 00002097 auipc ra,0x2 + 80000178: e8f08093 addi ra,ra,-369 # 80002003 + 8000017c: ffe08f03 lb t5,-2(ra) + 80000180: 00000e93 li t4,0 + 80000184: 00700193 li gp,7 + 80000188: 1ddf1063 bne t5,t4,80000348 + +000000008000018c : + 8000018c: 00002097 auipc ra,0x2 + 80000190: e7708093 addi ra,ra,-393 # 80002003 + 80000194: fff08f03 lb t5,-1(ra) + 80000198: ff000e93 li t4,-16 + 8000019c: 00800193 li gp,8 + 800001a0: 1bdf1463 bne t5,t4,80000348 + +00000000800001a4 : + 800001a4: 00002097 auipc ra,0x2 + 800001a8: e5f08093 addi ra,ra,-417 # 80002003 + 800001ac: 00008f03 lb t5,0(ra) + 800001b0: 00f00e93 li t4,15 + 800001b4: 00900193 li gp,9 + 800001b8: 19df1863 bne t5,t4,80000348 + +00000000800001bc : + 800001bc: 00002097 auipc ra,0x2 + 800001c0: e4408093 addi ra,ra,-444 # 80002000 + 800001c4: fe008093 addi ra,ra,-32 + 800001c8: 02008283 lb t0,32(ra) + 800001cc: fff00e93 li t4,-1 + 800001d0: 00a00193 li gp,10 + 800001d4: 17d29a63 bne t0,t4,80000348 + +00000000800001d8 : + 800001d8: 00002097 auipc ra,0x2 + 800001dc: e2808093 addi ra,ra,-472 # 80002000 + 800001e0: ffa08093 addi ra,ra,-6 + 800001e4: 00708283 lb t0,7(ra) + 800001e8: 00000e93 li t4,0 + 800001ec: 00b00193 li gp,11 + 800001f0: 15d29c63 bne t0,t4,80000348 + +00000000800001f4 : + 800001f4: 00c00193 li gp,12 + 800001f8: 00000213 li tp,0 + 800001fc: 00002097 auipc ra,0x2 + 80000200: e0508093 addi ra,ra,-507 # 80002001 + 80000204: 00108f03 lb t5,1(ra) + 80000208: 000f0313 mv t1,t5 + 8000020c: ff000e93 li t4,-16 + 80000210: 13d31c63 bne t1,t4,80000348 + 80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000218: 00200293 li t0,2 + 8000021c: fe5210e3 bne tp,t0,800001fc + +0000000080000220 : + 80000220: 00d00193 li gp,13 + 80000224: 00000213 li tp,0 + 80000228: 00002097 auipc ra,0x2 + 8000022c: dda08093 addi ra,ra,-550 # 80002002 + 80000230: 00108f03 lb t5,1(ra) + 80000234: 00000013 nop + 80000238: 000f0313 mv t1,t5 + 8000023c: 00f00e93 li t4,15 + 80000240: 11d31463 bne t1,t4,80000348 + 80000244: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000248: 00200293 li t0,2 + 8000024c: fc521ee3 bne tp,t0,80000228 + +0000000080000250 : + 80000250: 00e00193 li gp,14 + 80000254: 00000213 li tp,0 + 80000258: 00002097 auipc ra,0x2 + 8000025c: da808093 addi ra,ra,-600 # 80002000 + 80000260: 00108f03 lb t5,1(ra) + 80000264: 00000013 nop + 80000268: 00000013 nop + 8000026c: 000f0313 mv t1,t5 + 80000270: 00000e93 li t4,0 + 80000274: 0dd31a63 bne t1,t4,80000348 + 80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000027c: 00200293 li t0,2 + 80000280: fc521ce3 bne tp,t0,80000258 + +0000000080000284 : + 80000284: 00f00193 li gp,15 + 80000288: 00000213 li tp,0 + 8000028c: 00002097 auipc ra,0x2 + 80000290: d7508093 addi ra,ra,-651 # 80002001 + 80000294: 00108f03 lb t5,1(ra) + 80000298: ff000e93 li t4,-16 + 8000029c: 0bdf1663 bne t5,t4,80000348 + 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a4: 00200293 li t0,2 + 800002a8: fe5212e3 bne tp,t0,8000028c + +00000000800002ac : + 800002ac: 01000193 li gp,16 + 800002b0: 00000213 li tp,0 + 800002b4: 00002097 auipc ra,0x2 + 800002b8: d4e08093 addi ra,ra,-690 # 80002002 + 800002bc: 00000013 nop + 800002c0: 00108f03 lb t5,1(ra) + 800002c4: 00f00e93 li t4,15 + 800002c8: 09df1063 bne t5,t4,80000348 + 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002d0: 00200293 li t0,2 + 800002d4: fe5210e3 bne tp,t0,800002b4 + +00000000800002d8 : + 800002d8: 01100193 li gp,17 + 800002dc: 00000213 li tp,0 + 800002e0: 00002097 auipc ra,0x2 + 800002e4: d2008093 addi ra,ra,-736 # 80002000 + 800002e8: 00000013 nop + 800002ec: 00000013 nop + 800002f0: 00108f03 lb t5,1(ra) + 800002f4: 00000e93 li t4,0 + 800002f8: 05df1863 bne t5,t4,80000348 + 800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000300: 00200293 li t0,2 + 80000304: fc521ee3 bne tp,t0,800002e0 + +0000000080000308 : + 80000308: 00002297 auipc t0,0x2 + 8000030c: cf828293 addi t0,t0,-776 # 80002000 + 80000310: 00028103 lb sp,0(t0) + 80000314: 00200113 li sp,2 + 80000318: 00200e93 li t4,2 + 8000031c: 01200193 li gp,18 + 80000320: 03d11463 bne sp,t4,80000348 + +0000000080000324 : + 80000324: 00002297 auipc t0,0x2 + 80000328: cdc28293 addi t0,t0,-804 # 80002000 + 8000032c: 00028103 lb sp,0(t0) + 80000330: 00000013 nop + 80000334: 00200113 li sp,2 + 80000338: 00200e93 li t4,2 + 8000033c: 01300193 li gp,19 + 80000340: 01d11463 bne sp,t4,80000348 + 80000344: 00301c63 bne zero,gp,8000035c + +0000000080000348 : + 80000348: 0ff0000f fence + 8000034c: 00018063 beqz gp,8000034c + 80000350: 00119193 slli gp,gp,0x1 + 80000354: 0011e193 ori gp,gp,1 + 80000358: 00000073 ecall + +000000008000035c : + 8000035c: 0ff0000f fence + 80000360: 00100193 li gp,1 + 80000364: 00000073 ecall + 80000368: c0001073 unimp + 8000036c: 0000 unimp + 8000036e: 0000 unimp + 80000370: 0000 unimp + 80000372: 0000 unimp + 80000374: 0000 unimp + 80000376: 0000 unimp + 80000378: 0000 unimp + 8000037a: 0000 unimp + 8000037c: 0000 unimp + 8000037e: 0000 unimp + 80000380: 0000 unimp + 80000382: 0000 unimp + +Disassembly of section .data: + +0000000080002000 : + 80002000: 0xff + +0000000080002001 : + 80002001: sd s0,32(s0) + +0000000080002002 : + 80002002: addi a2,sp,988 + +0000000080002003 : + 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/test/riscv/tests/rv64ui-p-lb.elf b/test/riscv/tests/rv64ui-p-lb.elf new file mode 100755 index 00000000..c1723c06 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-lb.elf differ diff --git a/test/riscv/tests/rv64ui-p-lbu.dump b/test/riscv/tests/rv64ui-p-lbu.dump new file mode 100644 index 00000000..4365b07b --- /dev/null +++ b/test/riscv/tests/rv64ui-p-lbu.dump @@ -0,0 +1,306 @@ + +rv64ui-p-lbu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00002097 auipc ra,0x2 + 80000100: f0408093 addi ra,ra,-252 # 80002000 + 80000104: 0000cf03 lbu t5,0(ra) + 80000108: 0ff00e93 li t4,255 + 8000010c: 00200193 li gp,2 + 80000110: 23df1c63 bne t5,t4,80000348 + +0000000080000114 : + 80000114: 00002097 auipc ra,0x2 + 80000118: eec08093 addi ra,ra,-276 # 80002000 + 8000011c: 0010cf03 lbu t5,1(ra) + 80000120: 00000e93 li t4,0 + 80000124: 00300193 li gp,3 + 80000128: 23df1063 bne t5,t4,80000348 + +000000008000012c : + 8000012c: 00002097 auipc ra,0x2 + 80000130: ed408093 addi ra,ra,-300 # 80002000 + 80000134: 0020cf03 lbu t5,2(ra) + 80000138: 0f000e93 li t4,240 + 8000013c: 00400193 li gp,4 + 80000140: 21df1463 bne t5,t4,80000348 + +0000000080000144 : + 80000144: 00002097 auipc ra,0x2 + 80000148: ebc08093 addi ra,ra,-324 # 80002000 + 8000014c: 0030cf03 lbu t5,3(ra) + 80000150: 00f00e93 li t4,15 + 80000154: 00500193 li gp,5 + 80000158: 1fdf1863 bne t5,t4,80000348 + +000000008000015c : + 8000015c: 00002097 auipc ra,0x2 + 80000160: ea708093 addi ra,ra,-345 # 80002003 + 80000164: ffd0cf03 lbu t5,-3(ra) + 80000168: 0ff00e93 li t4,255 + 8000016c: 00600193 li gp,6 + 80000170: 1ddf1c63 bne t5,t4,80000348 + +0000000080000174 : + 80000174: 00002097 auipc ra,0x2 + 80000178: e8f08093 addi ra,ra,-369 # 80002003 + 8000017c: ffe0cf03 lbu t5,-2(ra) + 80000180: 00000e93 li t4,0 + 80000184: 00700193 li gp,7 + 80000188: 1ddf1063 bne t5,t4,80000348 + +000000008000018c : + 8000018c: 00002097 auipc ra,0x2 + 80000190: e7708093 addi ra,ra,-393 # 80002003 + 80000194: fff0cf03 lbu t5,-1(ra) + 80000198: 0f000e93 li t4,240 + 8000019c: 00800193 li gp,8 + 800001a0: 1bdf1463 bne t5,t4,80000348 + +00000000800001a4 : + 800001a4: 00002097 auipc ra,0x2 + 800001a8: e5f08093 addi ra,ra,-417 # 80002003 + 800001ac: 0000cf03 lbu t5,0(ra) + 800001b0: 00f00e93 li t4,15 + 800001b4: 00900193 li gp,9 + 800001b8: 19df1863 bne t5,t4,80000348 + +00000000800001bc : + 800001bc: 00002097 auipc ra,0x2 + 800001c0: e4408093 addi ra,ra,-444 # 80002000 + 800001c4: fe008093 addi ra,ra,-32 + 800001c8: 0200c283 lbu t0,32(ra) + 800001cc: 0ff00e93 li t4,255 + 800001d0: 00a00193 li gp,10 + 800001d4: 17d29a63 bne t0,t4,80000348 + +00000000800001d8 : + 800001d8: 00002097 auipc ra,0x2 + 800001dc: e2808093 addi ra,ra,-472 # 80002000 + 800001e0: ffa08093 addi ra,ra,-6 + 800001e4: 0070c283 lbu t0,7(ra) + 800001e8: 00000e93 li t4,0 + 800001ec: 00b00193 li gp,11 + 800001f0: 15d29c63 bne t0,t4,80000348 + +00000000800001f4 : + 800001f4: 00c00193 li gp,12 + 800001f8: 00000213 li tp,0 + 800001fc: 00002097 auipc ra,0x2 + 80000200: e0508093 addi ra,ra,-507 # 80002001 + 80000204: 0010cf03 lbu t5,1(ra) + 80000208: 000f0313 mv t1,t5 + 8000020c: 0f000e93 li t4,240 + 80000210: 13d31c63 bne t1,t4,80000348 + 80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000218: 00200293 li t0,2 + 8000021c: fe5210e3 bne tp,t0,800001fc + +0000000080000220 : + 80000220: 00d00193 li gp,13 + 80000224: 00000213 li tp,0 + 80000228: 00002097 auipc ra,0x2 + 8000022c: dda08093 addi ra,ra,-550 # 80002002 + 80000230: 0010cf03 lbu t5,1(ra) + 80000234: 00000013 nop + 80000238: 000f0313 mv t1,t5 + 8000023c: 00f00e93 li t4,15 + 80000240: 11d31463 bne t1,t4,80000348 + 80000244: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000248: 00200293 li t0,2 + 8000024c: fc521ee3 bne tp,t0,80000228 + +0000000080000250 : + 80000250: 00e00193 li gp,14 + 80000254: 00000213 li tp,0 + 80000258: 00002097 auipc ra,0x2 + 8000025c: da808093 addi ra,ra,-600 # 80002000 + 80000260: 0010cf03 lbu t5,1(ra) + 80000264: 00000013 nop + 80000268: 00000013 nop + 8000026c: 000f0313 mv t1,t5 + 80000270: 00000e93 li t4,0 + 80000274: 0dd31a63 bne t1,t4,80000348 + 80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000027c: 00200293 li t0,2 + 80000280: fc521ce3 bne tp,t0,80000258 + +0000000080000284 : + 80000284: 00f00193 li gp,15 + 80000288: 00000213 li tp,0 + 8000028c: 00002097 auipc ra,0x2 + 80000290: d7508093 addi ra,ra,-651 # 80002001 + 80000294: 0010cf03 lbu t5,1(ra) + 80000298: 0f000e93 li t4,240 + 8000029c: 0bdf1663 bne t5,t4,80000348 + 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a4: 00200293 li t0,2 + 800002a8: fe5212e3 bne tp,t0,8000028c + +00000000800002ac : + 800002ac: 01000193 li gp,16 + 800002b0: 00000213 li tp,0 + 800002b4: 00002097 auipc ra,0x2 + 800002b8: d4e08093 addi ra,ra,-690 # 80002002 + 800002bc: 00000013 nop + 800002c0: 0010cf03 lbu t5,1(ra) + 800002c4: 00f00e93 li t4,15 + 800002c8: 09df1063 bne t5,t4,80000348 + 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002d0: 00200293 li t0,2 + 800002d4: fe5210e3 bne tp,t0,800002b4 + +00000000800002d8 : + 800002d8: 01100193 li gp,17 + 800002dc: 00000213 li tp,0 + 800002e0: 00002097 auipc ra,0x2 + 800002e4: d2008093 addi ra,ra,-736 # 80002000 + 800002e8: 00000013 nop + 800002ec: 00000013 nop + 800002f0: 0010cf03 lbu t5,1(ra) + 800002f4: 00000e93 li t4,0 + 800002f8: 05df1863 bne t5,t4,80000348 + 800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000300: 00200293 li t0,2 + 80000304: fc521ee3 bne tp,t0,800002e0 + +0000000080000308 : + 80000308: 00002297 auipc t0,0x2 + 8000030c: cf828293 addi t0,t0,-776 # 80002000 + 80000310: 0002c103 lbu sp,0(t0) + 80000314: 00200113 li sp,2 + 80000318: 00200e93 li t4,2 + 8000031c: 01200193 li gp,18 + 80000320: 03d11463 bne sp,t4,80000348 + +0000000080000324 : + 80000324: 00002297 auipc t0,0x2 + 80000328: cdc28293 addi t0,t0,-804 # 80002000 + 8000032c: 0002c103 lbu sp,0(t0) + 80000330: 00000013 nop + 80000334: 00200113 li sp,2 + 80000338: 00200e93 li t4,2 + 8000033c: 01300193 li gp,19 + 80000340: 01d11463 bne sp,t4,80000348 + 80000344: 00301c63 bne zero,gp,8000035c + +0000000080000348 : + 80000348: 0ff0000f fence + 8000034c: 00018063 beqz gp,8000034c + 80000350: 00119193 slli gp,gp,0x1 + 80000354: 0011e193 ori gp,gp,1 + 80000358: 00000073 ecall + +000000008000035c : + 8000035c: 0ff0000f fence + 80000360: 00100193 li gp,1 + 80000364: 00000073 ecall + 80000368: c0001073 unimp + 8000036c: 0000 unimp + 8000036e: 0000 unimp + 80000370: 0000 unimp + 80000372: 0000 unimp + 80000374: 0000 unimp + 80000376: 0000 unimp + 80000378: 0000 unimp + 8000037a: 0000 unimp + 8000037c: 0000 unimp + 8000037e: 0000 unimp + 80000380: 0000 unimp + 80000382: 0000 unimp + +Disassembly of section .data: + +0000000080002000 : + 80002000: 0xff + +0000000080002001 : + 80002001: sd s0,32(s0) + +0000000080002002 : + 80002002: addi a2,sp,988 + +0000000080002003 : + 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/test/riscv/tests/rv64ui-p-lbu.elf b/test/riscv/tests/rv64ui-p-lbu.elf new file mode 100755 index 00000000..e14ea798 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-lbu.elf differ diff --git a/test/riscv/tests/rv64ui-p-ld.dump b/test/riscv/tests/rv64ui-p-ld.dump new file mode 100644 index 00000000..dcebe2d6 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-ld.dump @@ -0,0 +1,406 @@ + +rv64ui-p-ld: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00002097 auipc ra,0x2 + 80000100: f0408093 addi ra,ra,-252 # 80002000 + 80000104: 0000bf03 ld t5,0(ra) + 80000108: 00ff0eb7 lui t4,0xff0 + 8000010c: 0ffe8e9b addiw t4,t4,255 + 80000110: 010e9e93 slli t4,t4,0x10 + 80000114: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> + 80000118: 010e9e93 slli t4,t4,0x10 + 8000011c: 0ffe8e93 addi t4,t4,255 + 80000120: 00200193 li gp,2 + 80000124: 3bdf1263 bne t5,t4,800004c8 + +0000000080000128 : + 80000128: 00002097 auipc ra,0x2 + 8000012c: ed808093 addi ra,ra,-296 # 80002000 + 80000130: 0080bf03 ld t5,8(ra) + 80000134: ff010eb7 lui t4,0xff010 + 80000138: f01e8e9b addiw t4,t4,-255 + 8000013c: 010e9e93 slli t4,t4,0x10 + 80000140: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f00dee1> + 80000144: 010e9e93 slli t4,t4,0x10 + 80000148: f00e8e93 addi t4,t4,-256 + 8000014c: 00300193 li gp,3 + 80000150: 37df1c63 bne t5,t4,800004c8 + +0000000080000154 : + 80000154: 00002097 auipc ra,0x2 + 80000158: eac08093 addi ra,ra,-340 # 80002000 + 8000015c: 0100bf03 ld t5,16(ra) + 80000160: 00010eb7 lui t4,0x10 + 80000164: f01e8e9b addiw t4,t4,-255 + 80000168: 010e9e93 slli t4,t4,0x10 + 8000016c: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff> + 80000170: 010e9e93 slli t4,t4,0x10 + 80000174: f01e8e93 addi t4,t4,-255 + 80000178: 00ce9e93 slli t4,t4,0xc + 8000017c: ff0e8e93 addi t4,t4,-16 + 80000180: 00400193 li gp,4 + 80000184: 35df1263 bne t5,t4,800004c8 + +0000000080000188 : + 80000188: 00002097 auipc ra,0x2 + 8000018c: e7808093 addi ra,ra,-392 # 80002000 + 80000190: 0180bf03 ld t5,24(ra) + 80000194: ffff0eb7 lui t4,0xffff0 + 80000198: 0ffe8e9b addiw t4,t4,255 + 8000019c: 010e9e93 slli t4,t4,0x10 + 800001a0: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffee0df> + 800001a4: 010e9e93 slli t4,t4,0x10 + 800001a8: 0ffe8e93 addi t4,t4,255 + 800001ac: 00ce9e93 slli t4,t4,0xc + 800001b0: 00fe8e93 addi t4,t4,15 + 800001b4: 00500193 li gp,5 + 800001b8: 31df1863 bne t5,t4,800004c8 + +00000000800001bc : + 800001bc: 00002097 auipc ra,0x2 + 800001c0: e5c08093 addi ra,ra,-420 # 80002018 + 800001c4: fe80bf03 ld t5,-24(ra) + 800001c8: 00ff0eb7 lui t4,0xff0 + 800001cc: 0ffe8e9b addiw t4,t4,255 + 800001d0: 010e9e93 slli t4,t4,0x10 + 800001d4: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> + 800001d8: 010e9e93 slli t4,t4,0x10 + 800001dc: 0ffe8e93 addi t4,t4,255 + 800001e0: 00600193 li gp,6 + 800001e4: 2fdf1263 bne t5,t4,800004c8 + +00000000800001e8 : + 800001e8: 00002097 auipc ra,0x2 + 800001ec: e3008093 addi ra,ra,-464 # 80002018 + 800001f0: ff00bf03 ld t5,-16(ra) + 800001f4: ff010eb7 lui t4,0xff010 + 800001f8: f01e8e9b addiw t4,t4,-255 + 800001fc: 010e9e93 slli t4,t4,0x10 + 80000200: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f00dee1> + 80000204: 010e9e93 slli t4,t4,0x10 + 80000208: f00e8e93 addi t4,t4,-256 + 8000020c: 00700193 li gp,7 + 80000210: 2bdf1c63 bne t5,t4,800004c8 + +0000000080000214 : + 80000214: 00002097 auipc ra,0x2 + 80000218: e0408093 addi ra,ra,-508 # 80002018 + 8000021c: ff80bf03 ld t5,-8(ra) + 80000220: 00010eb7 lui t4,0x10 + 80000224: f01e8e9b addiw t4,t4,-255 + 80000228: 010e9e93 slli t4,t4,0x10 + 8000022c: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff> + 80000230: 010e9e93 slli t4,t4,0x10 + 80000234: f01e8e93 addi t4,t4,-255 + 80000238: 00ce9e93 slli t4,t4,0xc + 8000023c: ff0e8e93 addi t4,t4,-16 + 80000240: 00800193 li gp,8 + 80000244: 29df1263 bne t5,t4,800004c8 + +0000000080000248 : + 80000248: 00002097 auipc ra,0x2 + 8000024c: dd008093 addi ra,ra,-560 # 80002018 + 80000250: 0000bf03 ld t5,0(ra) + 80000254: ffff0eb7 lui t4,0xffff0 + 80000258: 0ffe8e9b addiw t4,t4,255 + 8000025c: 010e9e93 slli t4,t4,0x10 + 80000260: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffee0df> + 80000264: 010e9e93 slli t4,t4,0x10 + 80000268: 0ffe8e93 addi t4,t4,255 + 8000026c: 00ce9e93 slli t4,t4,0xc + 80000270: 00fe8e93 addi t4,t4,15 + 80000274: 00900193 li gp,9 + 80000278: 25df1863 bne t5,t4,800004c8 + +000000008000027c : + 8000027c: 00002097 auipc ra,0x2 + 80000280: d8408093 addi ra,ra,-636 # 80002000 + 80000284: fe008093 addi ra,ra,-32 + 80000288: 0200b283 ld t0,32(ra) + 8000028c: 00ff0eb7 lui t4,0xff0 + 80000290: 0ffe8e9b addiw t4,t4,255 + 80000294: 010e9e93 slli t4,t4,0x10 + 80000298: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> + 8000029c: 010e9e93 slli t4,t4,0x10 + 800002a0: 0ffe8e93 addi t4,t4,255 + 800002a4: 00a00193 li gp,10 + 800002a8: 23d29063 bne t0,t4,800004c8 + +00000000800002ac : + 800002ac: 00002097 auipc ra,0x2 + 800002b0: d5408093 addi ra,ra,-684 # 80002000 + 800002b4: ffd08093 addi ra,ra,-3 + 800002b8: 00b0b283 ld t0,11(ra) + 800002bc: ff010eb7 lui t4,0xff010 + 800002c0: f01e8e9b addiw t4,t4,-255 + 800002c4: 010e9e93 slli t4,t4,0x10 + 800002c8: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f00dee1> + 800002cc: 010e9e93 slli t4,t4,0x10 + 800002d0: f00e8e93 addi t4,t4,-256 + 800002d4: 00b00193 li gp,11 + 800002d8: 1fd29863 bne t0,t4,800004c8 + +00000000800002dc : + 800002dc: 00c00193 li gp,12 + 800002e0: 00000213 li tp,0 + 800002e4: 00002097 auipc ra,0x2 + 800002e8: d2408093 addi ra,ra,-732 # 80002008 + 800002ec: 0080bf03 ld t5,8(ra) + 800002f0: 000f0313 mv t1,t5 + 800002f4: 00010eb7 lui t4,0x10 + 800002f8: f01e8e9b addiw t4,t4,-255 + 800002fc: 010e9e93 slli t4,t4,0x10 + 80000300: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff> + 80000304: 010e9e93 slli t4,t4,0x10 + 80000308: f01e8e93 addi t4,t4,-255 + 8000030c: 00ce9e93 slli t4,t4,0xc + 80000310: ff0e8e93 addi t4,t4,-16 + 80000314: 1bd31a63 bne t1,t4,800004c8 + 80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000031c: 00200293 li t0,2 + 80000320: fc5212e3 bne tp,t0,800002e4 + +0000000080000324 : + 80000324: 00d00193 li gp,13 + 80000328: 00000213 li tp,0 + 8000032c: 00002097 auipc ra,0x2 + 80000330: ce408093 addi ra,ra,-796 # 80002010 + 80000334: 0080bf03 ld t5,8(ra) + 80000338: 00000013 nop + 8000033c: 000f0313 mv t1,t5 + 80000340: ffff0eb7 lui t4,0xffff0 + 80000344: 0ffe8e9b addiw t4,t4,255 + 80000348: 010e9e93 slli t4,t4,0x10 + 8000034c: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffee0df> + 80000350: 010e9e93 slli t4,t4,0x10 + 80000354: 0ffe8e93 addi t4,t4,255 + 80000358: 00ce9e93 slli t4,t4,0xc + 8000035c: 00fe8e93 addi t4,t4,15 + 80000360: 17d31463 bne t1,t4,800004c8 + 80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000368: 00200293 li t0,2 + 8000036c: fc5210e3 bne tp,t0,8000032c + +0000000080000370 : + 80000370: 00e00193 li gp,14 + 80000374: 00000213 li tp,0 + 80000378: 00002097 auipc ra,0x2 + 8000037c: c8808093 addi ra,ra,-888 # 80002000 + 80000380: 0080bf03 ld t5,8(ra) + 80000384: 00000013 nop + 80000388: 00000013 nop + 8000038c: 000f0313 mv t1,t5 + 80000390: ff010eb7 lui t4,0xff010 + 80000394: f01e8e9b addiw t4,t4,-255 + 80000398: 010e9e93 slli t4,t4,0x10 + 8000039c: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f00dee1> + 800003a0: 010e9e93 slli t4,t4,0x10 + 800003a4: f00e8e93 addi t4,t4,-256 + 800003a8: 13d31063 bne t1,t4,800004c8 + 800003ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003b0: 00200293 li t0,2 + 800003b4: fc5212e3 bne tp,t0,80000378 + +00000000800003b8 : + 800003b8: 00f00193 li gp,15 + 800003bc: 00000213 li tp,0 + 800003c0: 00002097 auipc ra,0x2 + 800003c4: c4808093 addi ra,ra,-952 # 80002008 + 800003c8: 0080bf03 ld t5,8(ra) + 800003cc: 00010eb7 lui t4,0x10 + 800003d0: f01e8e9b addiw t4,t4,-255 + 800003d4: 010e9e93 slli t4,t4,0x10 + 800003d8: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff> + 800003dc: 010e9e93 slli t4,t4,0x10 + 800003e0: f01e8e93 addi t4,t4,-255 + 800003e4: 00ce9e93 slli t4,t4,0xc + 800003e8: ff0e8e93 addi t4,t4,-16 + 800003ec: 0ddf1e63 bne t5,t4,800004c8 + 800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f4: 00200293 li t0,2 + 800003f8: fc5214e3 bne tp,t0,800003c0 + +00000000800003fc : + 800003fc: 01000193 li gp,16 + 80000400: 00000213 li tp,0 + 80000404: 00002097 auipc ra,0x2 + 80000408: c0c08093 addi ra,ra,-1012 # 80002010 + 8000040c: 00000013 nop + 80000410: 0080bf03 ld t5,8(ra) + 80000414: ffff0eb7 lui t4,0xffff0 + 80000418: 0ffe8e9b addiw t4,t4,255 + 8000041c: 010e9e93 slli t4,t4,0x10 + 80000420: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffee0df> + 80000424: 010e9e93 slli t4,t4,0x10 + 80000428: 0ffe8e93 addi t4,t4,255 + 8000042c: 00ce9e93 slli t4,t4,0xc + 80000430: 00fe8e93 addi t4,t4,15 + 80000434: 09df1a63 bne t5,t4,800004c8 + 80000438: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000043c: 00200293 li t0,2 + 80000440: fc5212e3 bne tp,t0,80000404 + +0000000080000444 : + 80000444: 01100193 li gp,17 + 80000448: 00000213 li tp,0 + 8000044c: 00002097 auipc ra,0x2 + 80000450: bb408093 addi ra,ra,-1100 # 80002000 + 80000454: 00000013 nop + 80000458: 00000013 nop + 8000045c: 0080bf03 ld t5,8(ra) + 80000460: ff010eb7 lui t4,0xff010 + 80000464: f01e8e9b addiw t4,t4,-255 + 80000468: 010e9e93 slli t4,t4,0x10 + 8000046c: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f00dee1> + 80000470: 010e9e93 slli t4,t4,0x10 + 80000474: f00e8e93 addi t4,t4,-256 + 80000478: 05df1863 bne t5,t4,800004c8 + 8000047c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000480: 00200293 li t0,2 + 80000484: fc5214e3 bne tp,t0,8000044c + +0000000080000488 : + 80000488: 00002297 auipc t0,0x2 + 8000048c: b7828293 addi t0,t0,-1160 # 80002000 + 80000490: 0002b103 ld sp,0(t0) + 80000494: 00200113 li sp,2 + 80000498: 00200e93 li t4,2 + 8000049c: 01200193 li gp,18 + 800004a0: 03d11463 bne sp,t4,800004c8 + +00000000800004a4 : + 800004a4: 00002297 auipc t0,0x2 + 800004a8: b5c28293 addi t0,t0,-1188 # 80002000 + 800004ac: 0002b103 ld sp,0(t0) + 800004b0: 00000013 nop + 800004b4: 00200113 li sp,2 + 800004b8: 00200e93 li t4,2 + 800004bc: 01300193 li gp,19 + 800004c0: 01d11463 bne sp,t4,800004c8 + 800004c4: 00301c63 bne zero,gp,800004dc + +00000000800004c8 : + 800004c8: 0ff0000f fence + 800004cc: 00018063 beqz gp,800004cc + 800004d0: 00119193 slli gp,gp,0x1 + 800004d4: 0011e193 ori gp,gp,1 + 800004d8: 00000073 ecall + +00000000800004dc : + 800004dc: 0ff0000f fence + 800004e0: 00100193 li gp,1 + 800004e4: 00000073 ecall + 800004e8: c0001073 unimp + 800004ec: 0000 unimp + 800004ee: 0000 unimp + 800004f0: 0000 unimp + 800004f2: 0000 unimp + 800004f4: 0000 unimp + 800004f6: 0000 unimp + 800004f8: 0000 unimp + 800004fa: 0000 unimp + 800004fc: 0000 unimp + 800004fe: 0000 unimp + 80000500: 0000 unimp + 80000502: 0000 unimp + +Disassembly of section .data: + +0000000080002000 : + 80002000: 00ff 0xff + 80002002: 00ff 0xff + 80002004: 00ff 0xff + 80002006: 00ff 0xff + +0000000080002008 : + 80002008: ff00 sd s0,56(a4) + 8000200a: ff00 sd s0,56(a4) + 8000200c: ff00 sd s0,56(a4) + 8000200e: ff00 sd s0,56(a4) + +0000000080002010 : + 80002010: 0ff0 addi a2,sp,988 + 80002012: 0ff0 addi a2,sp,988 + 80002014: 0ff0 addi a2,sp,988 + 80002016: 0ff0 addi a2,sp,988 + +0000000080002018 : + 80002018: f00ff00f 0xf00ff00f + 8000201c: f00ff00f 0xf00ff00f diff --git a/test/riscv/tests/rv64ui-p-ld.elf b/test/riscv/tests/rv64ui-p-ld.elf new file mode 100755 index 00000000..5aa623b0 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-ld.elf differ diff --git a/test/riscv/tests/rv64ui-p-lh.dump b/test/riscv/tests/rv64ui-p-lh.dump new file mode 100644 index 00000000..214e5b07 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-lh.dump @@ -0,0 +1,327 @@ + +rv64ui-p-lh: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00002097 auipc ra,0x2 + 80000100: f0408093 addi ra,ra,-252 # 80002000 + 80000104: 00009f03 lh t5,0(ra) + 80000108: 0ff00e93 li t4,255 + 8000010c: 00200193 li gp,2 + 80000110: 25df1c63 bne t5,t4,80000368 + +0000000080000114 : + 80000114: 00002097 auipc ra,0x2 + 80000118: eec08093 addi ra,ra,-276 # 80002000 + 8000011c: 00209f03 lh t5,2(ra) + 80000120: f0000e93 li t4,-256 + 80000124: 00300193 li gp,3 + 80000128: 25df1063 bne t5,t4,80000368 + +000000008000012c : + 8000012c: 00002097 auipc ra,0x2 + 80000130: ed408093 addi ra,ra,-300 # 80002000 + 80000134: 00409f03 lh t5,4(ra) + 80000138: 00001eb7 lui t4,0x1 + 8000013c: ff0e8e9b addiw t4,t4,-16 + 80000140: 00400193 li gp,4 + 80000144: 23df1263 bne t5,t4,80000368 + +0000000080000148 : + 80000148: 00002097 auipc ra,0x2 + 8000014c: eb808093 addi ra,ra,-328 # 80002000 + 80000150: 00609f03 lh t5,6(ra) + 80000154: fffffeb7 lui t4,0xfffff + 80000158: 00fe8e9b addiw t4,t4,15 + 8000015c: 00500193 li gp,5 + 80000160: 21df1463 bne t5,t4,80000368 + +0000000080000164 : + 80000164: 00002097 auipc ra,0x2 + 80000168: ea208093 addi ra,ra,-350 # 80002006 + 8000016c: ffa09f03 lh t5,-6(ra) + 80000170: 0ff00e93 li t4,255 + 80000174: 00600193 li gp,6 + 80000178: 1fdf1863 bne t5,t4,80000368 + +000000008000017c : + 8000017c: 00002097 auipc ra,0x2 + 80000180: e8a08093 addi ra,ra,-374 # 80002006 + 80000184: ffc09f03 lh t5,-4(ra) + 80000188: f0000e93 li t4,-256 + 8000018c: 00700193 li gp,7 + 80000190: 1ddf1c63 bne t5,t4,80000368 + +0000000080000194 : + 80000194: 00002097 auipc ra,0x2 + 80000198: e7208093 addi ra,ra,-398 # 80002006 + 8000019c: ffe09f03 lh t5,-2(ra) + 800001a0: 00001eb7 lui t4,0x1 + 800001a4: ff0e8e9b addiw t4,t4,-16 + 800001a8: 00800193 li gp,8 + 800001ac: 1bdf1e63 bne t5,t4,80000368 + +00000000800001b0 : + 800001b0: 00002097 auipc ra,0x2 + 800001b4: e5608093 addi ra,ra,-426 # 80002006 + 800001b8: 00009f03 lh t5,0(ra) + 800001bc: fffffeb7 lui t4,0xfffff + 800001c0: 00fe8e9b addiw t4,t4,15 + 800001c4: 00900193 li gp,9 + 800001c8: 1bdf1063 bne t5,t4,80000368 + +00000000800001cc : + 800001cc: 00002097 auipc ra,0x2 + 800001d0: e3408093 addi ra,ra,-460 # 80002000 + 800001d4: fe008093 addi ra,ra,-32 + 800001d8: 02009283 lh t0,32(ra) + 800001dc: 0ff00e93 li t4,255 + 800001e0: 00a00193 li gp,10 + 800001e4: 19d29263 bne t0,t4,80000368 + +00000000800001e8 : + 800001e8: 00002097 auipc ra,0x2 + 800001ec: e1808093 addi ra,ra,-488 # 80002000 + 800001f0: ffb08093 addi ra,ra,-5 + 800001f4: 00709283 lh t0,7(ra) + 800001f8: f0000e93 li t4,-256 + 800001fc: 00b00193 li gp,11 + 80000200: 17d29463 bne t0,t4,80000368 + +0000000080000204 : + 80000204: 00c00193 li gp,12 + 80000208: 00000213 li tp,0 + 8000020c: 00002097 auipc ra,0x2 + 80000210: df608093 addi ra,ra,-522 # 80002002 + 80000214: 00209f03 lh t5,2(ra) + 80000218: 000f0313 mv t1,t5 + 8000021c: 00001eb7 lui t4,0x1 + 80000220: ff0e8e9b addiw t4,t4,-16 + 80000224: 15d31263 bne t1,t4,80000368 + 80000228: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000022c: 00200293 li t0,2 + 80000230: fc521ee3 bne tp,t0,8000020c + +0000000080000234 : + 80000234: 00d00193 li gp,13 + 80000238: 00000213 li tp,0 + 8000023c: 00002097 auipc ra,0x2 + 80000240: dc808093 addi ra,ra,-568 # 80002004 + 80000244: 00209f03 lh t5,2(ra) + 80000248: 00000013 nop + 8000024c: 000f0313 mv t1,t5 + 80000250: fffffeb7 lui t4,0xfffff + 80000254: 00fe8e9b addiw t4,t4,15 + 80000258: 11d31863 bne t1,t4,80000368 + 8000025c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000260: 00200293 li t0,2 + 80000264: fc521ce3 bne tp,t0,8000023c + +0000000080000268 : + 80000268: 00e00193 li gp,14 + 8000026c: 00000213 li tp,0 + 80000270: 00002097 auipc ra,0x2 + 80000274: d9008093 addi ra,ra,-624 # 80002000 + 80000278: 00209f03 lh t5,2(ra) + 8000027c: 00000013 nop + 80000280: 00000013 nop + 80000284: 000f0313 mv t1,t5 + 80000288: f0000e93 li t4,-256 + 8000028c: 0dd31e63 bne t1,t4,80000368 + 80000290: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000294: 00200293 li t0,2 + 80000298: fc521ce3 bne tp,t0,80000270 + +000000008000029c : + 8000029c: 00f00193 li gp,15 + 800002a0: 00000213 li tp,0 + 800002a4: 00002097 auipc ra,0x2 + 800002a8: d5e08093 addi ra,ra,-674 # 80002002 + 800002ac: 00209f03 lh t5,2(ra) + 800002b0: 00001eb7 lui t4,0x1 + 800002b4: ff0e8e9b addiw t4,t4,-16 + 800002b8: 0bdf1863 bne t5,t4,80000368 + 800002bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002c0: 00200293 li t0,2 + 800002c4: fe5210e3 bne tp,t0,800002a4 + +00000000800002c8 : + 800002c8: 01000193 li gp,16 + 800002cc: 00000213 li tp,0 + 800002d0: 00002097 auipc ra,0x2 + 800002d4: d3408093 addi ra,ra,-716 # 80002004 + 800002d8: 00000013 nop + 800002dc: 00209f03 lh t5,2(ra) + 800002e0: fffffeb7 lui t4,0xfffff + 800002e4: 00fe8e9b addiw t4,t4,15 + 800002e8: 09df1063 bne t5,t4,80000368 + 800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002f0: 00200293 li t0,2 + 800002f4: fc521ee3 bne tp,t0,800002d0 + +00000000800002f8 : + 800002f8: 01100193 li gp,17 + 800002fc: 00000213 li tp,0 + 80000300: 00002097 auipc ra,0x2 + 80000304: d0008093 addi ra,ra,-768 # 80002000 + 80000308: 00000013 nop + 8000030c: 00000013 nop + 80000310: 00209f03 lh t5,2(ra) + 80000314: f0000e93 li t4,-256 + 80000318: 05df1863 bne t5,t4,80000368 + 8000031c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000320: 00200293 li t0,2 + 80000324: fc521ee3 bne tp,t0,80000300 + +0000000080000328 : + 80000328: 00002297 auipc t0,0x2 + 8000032c: cd828293 addi t0,t0,-808 # 80002000 + 80000330: 00029103 lh sp,0(t0) + 80000334: 00200113 li sp,2 + 80000338: 00200e93 li t4,2 + 8000033c: 01200193 li gp,18 + 80000340: 03d11463 bne sp,t4,80000368 + +0000000080000344 : + 80000344: 00002297 auipc t0,0x2 + 80000348: cbc28293 addi t0,t0,-836 # 80002000 + 8000034c: 00029103 lh sp,0(t0) + 80000350: 00000013 nop + 80000354: 00200113 li sp,2 + 80000358: 00200e93 li t4,2 + 8000035c: 01300193 li gp,19 + 80000360: 01d11463 bne sp,t4,80000368 + 80000364: 00301c63 bne zero,gp,8000037c + +0000000080000368 : + 80000368: 0ff0000f fence + 8000036c: 00018063 beqz gp,8000036c + 80000370: 00119193 slli gp,gp,0x1 + 80000374: 0011e193 ori gp,gp,1 + 80000378: 00000073 ecall + +000000008000037c : + 8000037c: 0ff0000f fence + 80000380: 00100193 li gp,1 + 80000384: 00000073 ecall + 80000388: c0001073 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: + +0000000080002000 : + 80002000: 00ff 0xff + +0000000080002002 : + 80002002: ff00 sd s0,56(a4) + +0000000080002004 : + 80002004: 0ff0 addi a2,sp,988 + +0000000080002006 : + 80002006: 0000f00f 0xf00f + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-lh.elf b/test/riscv/tests/rv64ui-p-lh.elf new file mode 100755 index 00000000..30db6615 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-lh.elf differ diff --git a/test/riscv/tests/rv64ui-p-lhu.dump b/test/riscv/tests/rv64ui-p-lhu.dump new file mode 100644 index 00000000..6cc3defc --- /dev/null +++ b/test/riscv/tests/rv64ui-p-lhu.dump @@ -0,0 +1,322 @@ + +rv64ui-p-lhu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00002097 auipc ra,0x2 + 80000100: f0408093 addi ra,ra,-252 # 80002000 + 80000104: 0000df03 lhu t5,0(ra) + 80000108: 0ff00e93 li t4,255 + 8000010c: 00200193 li gp,2 + 80000110: 27df1663 bne t5,t4,8000037c + +0000000080000114 : + 80000114: 00002097 auipc ra,0x2 + 80000118: eec08093 addi ra,ra,-276 # 80002000 + 8000011c: 0020df03 lhu t5,2(ra) + 80000120: 00010eb7 lui t4,0x10 + 80000124: f00e8e9b addiw t4,t4,-256 + 80000128: 00300193 li gp,3 + 8000012c: 25df1863 bne t5,t4,8000037c + +0000000080000130 : + 80000130: 00002097 auipc ra,0x2 + 80000134: ed008093 addi ra,ra,-304 # 80002000 + 80000138: 0040df03 lhu t5,4(ra) + 8000013c: 00001eb7 lui t4,0x1 + 80000140: ff0e8e9b addiw t4,t4,-16 + 80000144: 00400193 li gp,4 + 80000148: 23df1a63 bne t5,t4,8000037c + +000000008000014c : + 8000014c: 00002097 auipc ra,0x2 + 80000150: eb408093 addi ra,ra,-332 # 80002000 + 80000154: 0060df03 lhu t5,6(ra) + 80000158: 0000feb7 lui t4,0xf + 8000015c: 00fe8e9b addiw t4,t4,15 + 80000160: 00500193 li gp,5 + 80000164: 21df1c63 bne t5,t4,8000037c + +0000000080000168 : + 80000168: 00002097 auipc ra,0x2 + 8000016c: e9e08093 addi ra,ra,-354 # 80002006 + 80000170: ffa0df03 lhu t5,-6(ra) + 80000174: 0ff00e93 li t4,255 + 80000178: 00600193 li gp,6 + 8000017c: 21df1063 bne t5,t4,8000037c + +0000000080000180 : + 80000180: 00002097 auipc ra,0x2 + 80000184: e8608093 addi ra,ra,-378 # 80002006 + 80000188: ffc0df03 lhu t5,-4(ra) + 8000018c: 00010eb7 lui t4,0x10 + 80000190: f00e8e9b addiw t4,t4,-256 + 80000194: 00700193 li gp,7 + 80000198: 1fdf1263 bne t5,t4,8000037c + +000000008000019c : + 8000019c: 00002097 auipc ra,0x2 + 800001a0: e6a08093 addi ra,ra,-406 # 80002006 + 800001a4: ffe0df03 lhu t5,-2(ra) + 800001a8: 00001eb7 lui t4,0x1 + 800001ac: ff0e8e9b addiw t4,t4,-16 + 800001b0: 00800193 li gp,8 + 800001b4: 1ddf1463 bne t5,t4,8000037c + +00000000800001b8 : + 800001b8: 00002097 auipc ra,0x2 + 800001bc: e4e08093 addi ra,ra,-434 # 80002006 + 800001c0: 0000df03 lhu t5,0(ra) + 800001c4: 0000feb7 lui t4,0xf + 800001c8: 00fe8e9b addiw t4,t4,15 + 800001cc: 00900193 li gp,9 + 800001d0: 1bdf1663 bne t5,t4,8000037c + +00000000800001d4 : + 800001d4: 00002097 auipc ra,0x2 + 800001d8: e2c08093 addi ra,ra,-468 # 80002000 + 800001dc: fe008093 addi ra,ra,-32 + 800001e0: 0200d283 lhu t0,32(ra) + 800001e4: 0ff00e93 li t4,255 + 800001e8: 00a00193 li gp,10 + 800001ec: 19d29863 bne t0,t4,8000037c + +00000000800001f0 : + 800001f0: 00002097 auipc ra,0x2 + 800001f4: e1008093 addi ra,ra,-496 # 80002000 + 800001f8: ffb08093 addi ra,ra,-5 + 800001fc: 0070d283 lhu t0,7(ra) + 80000200: 00010eb7 lui t4,0x10 + 80000204: f00e8e9b addiw t4,t4,-256 + 80000208: 00b00193 li gp,11 + 8000020c: 17d29863 bne t0,t4,8000037c + +0000000080000210 : + 80000210: 00c00193 li gp,12 + 80000214: 00000213 li tp,0 + 80000218: 00002097 auipc ra,0x2 + 8000021c: dea08093 addi ra,ra,-534 # 80002002 + 80000220: 0020df03 lhu t5,2(ra) + 80000224: 000f0313 mv t1,t5 + 80000228: 00001eb7 lui t4,0x1 + 8000022c: ff0e8e9b addiw t4,t4,-16 + 80000230: 15d31663 bne t1,t4,8000037c + 80000234: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000238: 00200293 li t0,2 + 8000023c: fc521ee3 bne tp,t0,80000218 + +0000000080000240 : + 80000240: 00d00193 li gp,13 + 80000244: 00000213 li tp,0 + 80000248: 00002097 auipc ra,0x2 + 8000024c: dbc08093 addi ra,ra,-580 # 80002004 + 80000250: 0020df03 lhu t5,2(ra) + 80000254: 00000013 nop + 80000258: 000f0313 mv t1,t5 + 8000025c: 0000feb7 lui t4,0xf + 80000260: 00fe8e9b addiw t4,t4,15 + 80000264: 11d31c63 bne t1,t4,8000037c + 80000268: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000026c: 00200293 li t0,2 + 80000270: fc521ce3 bne tp,t0,80000248 + +0000000080000274 : + 80000274: 00e00193 li gp,14 + 80000278: 00000213 li tp,0 + 8000027c: 00002097 auipc ra,0x2 + 80000280: d8408093 addi ra,ra,-636 # 80002000 + 80000284: 0020df03 lhu t5,2(ra) + 80000288: 00000013 nop + 8000028c: 00000013 nop + 80000290: 000f0313 mv t1,t5 + 80000294: 00010eb7 lui t4,0x10 + 80000298: f00e8e9b addiw t4,t4,-256 + 8000029c: 0fd31063 bne t1,t4,8000037c + 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a4: 00200293 li t0,2 + 800002a8: fc521ae3 bne tp,t0,8000027c + +00000000800002ac : + 800002ac: 00f00193 li gp,15 + 800002b0: 00000213 li tp,0 + 800002b4: 00002097 auipc ra,0x2 + 800002b8: d4e08093 addi ra,ra,-690 # 80002002 + 800002bc: 0020df03 lhu t5,2(ra) + 800002c0: 00001eb7 lui t4,0x1 + 800002c4: ff0e8e9b addiw t4,t4,-16 + 800002c8: 0bdf1a63 bne t5,t4,8000037c + 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002d0: 00200293 li t0,2 + 800002d4: fe5210e3 bne tp,t0,800002b4 + +00000000800002d8 : + 800002d8: 01000193 li gp,16 + 800002dc: 00000213 li tp,0 + 800002e0: 00002097 auipc ra,0x2 + 800002e4: d2408093 addi ra,ra,-732 # 80002004 + 800002e8: 00000013 nop + 800002ec: 0020df03 lhu t5,2(ra) + 800002f0: 0000feb7 lui t4,0xf + 800002f4: 00fe8e9b addiw t4,t4,15 + 800002f8: 09df1263 bne t5,t4,8000037c + 800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000300: 00200293 li t0,2 + 80000304: fc521ee3 bne tp,t0,800002e0 + +0000000080000308 : + 80000308: 01100193 li gp,17 + 8000030c: 00000213 li tp,0 + 80000310: 00002097 auipc ra,0x2 + 80000314: cf008093 addi ra,ra,-784 # 80002000 + 80000318: 00000013 nop + 8000031c: 00000013 nop + 80000320: 0020df03 lhu t5,2(ra) + 80000324: 00010eb7 lui t4,0x10 + 80000328: f00e8e9b addiw t4,t4,-256 + 8000032c: 05df1863 bne t5,t4,8000037c + 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000334: 00200293 li t0,2 + 80000338: fc521ce3 bne tp,t0,80000310 + +000000008000033c : + 8000033c: 00002297 auipc t0,0x2 + 80000340: cc428293 addi t0,t0,-828 # 80002000 + 80000344: 0002d103 lhu sp,0(t0) + 80000348: 00200113 li sp,2 + 8000034c: 00200e93 li t4,2 + 80000350: 01200193 li gp,18 + 80000354: 03d11463 bne sp,t4,8000037c + +0000000080000358 : + 80000358: 00002297 auipc t0,0x2 + 8000035c: ca828293 addi t0,t0,-856 # 80002000 + 80000360: 0002d103 lhu sp,0(t0) + 80000364: 00000013 nop + 80000368: 00200113 li sp,2 + 8000036c: 00200e93 li t4,2 + 80000370: 01300193 li gp,19 + 80000374: 01d11463 bne sp,t4,8000037c + 80000378: 00301c63 bne zero,gp,80000390 + +000000008000037c : + 8000037c: 0ff0000f fence + 80000380: 00018063 beqz gp,80000380 + 80000384: 00119193 slli gp,gp,0x1 + 80000388: 0011e193 ori gp,gp,1 + 8000038c: 00000073 ecall + +0000000080000390 : + 80000390: 0ff0000f fence + 80000394: 00100193 li gp,1 + 80000398: 00000073 ecall + 8000039c: c0001073 unimp + 800003a0: 0000 unimp + 800003a2: 0000 unimp + 800003a4: 0000 unimp + 800003a6: 0000 unimp + 800003a8: 0000 unimp + 800003aa: 0000 unimp + 800003ac: 0000 unimp + 800003ae: 0000 unimp + 800003b0: 0000 unimp + 800003b2: 0000 unimp + 800003b4: 0000 unimp + 800003b6: 0000 unimp + 800003b8: 0000 unimp + 800003ba: 0000 unimp + 800003bc: 0000 unimp + 800003be: 0000 unimp + 800003c0: 0000 unimp + 800003c2: 0000 unimp + +Disassembly of section .data: + +0000000080002000 : + 80002000: 00ff 0xff + +0000000080002002 : + 80002002: ff00 sd s0,56(a4) + +0000000080002004 : + 80002004: 0ff0 addi a2,sp,988 + +0000000080002006 : + 80002006: 0000f00f 0xf00f + 8000200a: 0000 unimp + 8000200c: 0000 unimp + 8000200e: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-lhu.elf b/test/riscv/tests/rv64ui-p-lhu.elf new file mode 100755 index 00000000..bae5bc05 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-lhu.elf differ diff --git a/test/riscv/tests/rv64ui-p-lui.dump b/test/riscv/tests/rv64ui-p-lui.dump new file mode 100644 index 00000000..329a3c5d --- /dev/null +++ b/test/riscv/tests/rv64ui-p-lui.dump @@ -0,0 +1,127 @@ + +rv64ui-p-lui: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 000000b7 lui ra,0x0 + 80000100: 00000e93 li t4,0 + 80000104: 00200193 li gp,2 + 80000108: 05d09a63 bne ra,t4,8000015c + +000000008000010c : + 8000010c: fffff0b7 lui ra,0xfffff + 80000110: 4010d093 srai ra,ra,0x1 + 80000114: 80000e93 li t4,-2048 + 80000118: 00300193 li gp,3 + 8000011c: 05d09063 bne ra,t4,8000015c + +0000000080000120 : + 80000120: 7ffff0b7 lui ra,0x7ffff + 80000124: 4140d093 srai ra,ra,0x14 + 80000128: 7ff00e93 li t4,2047 + 8000012c: 00400193 li gp,4 + 80000130: 03d09663 bne ra,t4,8000015c + +0000000080000134 : + 80000134: 800000b7 lui ra,0x80000 + 80000138: 4140d093 srai ra,ra,0x14 + 8000013c: 80000e93 li t4,-2048 + 80000140: 00500193 li gp,5 + 80000144: 01d09c63 bne ra,t4,8000015c + +0000000080000148 : + 80000148: 80000037 lui zero,0x80000 + 8000014c: 00000e93 li t4,0 + 80000150: 00600193 li gp,6 + 80000154: 01d01463 bne zero,t4,8000015c + 80000158: 00301c63 bne zero,gp,80000170 + +000000008000015c : + 8000015c: 0ff0000f fence + 80000160: 00018063 beqz gp,80000160 + 80000164: 00119193 slli gp,gp,0x1 + 80000168: 0011e193 ori gp,gp,1 + 8000016c: 00000073 ecall + +0000000080000170 : + 80000170: 0ff0000f fence + 80000174: 00100193 li gp,1 + 80000178: 00000073 ecall + 8000017c: c0001073 unimp + 80000180: 0000 unimp + 80000182: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-lui.elf b/test/riscv/tests/rv64ui-p-lui.elf new file mode 100755 index 00000000..4bf8d97b Binary files /dev/null and b/test/riscv/tests/rv64ui-p-lui.elf differ diff --git a/test/riscv/tests/rv64ui-p-lw.dump b/test/riscv/tests/rv64ui-p-lw.dump new file mode 100644 index 00000000..889c4521 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-lw.dump @@ -0,0 +1,319 @@ + +rv64ui-p-lw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00002097 auipc ra,0x2 + 80000100: f0408093 addi ra,ra,-252 # 80002000 + 80000104: 0000af03 lw t5,0(ra) + 80000108: 00ff0eb7 lui t4,0xff0 + 8000010c: 0ffe8e9b addiw t4,t4,255 + 80000110: 00200193 li gp,2 + 80000114: 27df1a63 bne t5,t4,80000388 + +0000000080000118 : + 80000118: 00002097 auipc ra,0x2 + 8000011c: ee808093 addi ra,ra,-280 # 80002000 + 80000120: 0040af03 lw t5,4(ra) + 80000124: ff010eb7 lui t4,0xff010 + 80000128: f00e8e9b addiw t4,t4,-256 + 8000012c: 00300193 li gp,3 + 80000130: 25df1c63 bne t5,t4,80000388 + +0000000080000134 : + 80000134: 00002097 auipc ra,0x2 + 80000138: ecc08093 addi ra,ra,-308 # 80002000 + 8000013c: 0080af03 lw t5,8(ra) + 80000140: 0ff01eb7 lui t4,0xff01 + 80000144: ff0e8e9b addiw t4,t4,-16 + 80000148: 00400193 li gp,4 + 8000014c: 23df1e63 bne t5,t4,80000388 + +0000000080000150 : + 80000150: 00002097 auipc ra,0x2 + 80000154: eb008093 addi ra,ra,-336 # 80002000 + 80000158: 00c0af03 lw t5,12(ra) + 8000015c: f00ffeb7 lui t4,0xf00ff + 80000160: 00fe8e9b addiw t4,t4,15 + 80000164: 00500193 li gp,5 + 80000168: 23df1063 bne t5,t4,80000388 + +000000008000016c : + 8000016c: 00002097 auipc ra,0x2 + 80000170: ea008093 addi ra,ra,-352 # 8000200c + 80000174: ff40af03 lw t5,-12(ra) + 80000178: 00ff0eb7 lui t4,0xff0 + 8000017c: 0ffe8e9b addiw t4,t4,255 + 80000180: 00600193 li gp,6 + 80000184: 21df1263 bne t5,t4,80000388 + +0000000080000188 : + 80000188: 00002097 auipc ra,0x2 + 8000018c: e8408093 addi ra,ra,-380 # 8000200c + 80000190: ff80af03 lw t5,-8(ra) + 80000194: ff010eb7 lui t4,0xff010 + 80000198: f00e8e9b addiw t4,t4,-256 + 8000019c: 00700193 li gp,7 + 800001a0: 1fdf1463 bne t5,t4,80000388 + +00000000800001a4 : + 800001a4: 00002097 auipc ra,0x2 + 800001a8: e6808093 addi ra,ra,-408 # 8000200c + 800001ac: ffc0af03 lw t5,-4(ra) + 800001b0: 0ff01eb7 lui t4,0xff01 + 800001b4: ff0e8e9b addiw t4,t4,-16 + 800001b8: 00800193 li gp,8 + 800001bc: 1ddf1663 bne t5,t4,80000388 + +00000000800001c0 : + 800001c0: 00002097 auipc ra,0x2 + 800001c4: e4c08093 addi ra,ra,-436 # 8000200c + 800001c8: 0000af03 lw t5,0(ra) + 800001cc: f00ffeb7 lui t4,0xf00ff + 800001d0: 00fe8e9b addiw t4,t4,15 + 800001d4: 00900193 li gp,9 + 800001d8: 1bdf1863 bne t5,t4,80000388 + +00000000800001dc : + 800001dc: 00002097 auipc ra,0x2 + 800001e0: e2408093 addi ra,ra,-476 # 80002000 + 800001e4: fe008093 addi ra,ra,-32 + 800001e8: 0200a283 lw t0,32(ra) + 800001ec: 00ff0eb7 lui t4,0xff0 + 800001f0: 0ffe8e9b addiw t4,t4,255 + 800001f4: 00a00193 li gp,10 + 800001f8: 19d29863 bne t0,t4,80000388 + +00000000800001fc : + 800001fc: 00002097 auipc ra,0x2 + 80000200: e0408093 addi ra,ra,-508 # 80002000 + 80000204: ffd08093 addi ra,ra,-3 + 80000208: 0070a283 lw t0,7(ra) + 8000020c: ff010eb7 lui t4,0xff010 + 80000210: f00e8e9b addiw t4,t4,-256 + 80000214: 00b00193 li gp,11 + 80000218: 17d29863 bne t0,t4,80000388 + +000000008000021c : + 8000021c: 00c00193 li gp,12 + 80000220: 00000213 li tp,0 + 80000224: 00002097 auipc ra,0x2 + 80000228: de008093 addi ra,ra,-544 # 80002004 + 8000022c: 0040af03 lw t5,4(ra) + 80000230: 000f0313 mv t1,t5 + 80000234: 0ff01eb7 lui t4,0xff01 + 80000238: ff0e8e9b addiw t4,t4,-16 + 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 + +000000008000024c : + 8000024c: 00d00193 li gp,13 + 80000250: 00000213 li tp,0 + 80000254: 00002097 auipc ra,0x2 + 80000258: db408093 addi ra,ra,-588 # 80002008 + 8000025c: 0040af03 lw t5,4(ra) + 80000260: 00000013 nop + 80000264: 000f0313 mv t1,t5 + 80000268: f00ffeb7 lui t4,0xf00ff + 8000026c: 00fe8e9b addiw t4,t4,15 + 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 + +0000000080000280 : + 80000280: 00e00193 li gp,14 + 80000284: 00000213 li tp,0 + 80000288: 00002097 auipc ra,0x2 + 8000028c: d7808093 addi ra,ra,-648 # 80002000 + 80000290: 0040af03 lw t5,4(ra) + 80000294: 00000013 nop + 80000298: 00000013 nop + 8000029c: 000f0313 mv t1,t5 + 800002a0: ff010eb7 lui t4,0xff010 + 800002a4: f00e8e9b addiw t4,t4,-256 + 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 + +00000000800002b8 : + 800002b8: 00f00193 li gp,15 + 800002bc: 00000213 li tp,0 + 800002c0: 00002097 auipc ra,0x2 + 800002c4: d4408093 addi ra,ra,-700 # 80002004 + 800002c8: 0040af03 lw t5,4(ra) + 800002cc: 0ff01eb7 lui t4,0xff01 + 800002d0: ff0e8e9b addiw t4,t4,-16 + 800002d4: 0bdf1a63 bne t5,t4,80000388 + 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002dc: 00200293 li t0,2 + 800002e0: fe5210e3 bne tp,t0,800002c0 + +00000000800002e4 : + 800002e4: 01000193 li gp,16 + 800002e8: 00000213 li tp,0 + 800002ec: 00002097 auipc ra,0x2 + 800002f0: d1c08093 addi ra,ra,-740 # 80002008 + 800002f4: 00000013 nop + 800002f8: 0040af03 lw t5,4(ra) + 800002fc: f00ffeb7 lui t4,0xf00ff + 80000300: 00fe8e9b addiw t4,t4,15 + 80000304: 09df1263 bne t5,t4,80000388 + 80000308: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000030c: 00200293 li t0,2 + 80000310: fc521ee3 bne tp,t0,800002ec + +0000000080000314 : + 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: 0040af03 lw t5,4(ra) + 80000330: ff010eb7 lui t4,0xff010 + 80000334: f00e8e9b addiw t4,t4,-256 + 80000338: 05df1863 bne t5,t4,80000388 + 8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000340: 00200293 li t0,2 + 80000344: fc521ce3 bne tp,t0,8000031c + +0000000080000348 : + 80000348: 00002297 auipc t0,0x2 + 8000034c: cb828293 addi t0,t0,-840 # 80002000 + 80000350: 0002a103 lw sp,0(t0) + 80000354: 00200113 li sp,2 + 80000358: 00200e93 li t4,2 + 8000035c: 01200193 li gp,18 + 80000360: 03d11463 bne sp,t4,80000388 + +0000000080000364 : + 80000364: 00002297 auipc t0,0x2 + 80000368: c9c28293 addi t0,t0,-868 # 80002000 + 8000036c: 0002a103 lw 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: 00301c63 bne zero,gp,8000039c + +0000000080000388 : + 80000388: 0ff0000f fence + 8000038c: 00018063 beqz gp,8000038c + 80000390: 00119193 slli gp,gp,0x1 + 80000394: 0011e193 ori gp,gp,1 + 80000398: 00000073 ecall + +000000008000039c : + 8000039c: 0ff0000f fence + 800003a0: 00100193 li gp,1 + 800003a4: 00000073 ecall + 800003a8: c0001073 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: + +0000000080002000 : + 80002000: 00ff 0xff + 80002002: 00ff 0xff + +0000000080002004 : + 80002004: ff00 sd s0,56(a4) + 80002006: ff00 sd s0,56(a4) + +0000000080002008 : + 80002008: 0ff0 addi a2,sp,988 + 8000200a: 0ff0 addi a2,sp,988 + +000000008000200c : + 8000200c: f00ff00f 0xf00ff00f diff --git a/test/riscv/tests/rv64ui-p-lw.elf b/test/riscv/tests/rv64ui-p-lw.elf new file mode 100755 index 00000000..d371f1c9 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-lw.elf differ diff --git a/test/riscv/tests/rv64ui-p-lwu.dump b/test/riscv/tests/rv64ui-p-lwu.dump new file mode 100644 index 00000000..21f50ee3 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-lwu.dump @@ -0,0 +1,333 @@ + +rv64ui-p-lwu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00002097 auipc ra,0x2 + 80000100: f0408093 addi ra,ra,-252 # 80002000 + 80000104: 0000ef03 lwu t5,0(ra) + 80000108: 00ff0eb7 lui t4,0xff0 + 8000010c: 0ffe8e9b addiw t4,t4,255 + 80000110: 00200193 li gp,2 + 80000114: 2bdf1e63 bne t5,t4,800003d0 + +0000000080000118 : + 80000118: 00002097 auipc ra,0x2 + 8000011c: ee808093 addi ra,ra,-280 # 80002000 + 80000120: 0040ef03 lwu t5,4(ra) + 80000124: 00010eb7 lui t4,0x10 + 80000128: f01e8e9b addiw t4,t4,-255 + 8000012c: 010e9e93 slli t4,t4,0x10 + 80000130: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80000134: 00300193 li gp,3 + 80000138: 29df1c63 bne t5,t4,800003d0 + +000000008000013c : + 8000013c: 00002097 auipc ra,0x2 + 80000140: ec408093 addi ra,ra,-316 # 80002000 + 80000144: 0080ef03 lwu t5,8(ra) + 80000148: 0ff01eb7 lui t4,0xff01 + 8000014c: ff0e8e9b addiw t4,t4,-16 + 80000150: 00400193 li gp,4 + 80000154: 27df1e63 bne t5,t4,800003d0 + +0000000080000158 : + 80000158: 00002097 auipc ra,0x2 + 8000015c: ea808093 addi ra,ra,-344 # 80002000 + 80000160: 00c0ef03 lwu t5,12(ra) + 80000164: 000f0eb7 lui t4,0xf0 + 80000168: 0ffe8e9b addiw t4,t4,255 + 8000016c: 00ce9e93 slli t4,t4,0xc + 80000170: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80000174: 00500193 li gp,5 + 80000178: 25df1c63 bne t5,t4,800003d0 + +000000008000017c : + 8000017c: 00002097 auipc ra,0x2 + 80000180: e9008093 addi ra,ra,-368 # 8000200c + 80000184: ff40ef03 lwu t5,-12(ra) + 80000188: 00ff0eb7 lui t4,0xff0 + 8000018c: 0ffe8e9b addiw t4,t4,255 + 80000190: 00600193 li gp,6 + 80000194: 23df1e63 bne t5,t4,800003d0 + +0000000080000198 : + 80000198: 00002097 auipc ra,0x2 + 8000019c: e7408093 addi ra,ra,-396 # 8000200c + 800001a0: ff80ef03 lwu t5,-8(ra) + 800001a4: 00010eb7 lui t4,0x10 + 800001a8: f01e8e9b addiw t4,t4,-255 + 800001ac: 010e9e93 slli t4,t4,0x10 + 800001b0: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 800001b4: 00700193 li gp,7 + 800001b8: 21df1c63 bne t5,t4,800003d0 + +00000000800001bc : + 800001bc: 00002097 auipc ra,0x2 + 800001c0: e5008093 addi ra,ra,-432 # 8000200c + 800001c4: ffc0ef03 lwu t5,-4(ra) + 800001c8: 0ff01eb7 lui t4,0xff01 + 800001cc: ff0e8e9b addiw t4,t4,-16 + 800001d0: 00800193 li gp,8 + 800001d4: 1fdf1e63 bne t5,t4,800003d0 + +00000000800001d8 : + 800001d8: 00002097 auipc ra,0x2 + 800001dc: e3408093 addi ra,ra,-460 # 8000200c + 800001e0: 0000ef03 lwu t5,0(ra) + 800001e4: 000f0eb7 lui t4,0xf0 + 800001e8: 0ffe8e9b addiw t4,t4,255 + 800001ec: 00ce9e93 slli t4,t4,0xc + 800001f0: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 800001f4: 00900193 li gp,9 + 800001f8: 1ddf1c63 bne t5,t4,800003d0 + +00000000800001fc : + 800001fc: 00002097 auipc ra,0x2 + 80000200: e0408093 addi ra,ra,-508 # 80002000 + 80000204: fe008093 addi ra,ra,-32 + 80000208: 0200e283 lwu t0,32(ra) + 8000020c: 00ff0eb7 lui t4,0xff0 + 80000210: 0ffe8e9b addiw t4,t4,255 + 80000214: 00a00193 li gp,10 + 80000218: 1bd29c63 bne t0,t4,800003d0 + +000000008000021c : + 8000021c: 00002097 auipc ra,0x2 + 80000220: de408093 addi ra,ra,-540 # 80002000 + 80000224: ffd08093 addi ra,ra,-3 + 80000228: 0070e283 lwu t0,7(ra) + 8000022c: 00010eb7 lui t4,0x10 + 80000230: f01e8e9b addiw t4,t4,-255 + 80000234: 010e9e93 slli t4,t4,0x10 + 80000238: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 8000023c: 00b00193 li gp,11 + 80000240: 19d29863 bne t0,t4,800003d0 + +0000000080000244 : + 80000244: 00c00193 li gp,12 + 80000248: 00000213 li tp,0 + 8000024c: 00002097 auipc ra,0x2 + 80000250: db808093 addi ra,ra,-584 # 80002004 + 80000254: 0040ef03 lwu t5,4(ra) + 80000258: 000f0313 mv t1,t5 + 8000025c: 0ff01eb7 lui t4,0xff01 + 80000260: ff0e8e9b addiw t4,t4,-16 + 80000264: 17d31663 bne t1,t4,800003d0 + 80000268: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000026c: 00200293 li t0,2 + 80000270: fc521ee3 bne tp,t0,8000024c + +0000000080000274 : + 80000274: 00d00193 li gp,13 + 80000278: 00000213 li tp,0 + 8000027c: 00002097 auipc ra,0x2 + 80000280: d8c08093 addi ra,ra,-628 # 80002008 + 80000284: 0040ef03 lwu t5,4(ra) + 80000288: 00000013 nop + 8000028c: 000f0313 mv t1,t5 + 80000290: 000f0eb7 lui t4,0xf0 + 80000294: 0ffe8e9b addiw t4,t4,255 + 80000298: 00ce9e93 slli t4,t4,0xc + 8000029c: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 800002a0: 13d31863 bne t1,t4,800003d0 + 800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a8: 00200293 li t0,2 + 800002ac: fc5218e3 bne tp,t0,8000027c + +00000000800002b0 : + 800002b0: 00e00193 li gp,14 + 800002b4: 00000213 li tp,0 + 800002b8: 00002097 auipc ra,0x2 + 800002bc: d4808093 addi ra,ra,-696 # 80002000 + 800002c0: 0040ef03 lwu t5,4(ra) + 800002c4: 00000013 nop + 800002c8: 00000013 nop + 800002cc: 000f0313 mv t1,t5 + 800002d0: 00010eb7 lui t4,0x10 + 800002d4: f01e8e9b addiw t4,t4,-255 + 800002d8: 010e9e93 slli t4,t4,0x10 + 800002dc: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 800002e0: 0fd31863 bne t1,t4,800003d0 + 800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002e8: 00200293 li t0,2 + 800002ec: fc5216e3 bne tp,t0,800002b8 + +00000000800002f0 : + 800002f0: 00f00193 li gp,15 + 800002f4: 00000213 li tp,0 + 800002f8: 00002097 auipc ra,0x2 + 800002fc: d0c08093 addi ra,ra,-756 # 80002004 + 80000300: 0040ef03 lwu t5,4(ra) + 80000304: 0ff01eb7 lui t4,0xff01 + 80000308: ff0e8e9b addiw t4,t4,-16 + 8000030c: 0ddf1263 bne t5,t4,800003d0 + 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000314: 00200293 li t0,2 + 80000318: fe5210e3 bne tp,t0,800002f8 + +000000008000031c : + 8000031c: 01000193 li gp,16 + 80000320: 00000213 li tp,0 + 80000324: 00002097 auipc ra,0x2 + 80000328: ce408093 addi ra,ra,-796 # 80002008 + 8000032c: 00000013 nop + 80000330: 0040ef03 lwu t5,4(ra) + 80000334: 000f0eb7 lui t4,0xf0 + 80000338: 0ffe8e9b addiw t4,t4,255 + 8000033c: 00ce9e93 slli t4,t4,0xc + 80000340: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80000344: 09df1663 bne t5,t4,800003d0 + 80000348: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000034c: 00200293 li t0,2 + 80000350: fc521ae3 bne tp,t0,80000324 + +0000000080000354 : + 80000354: 01100193 li gp,17 + 80000358: 00000213 li tp,0 + 8000035c: 00002097 auipc ra,0x2 + 80000360: ca408093 addi ra,ra,-860 # 80002000 + 80000364: 00000013 nop + 80000368: 00000013 nop + 8000036c: 0040ef03 lwu t5,4(ra) + 80000370: 00010eb7 lui t4,0x10 + 80000374: f01e8e9b addiw t4,t4,-255 + 80000378: 010e9e93 slli t4,t4,0x10 + 8000037c: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80000380: 05df1863 bne t5,t4,800003d0 + 80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000388: 00200293 li t0,2 + 8000038c: fc5218e3 bne tp,t0,8000035c + +0000000080000390 : + 80000390: 00002297 auipc t0,0x2 + 80000394: c7028293 addi t0,t0,-912 # 80002000 + 80000398: 0002e103 lwu sp,0(t0) + 8000039c: 00200113 li sp,2 + 800003a0: 00200e93 li t4,2 + 800003a4: 01200193 li gp,18 + 800003a8: 03d11463 bne sp,t4,800003d0 + +00000000800003ac : + 800003ac: 00002297 auipc t0,0x2 + 800003b0: c5428293 addi t0,t0,-940 # 80002000 + 800003b4: 0002e103 lwu sp,0(t0) + 800003b8: 00000013 nop + 800003bc: 00200113 li sp,2 + 800003c0: 00200e93 li t4,2 + 800003c4: 01300193 li gp,19 + 800003c8: 01d11463 bne sp,t4,800003d0 + 800003cc: 00301c63 bne zero,gp,800003e4 + +00000000800003d0 : + 800003d0: 0ff0000f fence + 800003d4: 00018063 beqz gp,800003d4 + 800003d8: 00119193 slli gp,gp,0x1 + 800003dc: 0011e193 ori gp,gp,1 + 800003e0: 00000073 ecall + +00000000800003e4 : + 800003e4: 0ff0000f fence + 800003e8: 00100193 li gp,1 + 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 + +Disassembly of section .data: + +0000000080002000 : + 80002000: 00ff 0xff + 80002002: 00ff 0xff + +0000000080002004 : + 80002004: ff00 sd s0,56(a4) + 80002006: ff00 sd s0,56(a4) + +0000000080002008 : + 80002008: 0ff0 addi a2,sp,988 + 8000200a: 0ff0 addi a2,sp,988 + +000000008000200c : + 8000200c: f00ff00f 0xf00ff00f diff --git a/test/riscv/tests/rv64ui-p-lwu.elf b/test/riscv/tests/rv64ui-p-lwu.elf new file mode 100755 index 00000000..c7fedede Binary files /dev/null and b/test/riscv/tests/rv64ui-p-lwu.elf differ diff --git a/test/riscv/tests/rv64ui-p-or.dump b/test/riscv/tests/rv64ui-p-or.dump new file mode 100644 index 00000000..4ca0b79b --- /dev/null +++ b/test/riscv/tests/rv64ui-p-or.dump @@ -0,0 +1,522 @@ + +rv64ui-p-or: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 000100b7 lui ra,0x10 + 80000100: f010809b addiw ra,ra,-255 + 80000104: 01009093 slli ra,ra,0x10 + 80000108: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 8000010c: 0f0f1137 lui sp,0xf0f1 + 80000110: f0f1011b addiw sp,sp,-241 + 80000114: 0020ef33 or t5,ra,sp + 80000118: 00001eb7 lui t4,0x1 + 8000011c: ff1e8e9b addiw t4,t4,-15 + 80000120: 014e9e93 slli t4,t4,0x14 + 80000124: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80000128: 00200193 li gp,2 + 8000012c: 5bdf1663 bne t5,t4,800006d8 + +0000000080000130 : + 80000130: 0ff010b7 lui ra,0xff01 + 80000134: ff00809b addiw ra,ra,-16 + 80000138: 000f1137 lui sp,0xf1 + 8000013c: f0f1011b addiw sp,sp,-241 + 80000140: 00c11113 slli sp,sp,0xc + 80000144: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80000148: 0020ef33 or t5,ra,sp + 8000014c: 00010eb7 lui t4,0x10 + 80000150: ff1e8e9b addiw t4,t4,-15 + 80000154: 010e9e93 slli t4,t4,0x10 + 80000158: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 8000015c: 00300193 li gp,3 + 80000160: 57df1c63 bne t5,t4,800006d8 + +0000000080000164 : + 80000164: 00ff00b7 lui ra,0xff0 + 80000168: 0ff0809b addiw ra,ra,255 + 8000016c: 0f0f1137 lui sp,0xf0f1 + 80000170: f0f1011b addiw sp,sp,-241 + 80000174: 0020ef33 or t5,ra,sp + 80000178: 0fff1eb7 lui t4,0xfff1 + 8000017c: fffe8e9b addiw t4,t4,-1 + 80000180: 00400193 li gp,4 + 80000184: 55df1a63 bne t5,t4,800006d8 + +0000000080000188 : + 80000188: 000f00b7 lui ra,0xf0 + 8000018c: 0ff0809b addiw ra,ra,255 + 80000190: 00c09093 slli ra,ra,0xc + 80000194: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 80000198: 000f1137 lui sp,0xf1 + 8000019c: f0f1011b addiw sp,sp,-241 + 800001a0: 00c11113 slli sp,sp,0xc + 800001a4: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 800001a8: 0020ef33 or t5,ra,sp + 800001ac: 000f1eb7 lui t4,0xf1 + 800001b0: fffe8e9b addiw t4,t4,-1 + 800001b4: 00ce9e93 slli t4,t4,0xc + 800001b8: 0ffe8e93 addi t4,t4,255 # f10ff <_start-0x7ff0ef01> + 800001bc: 00500193 li gp,5 + 800001c0: 51df1c63 bne t5,t4,800006d8 + +00000000800001c4 : + 800001c4: 000100b7 lui ra,0x10 + 800001c8: f010809b addiw ra,ra,-255 + 800001cc: 01009093 slli ra,ra,0x10 + 800001d0: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 800001d4: 0f0f1137 lui sp,0xf0f1 + 800001d8: f0f1011b addiw sp,sp,-241 + 800001dc: 0020e0b3 or ra,ra,sp + 800001e0: 00001eb7 lui t4,0x1 + 800001e4: ff1e8e9b addiw t4,t4,-15 + 800001e8: 014e9e93 slli t4,t4,0x14 + 800001ec: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 800001f0: 00600193 li gp,6 + 800001f4: 4fd09263 bne ra,t4,800006d8 + +00000000800001f8 : + 800001f8: 000100b7 lui ra,0x10 + 800001fc: f010809b addiw ra,ra,-255 + 80000200: 01009093 slli ra,ra,0x10 + 80000204: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000208: 0f0f1137 lui sp,0xf0f1 + 8000020c: f0f1011b addiw sp,sp,-241 + 80000210: 0020e133 or sp,ra,sp + 80000214: 00001eb7 lui t4,0x1 + 80000218: ff1e8e9b addiw t4,t4,-15 + 8000021c: 014e9e93 slli t4,t4,0x14 + 80000220: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80000224: 00700193 li gp,7 + 80000228: 4bd11863 bne sp,t4,800006d8 + +000000008000022c : + 8000022c: 000100b7 lui ra,0x10 + 80000230: f010809b addiw ra,ra,-255 + 80000234: 01009093 slli ra,ra,0x10 + 80000238: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 8000023c: 0010e0b3 or ra,ra,ra + 80000240: 00010eb7 lui t4,0x10 + 80000244: f01e8e9b addiw t4,t4,-255 + 80000248: 010e9e93 slli t4,t4,0x10 + 8000024c: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80000250: 00800193 li gp,8 + 80000254: 49d09263 bne ra,t4,800006d8 + +0000000080000258 : + 80000258: 00000213 li tp,0 + 8000025c: 000100b7 lui ra,0x10 + 80000260: f010809b addiw ra,ra,-255 + 80000264: 01009093 slli ra,ra,0x10 + 80000268: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 8000026c: 0f0f1137 lui sp,0xf0f1 + 80000270: f0f1011b addiw sp,sp,-241 + 80000274: 0020ef33 or t5,ra,sp + 80000278: 000f0313 mv t1,t5 + 8000027c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000280: 00200293 li t0,2 + 80000284: fc521ce3 bne tp,t0,8000025c + 80000288: 00001eb7 lui t4,0x1 + 8000028c: ff1e8e9b addiw t4,t4,-15 + 80000290: 014e9e93 slli t4,t4,0x14 + 80000294: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80000298: 00900193 li gp,9 + 8000029c: 43d31e63 bne t1,t4,800006d8 + +00000000800002a0 : + 800002a0: 00000213 li tp,0 + 800002a4: 0ff010b7 lui ra,0xff01 + 800002a8: ff00809b addiw ra,ra,-16 + 800002ac: 000f1137 lui sp,0xf1 + 800002b0: f0f1011b addiw sp,sp,-241 + 800002b4: 00c11113 slli sp,sp,0xc + 800002b8: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 800002bc: 0020ef33 or t5,ra,sp + 800002c0: 00000013 nop + 800002c4: 000f0313 mv t1,t5 + 800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002cc: 00200293 li t0,2 + 800002d0: fc521ae3 bne tp,t0,800002a4 + 800002d4: 00010eb7 lui t4,0x10 + 800002d8: ff1e8e9b addiw t4,t4,-15 + 800002dc: 010e9e93 slli t4,t4,0x10 + 800002e0: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 800002e4: 00a00193 li gp,10 + 800002e8: 3fd31863 bne t1,t4,800006d8 + +00000000800002ec : + 800002ec: 00000213 li tp,0 + 800002f0: 00ff00b7 lui ra,0xff0 + 800002f4: 0ff0809b addiw ra,ra,255 + 800002f8: 0f0f1137 lui sp,0xf0f1 + 800002fc: f0f1011b addiw sp,sp,-241 + 80000300: 0020ef33 or t5,ra,sp + 80000304: 00000013 nop + 80000308: 00000013 nop + 8000030c: 000f0313 mv t1,t5 + 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000314: 00200293 li t0,2 + 80000318: fc521ce3 bne tp,t0,800002f0 + 8000031c: 0fff1eb7 lui t4,0xfff1 + 80000320: fffe8e9b addiw t4,t4,-1 + 80000324: 00b00193 li gp,11 + 80000328: 3bd31863 bne t1,t4,800006d8 + +000000008000032c : + 8000032c: 00000213 li tp,0 + 80000330: 000100b7 lui ra,0x10 + 80000334: f010809b addiw ra,ra,-255 + 80000338: 01009093 slli ra,ra,0x10 + 8000033c: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000340: 0f0f1137 lui sp,0xf0f1 + 80000344: f0f1011b addiw sp,sp,-241 + 80000348: 0020ef33 or t5,ra,sp + 8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000350: 00200293 li t0,2 + 80000354: fc521ee3 bne tp,t0,80000330 + 80000358: 00001eb7 lui t4,0x1 + 8000035c: ff1e8e9b addiw t4,t4,-15 + 80000360: 014e9e93 slli t4,t4,0x14 + 80000364: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80000368: 00c00193 li gp,12 + 8000036c: 37df1663 bne t5,t4,800006d8 + +0000000080000370 : + 80000370: 00000213 li tp,0 + 80000374: 0ff010b7 lui ra,0xff01 + 80000378: ff00809b addiw ra,ra,-16 + 8000037c: 000f1137 lui sp,0xf1 + 80000380: f0f1011b addiw sp,sp,-241 + 80000384: 00c11113 slli sp,sp,0xc + 80000388: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 8000038c: 00000013 nop + 80000390: 0020ef33 or t5,ra,sp + 80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000398: 00200293 li t0,2 + 8000039c: fc521ce3 bne tp,t0,80000374 + 800003a0: 00010eb7 lui t4,0x10 + 800003a4: ff1e8e9b addiw t4,t4,-15 + 800003a8: 010e9e93 slli t4,t4,0x10 + 800003ac: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 800003b0: 00d00193 li gp,13 + 800003b4: 33df1263 bne t5,t4,800006d8 + +00000000800003b8 : + 800003b8: 00000213 li tp,0 + 800003bc: 00ff00b7 lui ra,0xff0 + 800003c0: 0ff0809b addiw ra,ra,255 + 800003c4: 0f0f1137 lui sp,0xf0f1 + 800003c8: f0f1011b addiw sp,sp,-241 + 800003cc: 00000013 nop + 800003d0: 00000013 nop + 800003d4: 0020ef33 or t5,ra,sp + 800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003dc: 00200293 li t0,2 + 800003e0: fc521ee3 bne tp,t0,800003bc + 800003e4: 0fff1eb7 lui t4,0xfff1 + 800003e8: fffe8e9b addiw t4,t4,-1 + 800003ec: 00e00193 li gp,14 + 800003f0: 2fdf1463 bne t5,t4,800006d8 + +00000000800003f4 : + 800003f4: 00000213 li tp,0 + 800003f8: 000100b7 lui ra,0x10 + 800003fc: f010809b addiw ra,ra,-255 + 80000400: 01009093 slli ra,ra,0x10 + 80000404: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000408: 00000013 nop + 8000040c: 0f0f1137 lui sp,0xf0f1 + 80000410: f0f1011b addiw sp,sp,-241 + 80000414: 0020ef33 or t5,ra,sp + 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000041c: 00200293 li t0,2 + 80000420: fc521ce3 bne tp,t0,800003f8 + 80000424: 00001eb7 lui t4,0x1 + 80000428: ff1e8e9b addiw t4,t4,-15 + 8000042c: 014e9e93 slli t4,t4,0x14 + 80000430: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80000434: 00f00193 li gp,15 + 80000438: 2bdf1063 bne t5,t4,800006d8 + +000000008000043c : + 8000043c: 00000213 li tp,0 + 80000440: 0ff010b7 lui ra,0xff01 + 80000444: ff00809b addiw ra,ra,-16 + 80000448: 00000013 nop + 8000044c: 000f1137 lui sp,0xf1 + 80000450: f0f1011b addiw sp,sp,-241 + 80000454: 00c11113 slli sp,sp,0xc + 80000458: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 8000045c: 00000013 nop + 80000460: 0020ef33 or t5,ra,sp + 80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000468: 00200293 li t0,2 + 8000046c: fc521ae3 bne tp,t0,80000440 + 80000470: 00010eb7 lui t4,0x10 + 80000474: ff1e8e9b addiw t4,t4,-15 + 80000478: 010e9e93 slli t4,t4,0x10 + 8000047c: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 80000480: 01000193 li gp,16 + 80000484: 25df1a63 bne t5,t4,800006d8 + +0000000080000488 : + 80000488: 00000213 li tp,0 + 8000048c: 00ff00b7 lui ra,0xff0 + 80000490: 0ff0809b addiw ra,ra,255 + 80000494: 00000013 nop + 80000498: 00000013 nop + 8000049c: 0f0f1137 lui sp,0xf0f1 + 800004a0: f0f1011b addiw sp,sp,-241 + 800004a4: 0020ef33 or t5,ra,sp + 800004a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004ac: 00200293 li t0,2 + 800004b0: fc521ee3 bne tp,t0,8000048c + 800004b4: 0fff1eb7 lui t4,0xfff1 + 800004b8: fffe8e9b addiw t4,t4,-1 + 800004bc: 01100193 li gp,17 + 800004c0: 21df1c63 bne t5,t4,800006d8 + +00000000800004c4 : + 800004c4: 00000213 li tp,0 + 800004c8: 0f0f1137 lui sp,0xf0f1 + 800004cc: f0f1011b addiw sp,sp,-241 + 800004d0: 000100b7 lui ra,0x10 + 800004d4: f010809b addiw ra,ra,-255 + 800004d8: 01009093 slli ra,ra,0x10 + 800004dc: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 800004e0: 0020ef33 or t5,ra,sp + 800004e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004e8: 00200293 li t0,2 + 800004ec: fc521ee3 bne tp,t0,800004c8 + 800004f0: 00001eb7 lui t4,0x1 + 800004f4: ff1e8e9b addiw t4,t4,-15 + 800004f8: 014e9e93 slli t4,t4,0x14 + 800004fc: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 80000500: 01200193 li gp,18 + 80000504: 1ddf1a63 bne t5,t4,800006d8 + +0000000080000508 : + 80000508: 00000213 li tp,0 + 8000050c: 000f1137 lui sp,0xf1 + 80000510: f0f1011b addiw sp,sp,-241 + 80000514: 00c11113 slli sp,sp,0xc + 80000518: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 8000051c: 0ff010b7 lui ra,0xff01 + 80000520: ff00809b addiw ra,ra,-16 + 80000524: 00000013 nop + 80000528: 0020ef33 or t5,ra,sp + 8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000530: 00200293 li t0,2 + 80000534: fc521ce3 bne tp,t0,8000050c + 80000538: 00010eb7 lui t4,0x10 + 8000053c: ff1e8e9b addiw t4,t4,-15 + 80000540: 010e9e93 slli t4,t4,0x10 + 80000544: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 80000548: 01300193 li gp,19 + 8000054c: 19df1663 bne t5,t4,800006d8 + +0000000080000550 : + 80000550: 00000213 li tp,0 + 80000554: 0f0f1137 lui sp,0xf0f1 + 80000558: f0f1011b addiw sp,sp,-241 + 8000055c: 00ff00b7 lui ra,0xff0 + 80000560: 0ff0809b addiw ra,ra,255 + 80000564: 00000013 nop + 80000568: 00000013 nop + 8000056c: 0020ef33 or t5,ra,sp + 80000570: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000574: 00200293 li t0,2 + 80000578: fc521ee3 bne tp,t0,80000554 + 8000057c: 0fff1eb7 lui t4,0xfff1 + 80000580: fffe8e9b addiw t4,t4,-1 + 80000584: 01400193 li gp,20 + 80000588: 15df1863 bne t5,t4,800006d8 + +000000008000058c : + 8000058c: 00000213 li tp,0 + 80000590: 0f0f1137 lui sp,0xf0f1 + 80000594: f0f1011b addiw sp,sp,-241 + 80000598: 00000013 nop + 8000059c: 000100b7 lui ra,0x10 + 800005a0: f010809b addiw ra,ra,-255 + 800005a4: 01009093 slli ra,ra,0x10 + 800005a8: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 800005ac: 0020ef33 or t5,ra,sp + 800005b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005b4: 00200293 li t0,2 + 800005b8: fc521ce3 bne tp,t0,80000590 + 800005bc: 00001eb7 lui t4,0x1 + 800005c0: ff1e8e9b addiw t4,t4,-15 + 800005c4: 014e9e93 slli t4,t4,0x14 + 800005c8: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1> + 800005cc: 01500193 li gp,21 + 800005d0: 11df1463 bne t5,t4,800006d8 + +00000000800005d4 : + 800005d4: 00000213 li tp,0 + 800005d8: 000f1137 lui sp,0xf1 + 800005dc: f0f1011b addiw sp,sp,-241 + 800005e0: 00c11113 slli sp,sp,0xc + 800005e4: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 800005e8: 00000013 nop + 800005ec: 0ff010b7 lui ra,0xff01 + 800005f0: ff00809b addiw ra,ra,-16 + 800005f4: 00000013 nop + 800005f8: 0020ef33 or t5,ra,sp + 800005fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000600: 00200293 li t0,2 + 80000604: fc521ae3 bne tp,t0,800005d8 + 80000608: 00010eb7 lui t4,0x10 + 8000060c: ff1e8e9b addiw t4,t4,-15 + 80000610: 010e9e93 slli t4,t4,0x10 + 80000614: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 80000618: 01600193 li gp,22 + 8000061c: 0bdf1e63 bne t5,t4,800006d8 + +0000000080000620 : + 80000620: 00000213 li tp,0 + 80000624: 0f0f1137 lui sp,0xf0f1 + 80000628: f0f1011b addiw sp,sp,-241 + 8000062c: 00000013 nop + 80000630: 00000013 nop + 80000634: 00ff00b7 lui ra,0xff0 + 80000638: 0ff0809b addiw ra,ra,255 + 8000063c: 0020ef33 or t5,ra,sp + 80000640: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000644: 00200293 li t0,2 + 80000648: fc521ee3 bne tp,t0,80000624 + 8000064c: 0fff1eb7 lui t4,0xfff1 + 80000650: fffe8e9b addiw t4,t4,-1 + 80000654: 01700193 li gp,23 + 80000658: 09df1063 bne t5,t4,800006d8 + +000000008000065c : + 8000065c: 000100b7 lui ra,0x10 + 80000660: f010809b addiw ra,ra,-255 + 80000664: 01009093 slli ra,ra,0x10 + 80000668: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 8000066c: 00106133 or sp,zero,ra + 80000670: 00010eb7 lui t4,0x10 + 80000674: f01e8e9b addiw t4,t4,-255 + 80000678: 010e9e93 slli t4,t4,0x10 + 8000067c: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80000680: 01800193 li gp,24 + 80000684: 05d11a63 bne sp,t4,800006d8 + +0000000080000688 : + 80000688: 00ff00b7 lui ra,0xff0 + 8000068c: 0ff0809b addiw ra,ra,255 + 80000690: 0000e133 or sp,ra,zero + 80000694: 00ff0eb7 lui t4,0xff0 + 80000698: 0ffe8e9b addiw t4,t4,255 + 8000069c: 01900193 li gp,25 + 800006a0: 03d11c63 bne sp,t4,800006d8 + +00000000800006a4 : + 800006a4: 000060b3 or ra,zero,zero + 800006a8: 00000e93 li t4,0 + 800006ac: 01a00193 li gp,26 + 800006b0: 03d09463 bne ra,t4,800006d8 + +00000000800006b4 : + 800006b4: 111110b7 lui ra,0x11111 + 800006b8: 1110809b addiw ra,ra,273 + 800006bc: 22222137 lui sp,0x22222 + 800006c0: 2221011b addiw sp,sp,546 + 800006c4: 0020e033 or zero,ra,sp + 800006c8: 00000e93 li t4,0 + 800006cc: 01b00193 li gp,27 + 800006d0: 01d01463 bne zero,t4,800006d8 + 800006d4: 00301c63 bne zero,gp,800006ec + +00000000800006d8 : + 800006d8: 0ff0000f fence + 800006dc: 00018063 beqz gp,800006dc + 800006e0: 00119193 slli gp,gp,0x1 + 800006e4: 0011e193 ori gp,gp,1 + 800006e8: 00000073 ecall + +00000000800006ec : + 800006ec: 0ff0000f fence + 800006f0: 00100193 li gp,1 + 800006f4: 00000073 ecall + 800006f8: c0001073 unimp + 800006fc: 0000 unimp + 800006fe: 0000 unimp + 80000700: 0000 unimp + 80000702: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-or.elf b/test/riscv/tests/rv64ui-p-or.elf new file mode 100755 index 00000000..e180a180 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-or.elf differ diff --git a/test/riscv/tests/rv64ui-p-ori.dump b/test/riscv/tests/rv64ui-p-ori.dump new file mode 100644 index 00000000..c49630b2 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-ori.dump @@ -0,0 +1,268 @@ + +rv64ui-p-ori: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: ff0100b7 lui ra,0xff010 + 80000100: f000809b addiw ra,ra,-256 + 80000104: f0f0ef13 ori t5,ra,-241 + 80000108: f0f00e93 li t4,-241 + 8000010c: 00200193 li gp,2 + 80000110: 1ddf1c63 bne t5,t4,800002e8 + +0000000080000114 : + 80000114: 0ff010b7 lui ra,0xff01 + 80000118: ff00809b addiw ra,ra,-16 + 8000011c: 0f00ef13 ori t5,ra,240 + 80000120: 0ff01eb7 lui t4,0xff01 + 80000124: ff0e8e9b addiw t4,t4,-16 + 80000128: 00300193 li gp,3 + 8000012c: 1bdf1e63 bne t5,t4,800002e8 + +0000000080000130 : + 80000130: 00ff00b7 lui ra,0xff0 + 80000134: 0ff0809b addiw ra,ra,255 + 80000138: 70f0ef13 ori t5,ra,1807 + 8000013c: 00ff0eb7 lui t4,0xff0 + 80000140: 7ffe8e9b addiw t4,t4,2047 + 80000144: 00400193 li gp,4 + 80000148: 1bdf1063 bne t5,t4,800002e8 + +000000008000014c : + 8000014c: f00ff0b7 lui ra,0xf00ff + 80000150: 00f0809b addiw ra,ra,15 + 80000154: 0f00ef13 ori t5,ra,240 + 80000158: f00ffeb7 lui t4,0xf00ff + 8000015c: 0ffe8e9b addiw t4,t4,255 + 80000160: 00500193 li gp,5 + 80000164: 19df1263 bne t5,t4,800002e8 + +0000000080000168 : + 80000168: 000100b7 lui ra,0x10 + 8000016c: f010809b addiw ra,ra,-255 + 80000170: 01009093 slli ra,ra,0x10 + 80000174: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000178: 0f00e093 ori ra,ra,240 + 8000017c: 00010eb7 lui t4,0x10 + 80000180: f01e8e9b addiw t4,t4,-255 + 80000184: 010e9e93 slli t4,t4,0x10 + 80000188: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010> + 8000018c: 00600193 li gp,6 + 80000190: 15d09c63 bne ra,t4,800002e8 + +0000000080000194 : + 80000194: 00000213 li tp,0 + 80000198: 0ff010b7 lui ra,0xff01 + 8000019c: ff00809b addiw ra,ra,-16 + 800001a0: 0f00ef13 ori t5,ra,240 + 800001a4: 000f0313 mv t1,t5 + 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: ff0e8e9b addiw t4,t4,-16 + 800001bc: 00700193 li gp,7 + 800001c0: 13d31463 bne t1,t4,800002e8 + +00000000800001c4 : + 800001c4: 00000213 li tp,0 + 800001c8: 00ff00b7 lui ra,0xff0 + 800001cc: 0ff0809b addiw ra,ra,255 + 800001d0: 70f0ef13 ori t5,ra,1807 + 800001d4: 00000013 nop + 800001d8: 000f0313 mv t1,t5 + 800001dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800001e0: 00200293 li t0,2 + 800001e4: fe5212e3 bne tp,t0,800001c8 + 800001e8: 00ff0eb7 lui t4,0xff0 + 800001ec: 7ffe8e9b addiw t4,t4,2047 + 800001f0: 00800193 li gp,8 + 800001f4: 0fd31a63 bne t1,t4,800002e8 + +00000000800001f8 : + 800001f8: 00000213 li tp,0 + 800001fc: f00ff0b7 lui ra,0xf00ff + 80000200: 00f0809b addiw ra,ra,15 + 80000204: 0f00ef13 ori t5,ra,240 + 80000208: 00000013 nop + 8000020c: 00000013 nop + 80000210: 000f0313 mv t1,t5 + 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: 0ffe8e9b addiw t4,t4,255 + 80000228: 00900193 li gp,9 + 8000022c: 0bd31e63 bne t1,t4,800002e8 + +0000000080000230 : + 80000230: 00000213 li tp,0 + 80000234: 0ff010b7 lui ra,0xff01 + 80000238: ff00809b addiw ra,ra,-16 + 8000023c: 0f00ef13 ori t5,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: ff0e8e9b addiw t4,t4,-16 + 80000254: 00a00193 li gp,10 + 80000258: 09df1863 bne t5,t4,800002e8 + +000000008000025c : + 8000025c: 00000213 li tp,0 + 80000260: 00ff00b7 lui ra,0xff0 + 80000264: 0ff0809b addiw ra,ra,255 + 80000268: 00000013 nop + 8000026c: f0f0ef13 ori t5,ra,-241 + 80000270: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000274: 00200293 li t0,2 + 80000278: fe5214e3 bne tp,t0,80000260 + 8000027c: fff00e93 li t4,-1 + 80000280: 00b00193 li gp,11 + 80000284: 07df1263 bne t5,t4,800002e8 + +0000000080000288 : + 80000288: 00000213 li tp,0 + 8000028c: f00ff0b7 lui ra,0xf00ff + 80000290: 00f0809b addiw ra,ra,15 + 80000294: 00000013 nop + 80000298: 00000013 nop + 8000029c: 0f00ef13 ori t5,ra,240 + 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a4: 00200293 li t0,2 + 800002a8: fe5212e3 bne tp,t0,8000028c + 800002ac: f00ffeb7 lui t4,0xf00ff + 800002b0: 0ffe8e9b addiw t4,t4,255 + 800002b4: 00c00193 li gp,12 + 800002b8: 03df1863 bne t5,t4,800002e8 + +00000000800002bc : + 800002bc: 0f006093 ori ra,zero,240 + 800002c0: 0f000e93 li t4,240 + 800002c4: 00d00193 li gp,13 + 800002c8: 03d09063 bne ra,t4,800002e8 + +00000000800002cc : + 800002cc: 00ff00b7 lui ra,0xff0 + 800002d0: 0ff0809b addiw ra,ra,255 + 800002d4: 70f0e013 ori zero,ra,1807 + 800002d8: 00000e93 li t4,0 + 800002dc: 00e00193 li gp,14 + 800002e0: 01d01463 bne zero,t4,800002e8 + 800002e4: 00301c63 bne zero,gp,800002fc + +00000000800002e8 : + 800002e8: 0ff0000f fence + 800002ec: 00018063 beqz gp,800002ec + 800002f0: 00119193 slli gp,gp,0x1 + 800002f4: 0011e193 ori gp,gp,1 + 800002f8: 00000073 ecall + +00000000800002fc : + 800002fc: 0ff0000f fence + 80000300: 00100193 li gp,1 + 80000304: 00000073 ecall + 80000308: c0001073 unimp + 8000030c: 0000 unimp + 8000030e: 0000 unimp + 80000310: 0000 unimp + 80000312: 0000 unimp + 80000314: 0000 unimp + 80000316: 0000 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/test/riscv/tests/rv64ui-p-ori.elf b/test/riscv/tests/rv64ui-p-ori.elf new file mode 100755 index 00000000..c1f8f066 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-ori.elf differ diff --git a/test/riscv/tests/rv64ui-p-sb.dump b/test/riscv/tests/rv64ui-p-sb.dump new file mode 100644 index 00000000..5bf111f7 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sb.dump @@ -0,0 +1,447 @@ + +rv64ui-p-sb: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00002097 auipc ra,0x2 + 80000100: f0408093 addi ra,ra,-252 # 80002000 + 80000104: faa00113 li sp,-86 + 80000108: 00208023 sb sp,0(ra) + 8000010c: 00008f03 lb t5,0(ra) + 80000110: faa00e93 li t4,-86 + 80000114: 00200193 li gp,2 + 80000118: 3ddf1c63 bne t5,t4,800004f0 + +000000008000011c : + 8000011c: 00002097 auipc ra,0x2 + 80000120: ee408093 addi ra,ra,-284 # 80002000 + 80000124: 00000113 li sp,0 + 80000128: 002080a3 sb sp,1(ra) + 8000012c: 00108f03 lb t5,1(ra) + 80000130: 00000e93 li t4,0 + 80000134: 00300193 li gp,3 + 80000138: 3bdf1c63 bne t5,t4,800004f0 + +000000008000013c : + 8000013c: 00002097 auipc ra,0x2 + 80000140: ec408093 addi ra,ra,-316 # 80002000 + 80000144: fffff137 lui sp,0xfffff + 80000148: fa01011b addiw sp,sp,-96 + 8000014c: 00208123 sb sp,2(ra) + 80000150: 00209f03 lh t5,2(ra) + 80000154: fffffeb7 lui t4,0xfffff + 80000158: fa0e8e9b addiw t4,t4,-96 + 8000015c: 00400193 li gp,4 + 80000160: 39df1863 bne t5,t4,800004f0 + +0000000080000164 : + 80000164: 00002097 auipc ra,0x2 + 80000168: e9c08093 addi ra,ra,-356 # 80002000 + 8000016c: 00a00113 li sp,10 + 80000170: 002081a3 sb sp,3(ra) + 80000174: 00308f03 lb t5,3(ra) + 80000178: 00a00e93 li t4,10 + 8000017c: 00500193 li gp,5 + 80000180: 37df1863 bne t5,t4,800004f0 + +0000000080000184 : + 80000184: 00002097 auipc ra,0x2 + 80000188: e8308093 addi ra,ra,-381 # 80002007 + 8000018c: faa00113 li sp,-86 + 80000190: fe208ea3 sb sp,-3(ra) + 80000194: ffd08f03 lb t5,-3(ra) + 80000198: faa00e93 li t4,-86 + 8000019c: 00600193 li gp,6 + 800001a0: 35df1863 bne t5,t4,800004f0 + +00000000800001a4 : + 800001a4: 00002097 auipc ra,0x2 + 800001a8: e6308093 addi ra,ra,-413 # 80002007 + 800001ac: 00000113 li sp,0 + 800001b0: fe208f23 sb sp,-2(ra) + 800001b4: ffe08f03 lb t5,-2(ra) + 800001b8: 00000e93 li t4,0 + 800001bc: 00700193 li gp,7 + 800001c0: 33df1863 bne t5,t4,800004f0 + +00000000800001c4 : + 800001c4: 00002097 auipc ra,0x2 + 800001c8: e4308093 addi ra,ra,-445 # 80002007 + 800001cc: fa000113 li sp,-96 + 800001d0: fe208fa3 sb sp,-1(ra) + 800001d4: fff08f03 lb t5,-1(ra) + 800001d8: fa000e93 li t4,-96 + 800001dc: 00800193 li gp,8 + 800001e0: 31df1863 bne t5,t4,800004f0 + +00000000800001e4 : + 800001e4: 00002097 auipc ra,0x2 + 800001e8: e2308093 addi ra,ra,-477 # 80002007 + 800001ec: 00a00113 li sp,10 + 800001f0: 00208023 sb sp,0(ra) + 800001f4: 00008f03 lb t5,0(ra) + 800001f8: 00a00e93 li t4,10 + 800001fc: 00900193 li gp,9 + 80000200: 2fdf1863 bne t5,t4,800004f0 + +0000000080000204 : + 80000204: 00002097 auipc ra,0x2 + 80000208: e0408093 addi ra,ra,-508 # 80002008 + 8000020c: 12345137 lui sp,0x12345 + 80000210: 6781011b addiw sp,sp,1656 + 80000214: fe008213 addi tp,ra,-32 + 80000218: 02220023 sb sp,32(tp) # 20 <_start-0x7fffffe0> + 8000021c: 00008283 lb t0,0(ra) + 80000220: 07800e93 li t4,120 + 80000224: 00a00193 li gp,10 + 80000228: 2dd29463 bne t0,t4,800004f0 + +000000008000022c : + 8000022c: 00002097 auipc ra,0x2 + 80000230: ddc08093 addi ra,ra,-548 # 80002008 + 80000234: 00003137 lui sp,0x3 + 80000238: 0981011b addiw sp,sp,152 + 8000023c: ffa08093 addi ra,ra,-6 + 80000240: 002083a3 sb sp,7(ra) + 80000244: 00002217 auipc tp,0x2 + 80000248: dc520213 addi tp,tp,-571 # 80002009 + 8000024c: 00020283 lb t0,0(tp) # 0 <_start-0x80000000> + 80000250: f9800e93 li t4,-104 + 80000254: 00b00193 li gp,11 + 80000258: 29d29c63 bne t0,t4,800004f0 + +000000008000025c : + 8000025c: 00c00193 li gp,12 + 80000260: 00000213 li tp,0 + 80000264: fdd00093 li ra,-35 + 80000268: 00002117 auipc sp,0x2 + 8000026c: d9810113 addi sp,sp,-616 # 80002000 + 80000270: 00110023 sb ra,0(sp) + 80000274: 00010f03 lb t5,0(sp) + 80000278: fdd00e93 li t4,-35 + 8000027c: 27df1a63 bne t5,t4,800004f0 + 80000280: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000284: 00200293 li t0,2 + 80000288: fc521ee3 bne tp,t0,80000264 + +000000008000028c : + 8000028c: 00d00193 li gp,13 + 80000290: 00000213 li tp,0 + 80000294: fcd00093 li ra,-51 + 80000298: 00002117 auipc sp,0x2 + 8000029c: d6810113 addi sp,sp,-664 # 80002000 + 800002a0: 00000013 nop + 800002a4: 001100a3 sb ra,1(sp) + 800002a8: 00110f03 lb t5,1(sp) + 800002ac: fcd00e93 li t4,-51 + 800002b0: 25df1063 bne t5,t4,800004f0 + 800002b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002b8: 00200293 li t0,2 + 800002bc: fc521ce3 bne tp,t0,80000294 + +00000000800002c0 : + 800002c0: 00e00193 li gp,14 + 800002c4: 00000213 li tp,0 + 800002c8: fcc00093 li ra,-52 + 800002cc: 00002117 auipc sp,0x2 + 800002d0: d3410113 addi sp,sp,-716 # 80002000 + 800002d4: 00000013 nop + 800002d8: 00000013 nop + 800002dc: 00110123 sb ra,2(sp) + 800002e0: 00210f03 lb t5,2(sp) + 800002e4: fcc00e93 li t4,-52 + 800002e8: 21df1463 bne t5,t4,800004f0 + 800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002f0: 00200293 li t0,2 + 800002f4: fc521ae3 bne tp,t0,800002c8 + +00000000800002f8 : + 800002f8: 00f00193 li gp,15 + 800002fc: 00000213 li tp,0 + 80000300: fbc00093 li ra,-68 + 80000304: 00000013 nop + 80000308: 00002117 auipc sp,0x2 + 8000030c: cf810113 addi sp,sp,-776 # 80002000 + 80000310: 001101a3 sb ra,3(sp) + 80000314: 00310f03 lb t5,3(sp) + 80000318: fbc00e93 li t4,-68 + 8000031c: 1ddf1a63 bne t5,t4,800004f0 + 80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000324: 00200293 li t0,2 + 80000328: fc521ce3 bne tp,t0,80000300 + +000000008000032c : + 8000032c: 01000193 li gp,16 + 80000330: 00000213 li tp,0 + 80000334: fbb00093 li ra,-69 + 80000338: 00000013 nop + 8000033c: 00002117 auipc sp,0x2 + 80000340: cc410113 addi sp,sp,-828 # 80002000 + 80000344: 00000013 nop + 80000348: 00110223 sb ra,4(sp) + 8000034c: 00410f03 lb t5,4(sp) + 80000350: fbb00e93 li t4,-69 + 80000354: 19df1e63 bne t5,t4,800004f0 + 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000035c: 00200293 li t0,2 + 80000360: fc521ae3 bne tp,t0,80000334 + +0000000080000364 : + 80000364: 01100193 li gp,17 + 80000368: 00000213 li tp,0 + 8000036c: fab00093 li ra,-85 + 80000370: 00000013 nop + 80000374: 00000013 nop + 80000378: 00002117 auipc sp,0x2 + 8000037c: c8810113 addi sp,sp,-888 # 80002000 + 80000380: 001102a3 sb ra,5(sp) + 80000384: 00510f03 lb t5,5(sp) + 80000388: fab00e93 li t4,-85 + 8000038c: 17df1263 bne t5,t4,800004f0 + 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000394: 00200293 li t0,2 + 80000398: fc521ae3 bne tp,t0,8000036c + +000000008000039c : + 8000039c: 01200193 li gp,18 + 800003a0: 00000213 li tp,0 + 800003a4: 00002117 auipc sp,0x2 + 800003a8: c5c10113 addi sp,sp,-932 # 80002000 + 800003ac: 03300093 li ra,51 + 800003b0: 00110023 sb ra,0(sp) + 800003b4: 00010f03 lb t5,0(sp) + 800003b8: 03300e93 li t4,51 + 800003bc: 13df1a63 bne t5,t4,800004f0 + 800003c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c4: 00200293 li t0,2 + 800003c8: fc521ee3 bne tp,t0,800003a4 + +00000000800003cc : + 800003cc: 01300193 li gp,19 + 800003d0: 00000213 li tp,0 + 800003d4: 00002117 auipc sp,0x2 + 800003d8: c2c10113 addi sp,sp,-980 # 80002000 + 800003dc: 02300093 li ra,35 + 800003e0: 00000013 nop + 800003e4: 001100a3 sb ra,1(sp) + 800003e8: 00110f03 lb t5,1(sp) + 800003ec: 02300e93 li t4,35 + 800003f0: 11df1063 bne t5,t4,800004f0 + 800003f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f8: 00200293 li t0,2 + 800003fc: fc521ce3 bne tp,t0,800003d4 + +0000000080000400 : + 80000400: 01400193 li gp,20 + 80000404: 00000213 li tp,0 + 80000408: 00002117 auipc sp,0x2 + 8000040c: bf810113 addi sp,sp,-1032 # 80002000 + 80000410: 02200093 li ra,34 + 80000414: 00000013 nop + 80000418: 00000013 nop + 8000041c: 00110123 sb ra,2(sp) + 80000420: 00210f03 lb t5,2(sp) + 80000424: 02200e93 li t4,34 + 80000428: 0ddf1463 bne t5,t4,800004f0 + 8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000430: 00200293 li t0,2 + 80000434: fc521ae3 bne tp,t0,80000408 + +0000000080000438 : + 80000438: 01500193 li gp,21 + 8000043c: 00000213 li tp,0 + 80000440: 00002117 auipc sp,0x2 + 80000444: bc010113 addi sp,sp,-1088 # 80002000 + 80000448: 00000013 nop + 8000044c: 01200093 li ra,18 + 80000450: 001101a3 sb ra,3(sp) + 80000454: 00310f03 lb t5,3(sp) + 80000458: 01200e93 li t4,18 + 8000045c: 09df1a63 bne t5,t4,800004f0 + 80000460: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000464: 00200293 li t0,2 + 80000468: fc521ce3 bne tp,t0,80000440 + +000000008000046c : + 8000046c: 01600193 li gp,22 + 80000470: 00000213 li tp,0 + 80000474: 00002117 auipc sp,0x2 + 80000478: b8c10113 addi sp,sp,-1140 # 80002000 + 8000047c: 00000013 nop + 80000480: 01100093 li ra,17 + 80000484: 00000013 nop + 80000488: 00110223 sb ra,4(sp) + 8000048c: 00410f03 lb t5,4(sp) + 80000490: 01100e93 li t4,17 + 80000494: 05df1e63 bne t5,t4,800004f0 + 80000498: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000049c: 00200293 li t0,2 + 800004a0: fc521ae3 bne tp,t0,80000474 + +00000000800004a4 : + 800004a4: 01700193 li gp,23 + 800004a8: 00000213 li tp,0 + 800004ac: 00002117 auipc sp,0x2 + 800004b0: b5410113 addi sp,sp,-1196 # 80002000 + 800004b4: 00000013 nop + 800004b8: 00000013 nop + 800004bc: 00100093 li ra,1 + 800004c0: 001102a3 sb ra,5(sp) + 800004c4: 00510f03 lb t5,5(sp) + 800004c8: 00100e93 li t4,1 + 800004cc: 03df1263 bne t5,t4,800004f0 + 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d4: 00200293 li t0,2 + 800004d8: fc521ae3 bne tp,t0,800004ac + 800004dc: 0ef00513 li a0,239 + 800004e0: 00002597 auipc a1,0x2 + 800004e4: b2058593 addi a1,a1,-1248 # 80002000 + 800004e8: 00a581a3 sb a0,3(a1) + 800004ec: 00301c63 bne zero,gp,80000504 + +00000000800004f0 : + 800004f0: 0ff0000f fence + 800004f4: 00018063 beqz gp,800004f4 + 800004f8: 00119193 slli gp,gp,0x1 + 800004fc: 0011e193 ori gp,gp,1 + 80000500: 00000073 ecall + +0000000080000504 : + 80000504: 0ff0000f fence + 80000508: 00100193 li gp,1 + 8000050c: 00000073 ecall + 80000510: c0001073 unimp + 80000514: 0000 unimp + 80000516: 0000 unimp + 80000518: 0000 unimp + 8000051a: 0000 unimp + 8000051c: 0000 unimp + 8000051e: 0000 unimp + 80000520: 0000 unimp + 80000522: 0000 unimp + 80000524: 0000 unimp + 80000526: 0000 unimp + 80000528: 0000 unimp + 8000052a: 0000 unimp + 8000052c: 0000 unimp + 8000052e: 0000 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: + +0000000080002000 : + 80002000: jal t6,800006fe + +0000000080002001 : + 80002001: jal t6,800006ff + +0000000080002002 : + 80002002: jal t6,80000700 + +0000000080002003 : + 80002003: jal t6,80000701 + +0000000080002004 : + 80002004: jal t6,80000702 + +0000000080002005 : + 80002005: jal t6,80000703 + +0000000080002006 : + 80002006: jal t6,80000704 + +0000000080002007 : + 80002007: jal t6,80100015 <_end+0xfe005> + +0000000080002008 : + 80002008: jal t6,80010008 <_end+0xdff8> + +0000000080002009 : + 80002009: 000000ef jal ra,80002009 + 8000200d: 0000 unimp + 8000200f: 00 Address 0x000000008000200f is out of bounds. + diff --git a/test/riscv/tests/rv64ui-p-sb.elf b/test/riscv/tests/rv64ui-p-sb.elf new file mode 100755 index 00000000..85999d6b Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sb.elf differ diff --git a/test/riscv/tests/rv64ui-p-sd.dump b/test/riscv/tests/rv64ui-p-sd.dump new file mode 100644 index 00000000..56249fa2 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sd.dump @@ -0,0 +1,594 @@ + +rv64ui-p-sd: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00002097 auipc ra,0x2 + 80000100: f0408093 addi ra,ra,-252 # 80002000 + 80000104: 00550137 lui sp,0x550 + 80000108: 0551011b addiw sp,sp,85 + 8000010c: 01011113 slli sp,sp,0x10 + 80000110: 05510113 addi sp,sp,85 # 550055 <_start-0x7faaffab> + 80000114: 01111113 slli sp,sp,0x11 + 80000118: 0aa10113 addi sp,sp,170 + 8000011c: 0020b023 sd sp,0(ra) + 80000120: 0000bf03 ld t5,0(ra) + 80000124: 00550eb7 lui t4,0x550 + 80000128: 055e8e9b addiw t4,t4,85 + 8000012c: 010e9e93 slli t4,t4,0x10 + 80000130: 055e8e93 addi t4,t4,85 # 550055 <_start-0x7faaffab> + 80000134: 011e9e93 slli t4,t4,0x11 + 80000138: 0aae8e93 addi t4,t4,170 + 8000013c: 00200193 li gp,2 + 80000140: 61df1063 bne t5,t4,80000740 + +0000000080000144 : + 80000144: 00002097 auipc ra,0x2 + 80000148: ebc08093 addi ra,ra,-324 # 80002000 + 8000014c: ffd50137 lui sp,0xffd50 + 80000150: 0551011b addiw sp,sp,85 + 80000154: 01011113 slli sp,sp,0x10 + 80000158: 05510113 addi sp,sp,85 # ffffffffffd50055 <_end+0xffffffff7fd4e005> + 8000015c: 00d11113 slli sp,sp,0xd + 80000160: 00b10113 addi sp,sp,11 + 80000164: 00c11113 slli sp,sp,0xc + 80000168: a0010113 addi sp,sp,-1536 + 8000016c: 0020b423 sd sp,8(ra) + 80000170: 0080bf03 ld t5,8(ra) + 80000174: ffd50eb7 lui t4,0xffd50 + 80000178: 055e8e9b addiw t4,t4,85 + 8000017c: 010e9e93 slli t4,t4,0x10 + 80000180: 055e8e93 addi t4,t4,85 # ffffffffffd50055 <_end+0xffffffff7fd4e005> + 80000184: 00de9e93 slli t4,t4,0xd + 80000188: 00be8e93 addi t4,t4,11 + 8000018c: 00ce9e93 slli t4,t4,0xc + 80000190: a00e8e93 addi t4,t4,-1536 + 80000194: 00300193 li gp,3 + 80000198: 5bdf1463 bne t5,t4,80000740 + +000000008000019c : + 8000019c: 00002097 auipc ra,0x2 + 800001a0: e6408093 addi ra,ra,-412 # 80002000 + 800001a4: 00550137 lui sp,0x550 + 800001a8: 0551011b addiw sp,sp,85 + 800001ac: 00d11113 slli sp,sp,0xd + 800001b0: 00b10113 addi sp,sp,11 # 55000b <_start-0x7faafff5> + 800001b4: 00c11113 slli sp,sp,0xc + 800001b8: a0110113 addi sp,sp,-1535 + 800001bc: 00c11113 slli sp,sp,0xc + 800001c0: aa010113 addi sp,sp,-1376 + 800001c4: 0020b823 sd sp,16(ra) + 800001c8: 0100bf03 ld t5,16(ra) + 800001cc: 00550eb7 lui t4,0x550 + 800001d0: 055e8e9b addiw t4,t4,85 + 800001d4: 00de9e93 slli t4,t4,0xd + 800001d8: 00be8e93 addi t4,t4,11 # 55000b <_start-0x7faafff5> + 800001dc: 00ce9e93 slli t4,t4,0xc + 800001e0: a01e8e93 addi t4,t4,-1535 + 800001e4: 00ce9e93 slli t4,t4,0xc + 800001e8: aa0e8e93 addi t4,t4,-1376 + 800001ec: 00400193 li gp,4 + 800001f0: 55df1863 bne t5,t4,80000740 + +00000000800001f4 : + 800001f4: 00002097 auipc ra,0x2 + 800001f8: e0c08093 addi ra,ra,-500 # 80002000 + 800001fc: fffd0137 lui sp,0xfffd0 + 80000200: 0551011b addiw sp,sp,85 + 80000204: 01011113 slli sp,sp,0x10 + 80000208: 05510113 addi sp,sp,85 # fffffffffffd0055 <_end+0xffffffff7ffce005> + 8000020c: 01011113 slli sp,sp,0x10 + 80000210: 05510113 addi sp,sp,85 + 80000214: 00d11113 slli sp,sp,0xd + 80000218: 00a10113 addi sp,sp,10 + 8000021c: 0020bc23 sd sp,24(ra) + 80000220: 0180bf03 ld t5,24(ra) + 80000224: fffd0eb7 lui t4,0xfffd0 + 80000228: 055e8e9b addiw t4,t4,85 + 8000022c: 010e9e93 slli t4,t4,0x10 + 80000230: 055e8e93 addi t4,t4,85 # fffffffffffd0055 <_end+0xffffffff7ffce005> + 80000234: 010e9e93 slli t4,t4,0x10 + 80000238: 055e8e93 addi t4,t4,85 + 8000023c: 00de9e93 slli t4,t4,0xd + 80000240: 00ae8e93 addi t4,t4,10 + 80000244: 00500193 li gp,5 + 80000248: 4fdf1c63 bne t5,t4,80000740 + +000000008000024c : + 8000024c: 00002097 auipc ra,0x2 + 80000250: dec08093 addi ra,ra,-532 # 80002038 + 80000254: 00550137 lui sp,0x550 + 80000258: 0551011b addiw sp,sp,85 + 8000025c: 01011113 slli sp,sp,0x10 + 80000260: 05510113 addi sp,sp,85 # 550055 <_start-0x7faaffab> + 80000264: 01111113 slli sp,sp,0x11 + 80000268: 0aa10113 addi sp,sp,170 + 8000026c: fe20b423 sd sp,-24(ra) + 80000270: fe80bf03 ld t5,-24(ra) + 80000274: 00550eb7 lui t4,0x550 + 80000278: 055e8e9b addiw t4,t4,85 + 8000027c: 010e9e93 slli t4,t4,0x10 + 80000280: 055e8e93 addi t4,t4,85 # 550055 <_start-0x7faaffab> + 80000284: 011e9e93 slli t4,t4,0x11 + 80000288: 0aae8e93 addi t4,t4,170 + 8000028c: 00600193 li gp,6 + 80000290: 4bdf1863 bne t5,t4,80000740 + +0000000080000294 : + 80000294: 00002097 auipc ra,0x2 + 80000298: da408093 addi ra,ra,-604 # 80002038 + 8000029c: ffd50137 lui sp,0xffd50 + 800002a0: 0551011b addiw sp,sp,85 + 800002a4: 01011113 slli sp,sp,0x10 + 800002a8: 05510113 addi sp,sp,85 # ffffffffffd50055 <_end+0xffffffff7fd4e005> + 800002ac: 00d11113 slli sp,sp,0xd + 800002b0: 00b10113 addi sp,sp,11 + 800002b4: 00c11113 slli sp,sp,0xc + 800002b8: a0010113 addi sp,sp,-1536 + 800002bc: fe20b823 sd sp,-16(ra) + 800002c0: ff00bf03 ld t5,-16(ra) + 800002c4: ffd50eb7 lui t4,0xffd50 + 800002c8: 055e8e9b addiw t4,t4,85 + 800002cc: 010e9e93 slli t4,t4,0x10 + 800002d0: 055e8e93 addi t4,t4,85 # ffffffffffd50055 <_end+0xffffffff7fd4e005> + 800002d4: 00de9e93 slli t4,t4,0xd + 800002d8: 00be8e93 addi t4,t4,11 + 800002dc: 00ce9e93 slli t4,t4,0xc + 800002e0: a00e8e93 addi t4,t4,-1536 + 800002e4: 00700193 li gp,7 + 800002e8: 45df1c63 bne t5,t4,80000740 + +00000000800002ec : + 800002ec: 00002097 auipc ra,0x2 + 800002f0: d4c08093 addi ra,ra,-692 # 80002038 + 800002f4: 00550137 lui sp,0x550 + 800002f8: 0551011b addiw sp,sp,85 + 800002fc: 00d11113 slli sp,sp,0xd + 80000300: 00b10113 addi sp,sp,11 # 55000b <_start-0x7faafff5> + 80000304: 00c11113 slli sp,sp,0xc + 80000308: a0110113 addi sp,sp,-1535 + 8000030c: 00c11113 slli sp,sp,0xc + 80000310: aa010113 addi sp,sp,-1376 + 80000314: fe20bc23 sd sp,-8(ra) + 80000318: ff80bf03 ld t5,-8(ra) + 8000031c: 00550eb7 lui t4,0x550 + 80000320: 055e8e9b addiw t4,t4,85 + 80000324: 00de9e93 slli t4,t4,0xd + 80000328: 00be8e93 addi t4,t4,11 # 55000b <_start-0x7faafff5> + 8000032c: 00ce9e93 slli t4,t4,0xc + 80000330: a01e8e93 addi t4,t4,-1535 + 80000334: 00ce9e93 slli t4,t4,0xc + 80000338: aa0e8e93 addi t4,t4,-1376 + 8000033c: 00800193 li gp,8 + 80000340: 41df1063 bne t5,t4,80000740 + +0000000080000344 : + 80000344: 00002097 auipc ra,0x2 + 80000348: cf408093 addi ra,ra,-780 # 80002038 + 8000034c: fffd0137 lui sp,0xfffd0 + 80000350: 0551011b addiw sp,sp,85 + 80000354: 01011113 slli sp,sp,0x10 + 80000358: 05510113 addi sp,sp,85 # fffffffffffd0055 <_end+0xffffffff7ffce005> + 8000035c: 01011113 slli sp,sp,0x10 + 80000360: 05510113 addi sp,sp,85 + 80000364: 00d11113 slli sp,sp,0xd + 80000368: 00a10113 addi sp,sp,10 + 8000036c: 0020b023 sd sp,0(ra) + 80000370: 0000bf03 ld t5,0(ra) + 80000374: fffd0eb7 lui t4,0xfffd0 + 80000378: 055e8e9b addiw t4,t4,85 + 8000037c: 010e9e93 slli t4,t4,0x10 + 80000380: 055e8e93 addi t4,t4,85 # fffffffffffd0055 <_end+0xffffffff7ffce005> + 80000384: 010e9e93 slli t4,t4,0x10 + 80000388: 055e8e93 addi t4,t4,85 + 8000038c: 00de9e93 slli t4,t4,0xd + 80000390: 00ae8e93 addi t4,t4,10 + 80000394: 00900193 li gp,9 + 80000398: 3bdf1463 bne t5,t4,80000740 + +000000008000039c : + 8000039c: 00002097 auipc ra,0x2 + 800003a0: ca408093 addi ra,ra,-860 # 80002040 + 800003a4: 00247137 lui sp,0x247 + 800003a8: 8ad1011b addiw sp,sp,-1875 + 800003ac: 00e11113 slli sp,sp,0xe + 800003b0: c0910113 addi sp,sp,-1015 # 246c09 <_start-0x7fdb93f7> + 800003b4: 00d11113 slli sp,sp,0xd + 800003b8: 34510113 addi sp,sp,837 + 800003bc: 00c11113 slli sp,sp,0xc + 800003c0: 67810113 addi sp,sp,1656 + 800003c4: fe008213 addi tp,ra,-32 + 800003c8: 02223023 sd sp,32(tp) # 20 <_start-0x7fffffe0> + 800003cc: 0000b283 ld t0,0(ra) + 800003d0: 00247eb7 lui t4,0x247 + 800003d4: 8ade8e9b addiw t4,t4,-1875 + 800003d8: 00ee9e93 slli t4,t4,0xe + 800003dc: c09e8e93 addi t4,t4,-1015 # 246c09 <_start-0x7fdb93f7> + 800003e0: 00de9e93 slli t4,t4,0xd + 800003e4: 345e8e93 addi t4,t4,837 + 800003e8: 00ce9e93 slli t4,t4,0xc + 800003ec: 678e8e93 addi t4,t4,1656 + 800003f0: 00a00193 li gp,10 + 800003f4: 35d29663 bne t0,t4,80000740 + +00000000800003f8 : + 800003f8: 00002097 auipc ra,0x2 + 800003fc: c4808093 addi ra,ra,-952 # 80002040 + 80000400: 00b04137 lui sp,0xb04 + 80000404: 2611011b addiw sp,sp,609 + 80000408: 00c11113 slli sp,sp,0xc + 8000040c: 30b10113 addi sp,sp,779 # b0430b <_start-0x7f4fbcf5> + 80000410: 00f11113 slli sp,sp,0xf + 80000414: 21310113 addi sp,sp,531 + 80000418: 00c11113 slli sp,sp,0xc + 8000041c: 09810113 addi sp,sp,152 + 80000420: ffd08093 addi ra,ra,-3 + 80000424: 0020b5a3 sd sp,11(ra) + 80000428: 00002217 auipc tp,0x2 + 8000042c: c2020213 addi tp,tp,-992 # 80002048 + 80000430: 00023283 ld t0,0(tp) # 0 <_start-0x80000000> + 80000434: 00b04eb7 lui t4,0xb04 + 80000438: 261e8e9b addiw t4,t4,609 + 8000043c: 00ce9e93 slli t4,t4,0xc + 80000440: 30be8e93 addi t4,t4,779 # b0430b <_start-0x7f4fbcf5> + 80000444: 00fe9e93 slli t4,t4,0xf + 80000448: 213e8e93 addi t4,t4,531 + 8000044c: 00ce9e93 slli t4,t4,0xc + 80000450: 098e8e93 addi t4,t4,152 + 80000454: 00b00193 li gp,11 + 80000458: 2fd29463 bne t0,t4,80000740 + +000000008000045c : + 8000045c: 00c00193 li gp,12 + 80000460: 00000213 li tp,0 + 80000464: 0abbd0b7 lui ra,0xabbd + 80000468: cdd0809b addiw ra,ra,-803 + 8000046c: 00002117 auipc sp,0x2 + 80000470: b9410113 addi sp,sp,-1132 # 80002000 + 80000474: 00113023 sd ra,0(sp) + 80000478: 00013f03 ld t5,0(sp) + 8000047c: 0abbdeb7 lui t4,0xabbd + 80000480: cdde8e9b addiw t4,t4,-803 + 80000484: 2bdf1e63 bne t5,t4,80000740 + 80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000048c: 00200293 li t0,2 + 80000490: fc521ae3 bne tp,t0,80000464 + +0000000080000494 : + 80000494: 00d00193 li gp,13 + 80000498: 00000213 li tp,0 + 8000049c: 0aabc0b7 lui ra,0xaabc + 800004a0: ccd0809b addiw ra,ra,-819 + 800004a4: 00002117 auipc sp,0x2 + 800004a8: b5c10113 addi sp,sp,-1188 # 80002000 + 800004ac: 00000013 nop + 800004b0: 00113423 sd ra,8(sp) + 800004b4: 00813f03 ld t5,8(sp) + 800004b8: 0aabceb7 lui t4,0xaabc + 800004bc: ccde8e9b addiw t4,t4,-819 + 800004c0: 29df1063 bne t5,t4,80000740 + 800004c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004c8: 00200293 li t0,2 + 800004cc: fc5218e3 bne tp,t0,8000049c + +00000000800004d0 : + 800004d0: 00e00193 li gp,14 + 800004d4: 00000213 li tp,0 + 800004d8: 0daac0b7 lui ra,0xdaac + 800004dc: bcc0809b addiw ra,ra,-1076 + 800004e0: 00002117 auipc sp,0x2 + 800004e4: b2010113 addi sp,sp,-1248 # 80002000 + 800004e8: 00000013 nop + 800004ec: 00000013 nop + 800004f0: 00113823 sd ra,16(sp) + 800004f4: 01013f03 ld t5,16(sp) + 800004f8: 0daaceb7 lui t4,0xdaac + 800004fc: bcce8e9b addiw t4,t4,-1076 + 80000500: 25df1063 bne t5,t4,80000740 + 80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000508: 00200293 li t0,2 + 8000050c: fc5216e3 bne tp,t0,800004d8 + +0000000080000510 : + 80000510: 00f00193 li gp,15 + 80000514: 00000213 li tp,0 + 80000518: 0ddab0b7 lui ra,0xddab + 8000051c: bbc0809b addiw ra,ra,-1092 + 80000520: 00000013 nop + 80000524: 00002117 auipc sp,0x2 + 80000528: adc10113 addi sp,sp,-1316 # 80002000 + 8000052c: 00113c23 sd ra,24(sp) + 80000530: 01813f03 ld t5,24(sp) + 80000534: 0ddabeb7 lui t4,0xddab + 80000538: bbce8e9b addiw t4,t4,-1092 + 8000053c: 21df1263 bne t5,t4,80000740 + 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000544: 00200293 li t0,2 + 80000548: fc5218e3 bne tp,t0,80000518 + +000000008000054c : + 8000054c: 01000193 li gp,16 + 80000550: 00000213 li tp,0 + 80000554: 0cddb0b7 lui ra,0xcddb + 80000558: abb0809b addiw ra,ra,-1349 + 8000055c: 00000013 nop + 80000560: 00002117 auipc sp,0x2 + 80000564: aa010113 addi sp,sp,-1376 # 80002000 + 80000568: 00000013 nop + 8000056c: 02113023 sd ra,32(sp) + 80000570: 02013f03 ld t5,32(sp) + 80000574: 0cddbeb7 lui t4,0xcddb + 80000578: abbe8e9b addiw t4,t4,-1349 + 8000057c: 1ddf1263 bne t5,t4,80000740 + 80000580: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000584: 00200293 li t0,2 + 80000588: fc5216e3 bne tp,t0,80000554 + +000000008000058c : + 8000058c: 01100193 li gp,17 + 80000590: 00000213 li tp,0 + 80000594: 0ccde0b7 lui ra,0xccde + 80000598: aab0809b addiw ra,ra,-1365 + 8000059c: 00000013 nop + 800005a0: 00000013 nop + 800005a4: 00002117 auipc sp,0x2 + 800005a8: a5c10113 addi sp,sp,-1444 # 80002000 + 800005ac: 02113423 sd ra,40(sp) + 800005b0: 02813f03 ld t5,40(sp) + 800005b4: 0ccdeeb7 lui t4,0xccde + 800005b8: aabe8e9b addiw t4,t4,-1365 + 800005bc: 19df1263 bne t5,t4,80000740 + 800005c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005c4: 00200293 li t0,2 + 800005c8: fc5216e3 bne tp,t0,80000594 + +00000000800005cc : + 800005cc: 01200193 li gp,18 + 800005d0: 00000213 li tp,0 + 800005d4: 00002117 auipc sp,0x2 + 800005d8: a2c10113 addi sp,sp,-1492 # 80002000 + 800005dc: 001120b7 lui ra,0x112 + 800005e0: 2330809b addiw ra,ra,563 + 800005e4: 00113023 sd ra,0(sp) + 800005e8: 00013f03 ld t5,0(sp) + 800005ec: 00112eb7 lui t4,0x112 + 800005f0: 233e8e9b addiw t4,t4,563 + 800005f4: 15df1663 bne t5,t4,80000740 + 800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005fc: 00200293 li t0,2 + 80000600: fc521ae3 bne tp,t0,800005d4 + +0000000080000604 : + 80000604: 01300193 li gp,19 + 80000608: 00000213 li tp,0 + 8000060c: 00002117 auipc sp,0x2 + 80000610: 9f410113 addi sp,sp,-1548 # 80002000 + 80000614: 300110b7 lui ra,0x30011 + 80000618: 2230809b addiw ra,ra,547 + 8000061c: 00000013 nop + 80000620: 00113423 sd ra,8(sp) + 80000624: 00813f03 ld t5,8(sp) + 80000628: 30011eb7 lui t4,0x30011 + 8000062c: 223e8e9b addiw t4,t4,547 + 80000630: 11df1863 bne t5,t4,80000740 + 80000634: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000638: 00200293 li t0,2 + 8000063c: fc5218e3 bne tp,t0,8000060c + +0000000080000640 : + 80000640: 01400193 li gp,20 + 80000644: 00000213 li tp,0 + 80000648: 00002117 auipc sp,0x2 + 8000064c: 9b810113 addi sp,sp,-1608 # 80002000 + 80000650: 330010b7 lui ra,0x33001 + 80000654: 1220809b addiw ra,ra,290 + 80000658: 00000013 nop + 8000065c: 00000013 nop + 80000660: 00113823 sd ra,16(sp) + 80000664: 01013f03 ld t5,16(sp) + 80000668: 33001eb7 lui t4,0x33001 + 8000066c: 122e8e9b addiw t4,t4,290 + 80000670: 0ddf1863 bne t5,t4,80000740 + 80000674: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000678: 00200293 li t0,2 + 8000067c: fc5216e3 bne tp,t0,80000648 + +0000000080000680 : + 80000680: 01500193 li gp,21 + 80000684: 00000213 li tp,0 + 80000688: 00002117 auipc sp,0x2 + 8000068c: 97810113 addi sp,sp,-1672 # 80002000 + 80000690: 00000013 nop + 80000694: 233000b7 lui ra,0x23300 + 80000698: 1120809b addiw ra,ra,274 + 8000069c: 00113c23 sd ra,24(sp) + 800006a0: 01813f03 ld t5,24(sp) + 800006a4: 23300eb7 lui t4,0x23300 + 800006a8: 112e8e9b addiw t4,t4,274 + 800006ac: 09df1a63 bne t5,t4,80000740 + 800006b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006b4: 00200293 li t0,2 + 800006b8: fc5218e3 bne tp,t0,80000688 + +00000000800006bc : + 800006bc: 01600193 li gp,22 + 800006c0: 00000213 li tp,0 + 800006c4: 00002117 auipc sp,0x2 + 800006c8: 93c10113 addi sp,sp,-1732 # 80002000 + 800006cc: 00000013 nop + 800006d0: 223300b7 lui ra,0x22330 + 800006d4: 0110809b addiw ra,ra,17 + 800006d8: 00000013 nop + 800006dc: 02113023 sd ra,32(sp) + 800006e0: 02013f03 ld t5,32(sp) + 800006e4: 22330eb7 lui t4,0x22330 + 800006e8: 011e8e9b addiw t4,t4,17 + 800006ec: 05df1a63 bne t5,t4,80000740 + 800006f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006f4: 00200293 li t0,2 + 800006f8: fc5216e3 bne tp,t0,800006c4 + +00000000800006fc : + 800006fc: 01700193 li gp,23 + 80000700: 00000213 li tp,0 + 80000704: 00002117 auipc sp,0x2 + 80000708: 8fc10113 addi sp,sp,-1796 # 80002000 + 8000070c: 00000013 nop + 80000710: 00000013 nop + 80000714: 122330b7 lui ra,0x12233 + 80000718: 0010809b addiw ra,ra,1 + 8000071c: 02113423 sd ra,40(sp) + 80000720: 02813f03 ld t5,40(sp) + 80000724: 12233eb7 lui t4,0x12233 + 80000728: 001e8e9b addiw t4,t4,1 + 8000072c: 01df1a63 bne t5,t4,80000740 + 80000730: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000734: 00200293 li t0,2 + 80000738: fc5216e3 bne tp,t0,80000704 + 8000073c: 00301c63 bne zero,gp,80000754 + +0000000080000740 : + 80000740: 0ff0000f fence + 80000744: 00018063 beqz gp,80000744 + 80000748: 00119193 slli gp,gp,0x1 + 8000074c: 0011e193 ori gp,gp,1 + 80000750: 00000073 ecall + +0000000080000754 : + 80000754: 0ff0000f fence + 80000758: 00100193 li gp,1 + 8000075c: 00000073 ecall + 80000760: c0001073 unimp + 80000764: 0000 unimp + 80000766: 0000 unimp + 80000768: 0000 unimp + 8000076a: 0000 unimp + 8000076c: 0000 unimp + 8000076e: 0000 unimp + 80000770: 0000 unimp + 80000772: 0000 unimp + 80000774: 0000 unimp + 80000776: 0000 unimp + 80000778: 0000 unimp + 8000077a: 0000 unimp + 8000077c: 0000 unimp + 8000077e: 0000 unimp + 80000780: 0000 unimp + 80000782: 0000 unimp + +Disassembly of section .data: + +0000000080002000 : + 80002000: deadbeef jal t4,7ffdd5ea <_start-0x22a16> + 80002004: deadbeef jal t4,7ffdd5ee <_start-0x22a12> + +0000000080002008 : + 80002008: deadbeef jal t4,7ffdd5f2 <_start-0x22a0e> + 8000200c: deadbeef jal t4,7ffdd5f6 <_start-0x22a0a> + +0000000080002010 : + 80002010: deadbeef jal t4,7ffdd5fa <_start-0x22a06> + 80002014: deadbeef jal t4,7ffdd5fe <_start-0x22a02> + +0000000080002018 : + 80002018: deadbeef jal t4,7ffdd602 <_start-0x229fe> + 8000201c: deadbeef jal t4,7ffdd606 <_start-0x229fa> + +0000000080002020 : + 80002020: deadbeef jal t4,7ffdd60a <_start-0x229f6> + 80002024: deadbeef jal t4,7ffdd60e <_start-0x229f2> + +0000000080002028 : + 80002028: deadbeef jal t4,7ffdd612 <_start-0x229ee> + 8000202c: deadbeef jal t4,7ffdd616 <_start-0x229ea> + +0000000080002030 : + 80002030: deadbeef jal t4,7ffdd61a <_start-0x229e6> + 80002034: deadbeef jal t4,7ffdd61e <_start-0x229e2> + +0000000080002038 : + 80002038: deadbeef jal t4,7ffdd622 <_start-0x229de> + 8000203c: deadbeef jal t4,7ffdd626 <_start-0x229da> + +0000000080002040 : + 80002040: deadbeef jal t4,7ffdd62a <_start-0x229d6> + 80002044: deadbeef jal t4,7ffdd62e <_start-0x229d2> + +0000000080002048 : + 80002048: deadbeef jal t4,7ffdd632 <_start-0x229ce> + 8000204c: deadbeef jal t4,7ffdd636 <_start-0x229ca> diff --git a/test/riscv/tests/rv64ui-p-sd.elf b/test/riscv/tests/rv64ui-p-sd.elf new file mode 100755 index 00000000..f6801dcf Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sd.elf differ diff --git a/test/riscv/tests/rv64ui-p-sh.dump b/test/riscv/tests/rv64ui-p-sh.dump new file mode 100644 index 00000000..dc11b449 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sh.dump @@ -0,0 +1,480 @@ + +rv64ui-p-sh: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00002097 auipc ra,0x2 + 80000100: f0408093 addi ra,ra,-252 # 80002000 + 80000104: 0aa00113 li sp,170 + 80000108: 00209023 sh sp,0(ra) + 8000010c: 00009f03 lh t5,0(ra) + 80000110: 0aa00e93 li t4,170 + 80000114: 00200193 li gp,2 + 80000118: 45df1e63 bne t5,t4,80000574 + +000000008000011c : + 8000011c: 00002097 auipc ra,0x2 + 80000120: ee408093 addi ra,ra,-284 # 80002000 + 80000124: ffffb137 lui sp,0xffffb + 80000128: a001011b addiw sp,sp,-1536 + 8000012c: 00209123 sh sp,2(ra) + 80000130: 00209f03 lh t5,2(ra) + 80000134: ffffbeb7 lui t4,0xffffb + 80000138: a00e8e9b addiw t4,t4,-1536 + 8000013c: 00300193 li gp,3 + 80000140: 43df1a63 bne t5,t4,80000574 + +0000000080000144 : + 80000144: 00002097 auipc ra,0x2 + 80000148: ebc08093 addi ra,ra,-324 # 80002000 + 8000014c: beef1137 lui sp,0xbeef1 + 80000150: aa01011b addiw sp,sp,-1376 + 80000154: 00209223 sh sp,4(ra) + 80000158: 0040af03 lw t5,4(ra) + 8000015c: beef1eb7 lui t4,0xbeef1 + 80000160: aa0e8e9b addiw t4,t4,-1376 + 80000164: 00400193 li gp,4 + 80000168: 41df1663 bne t5,t4,80000574 + +000000008000016c : + 8000016c: 00002097 auipc ra,0x2 + 80000170: e9408093 addi ra,ra,-364 # 80002000 + 80000174: ffffa137 lui sp,0xffffa + 80000178: 00a1011b addiw sp,sp,10 + 8000017c: 00209323 sh sp,6(ra) + 80000180: 00609f03 lh t5,6(ra) + 80000184: ffffaeb7 lui t4,0xffffa + 80000188: 00ae8e9b addiw t4,t4,10 + 8000018c: 00500193 li gp,5 + 80000190: 3fdf1263 bne t5,t4,80000574 + +0000000080000194 : + 80000194: 00002097 auipc ra,0x2 + 80000198: e7a08093 addi ra,ra,-390 # 8000200e + 8000019c: 0aa00113 li sp,170 + 800001a0: fe209d23 sh sp,-6(ra) + 800001a4: ffa09f03 lh t5,-6(ra) + 800001a8: 0aa00e93 li t4,170 + 800001ac: 00600193 li gp,6 + 800001b0: 3ddf1263 bne t5,t4,80000574 + +00000000800001b4 : + 800001b4: 00002097 auipc ra,0x2 + 800001b8: e5a08093 addi ra,ra,-422 # 8000200e + 800001bc: ffffb137 lui sp,0xffffb + 800001c0: a001011b addiw sp,sp,-1536 + 800001c4: fe209e23 sh sp,-4(ra) + 800001c8: ffc09f03 lh t5,-4(ra) + 800001cc: ffffbeb7 lui t4,0xffffb + 800001d0: a00e8e9b addiw t4,t4,-1536 + 800001d4: 00700193 li gp,7 + 800001d8: 39df1e63 bne t5,t4,80000574 + +00000000800001dc : + 800001dc: 00002097 auipc ra,0x2 + 800001e0: e3208093 addi ra,ra,-462 # 8000200e + 800001e4: 00001137 lui sp,0x1 + 800001e8: aa01011b addiw sp,sp,-1376 + 800001ec: fe209f23 sh sp,-2(ra) + 800001f0: ffe09f03 lh t5,-2(ra) + 800001f4: 00001eb7 lui t4,0x1 + 800001f8: aa0e8e9b addiw t4,t4,-1376 + 800001fc: 00800193 li gp,8 + 80000200: 37df1a63 bne t5,t4,80000574 + +0000000080000204 : + 80000204: 00002097 auipc ra,0x2 + 80000208: e0a08093 addi ra,ra,-502 # 8000200e + 8000020c: ffffa137 lui sp,0xffffa + 80000210: 00a1011b addiw sp,sp,10 + 80000214: 00209023 sh sp,0(ra) + 80000218: 00009f03 lh t5,0(ra) + 8000021c: ffffaeb7 lui t4,0xffffa + 80000220: 00ae8e9b addiw t4,t4,10 + 80000224: 00900193 li gp,9 + 80000228: 35df1663 bne t5,t4,80000574 + +000000008000022c : + 8000022c: 00002097 auipc ra,0x2 + 80000230: de408093 addi ra,ra,-540 # 80002010 + 80000234: 12345137 lui sp,0x12345 + 80000238: 6781011b addiw sp,sp,1656 + 8000023c: fe008213 addi tp,ra,-32 + 80000240: 02221023 sh sp,32(tp) # 20 <_start-0x7fffffe0> + 80000244: 00009283 lh t0,0(ra) + 80000248: 00005eb7 lui t4,0x5 + 8000024c: 678e8e9b addiw t4,t4,1656 + 80000250: 00a00193 li gp,10 + 80000254: 33d29063 bne t0,t4,80000574 + +0000000080000258 : + 80000258: 00002097 auipc ra,0x2 + 8000025c: db808093 addi ra,ra,-584 # 80002010 + 80000260: 00003137 lui sp,0x3 + 80000264: 0981011b addiw sp,sp,152 + 80000268: ffb08093 addi ra,ra,-5 + 8000026c: 002093a3 sh sp,7(ra) + 80000270: 00002217 auipc tp,0x2 + 80000274: da220213 addi tp,tp,-606 # 80002012 + 80000278: 00021283 lh t0,0(tp) # 0 <_start-0x80000000> + 8000027c: 00003eb7 lui t4,0x3 + 80000280: 098e8e9b addiw t4,t4,152 + 80000284: 00b00193 li gp,11 + 80000288: 2fd29663 bne t0,t4,80000574 + +000000008000028c : + 8000028c: 00c00193 li gp,12 + 80000290: 00000213 li tp,0 + 80000294: ffffd0b7 lui ra,0xffffd + 80000298: cdd0809b addiw ra,ra,-803 + 8000029c: 00002117 auipc sp,0x2 + 800002a0: d6410113 addi sp,sp,-668 # 80002000 + 800002a4: 00111023 sh ra,0(sp) + 800002a8: 00011f03 lh t5,0(sp) + 800002ac: ffffdeb7 lui t4,0xffffd + 800002b0: cdde8e9b addiw t4,t4,-803 + 800002b4: 2ddf1063 bne t5,t4,80000574 + 800002b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002bc: 00200293 li t0,2 + 800002c0: fc521ae3 bne tp,t0,80000294 + +00000000800002c4 : + 800002c4: 00d00193 li gp,13 + 800002c8: 00000213 li tp,0 + 800002cc: ffffc0b7 lui ra,0xffffc + 800002d0: ccd0809b addiw ra,ra,-819 + 800002d4: 00002117 auipc sp,0x2 + 800002d8: d2c10113 addi sp,sp,-724 # 80002000 + 800002dc: 00000013 nop + 800002e0: 00111123 sh ra,2(sp) + 800002e4: 00211f03 lh t5,2(sp) + 800002e8: ffffceb7 lui t4,0xffffc + 800002ec: ccde8e9b addiw t4,t4,-819 + 800002f0: 29df1263 bne t5,t4,80000574 + 800002f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002f8: 00200293 li t0,2 + 800002fc: fc5218e3 bne tp,t0,800002cc + +0000000080000300 : + 80000300: 00e00193 li gp,14 + 80000304: 00000213 li tp,0 + 80000308: ffffc0b7 lui ra,0xffffc + 8000030c: bcc0809b addiw ra,ra,-1076 + 80000310: 00002117 auipc sp,0x2 + 80000314: cf010113 addi sp,sp,-784 # 80002000 + 80000318: 00000013 nop + 8000031c: 00000013 nop + 80000320: 00111223 sh ra,4(sp) + 80000324: 00411f03 lh t5,4(sp) + 80000328: ffffceb7 lui t4,0xffffc + 8000032c: bcce8e9b addiw t4,t4,-1076 + 80000330: 25df1263 bne t5,t4,80000574 + 80000334: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000338: 00200293 li t0,2 + 8000033c: fc5216e3 bne tp,t0,80000308 + +0000000080000340 : + 80000340: 00f00193 li gp,15 + 80000344: 00000213 li tp,0 + 80000348: ffffb0b7 lui ra,0xffffb + 8000034c: bbc0809b addiw ra,ra,-1092 + 80000350: 00000013 nop + 80000354: 00002117 auipc sp,0x2 + 80000358: cac10113 addi sp,sp,-852 # 80002000 + 8000035c: 00111323 sh ra,6(sp) + 80000360: 00611f03 lh t5,6(sp) + 80000364: ffffbeb7 lui t4,0xffffb + 80000368: bbce8e9b addiw t4,t4,-1092 + 8000036c: 21df1463 bne t5,t4,80000574 + 80000370: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000374: 00200293 li t0,2 + 80000378: fc5218e3 bne tp,t0,80000348 + +000000008000037c : + 8000037c: 01000193 li gp,16 + 80000380: 00000213 li tp,0 + 80000384: ffffb0b7 lui ra,0xffffb + 80000388: abb0809b addiw ra,ra,-1349 + 8000038c: 00000013 nop + 80000390: 00002117 auipc sp,0x2 + 80000394: c7010113 addi sp,sp,-912 # 80002000 + 80000398: 00000013 nop + 8000039c: 00111423 sh ra,8(sp) + 800003a0: 00811f03 lh t5,8(sp) + 800003a4: ffffbeb7 lui t4,0xffffb + 800003a8: abbe8e9b addiw t4,t4,-1349 + 800003ac: 1ddf1463 bne t5,t4,80000574 + 800003b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003b4: 00200293 li t0,2 + 800003b8: fc5216e3 bne tp,t0,80000384 + +00000000800003bc : + 800003bc: 01100193 li gp,17 + 800003c0: 00000213 li tp,0 + 800003c4: ffffe0b7 lui ra,0xffffe + 800003c8: aab0809b addiw ra,ra,-1365 + 800003cc: 00000013 nop + 800003d0: 00000013 nop + 800003d4: 00002117 auipc sp,0x2 + 800003d8: c2c10113 addi sp,sp,-980 # 80002000 + 800003dc: 00111523 sh ra,10(sp) + 800003e0: 00a11f03 lh t5,10(sp) + 800003e4: ffffeeb7 lui t4,0xffffe + 800003e8: aabe8e9b addiw t4,t4,-1365 + 800003ec: 19df1463 bne t5,t4,80000574 + 800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f4: 00200293 li t0,2 + 800003f8: fc5216e3 bne tp,t0,800003c4 + +00000000800003fc : + 800003fc: 01200193 li gp,18 + 80000400: 00000213 li tp,0 + 80000404: 00002117 auipc sp,0x2 + 80000408: bfc10113 addi sp,sp,-1028 # 80002000 + 8000040c: 000020b7 lui ra,0x2 + 80000410: 2330809b addiw ra,ra,563 + 80000414: 00111023 sh ra,0(sp) + 80000418: 00011f03 lh t5,0(sp) + 8000041c: 00002eb7 lui t4,0x2 + 80000420: 233e8e9b addiw t4,t4,563 + 80000424: 15df1863 bne t5,t4,80000574 + 80000428: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000042c: 00200293 li t0,2 + 80000430: fc521ae3 bne tp,t0,80000404 + +0000000080000434 : + 80000434: 01300193 li gp,19 + 80000438: 00000213 li tp,0 + 8000043c: 00002117 auipc sp,0x2 + 80000440: bc410113 addi sp,sp,-1084 # 80002000 + 80000444: 000010b7 lui ra,0x1 + 80000448: 2230809b addiw ra,ra,547 + 8000044c: 00000013 nop + 80000450: 00111123 sh ra,2(sp) + 80000454: 00211f03 lh t5,2(sp) + 80000458: 00001eb7 lui t4,0x1 + 8000045c: 223e8e9b addiw t4,t4,547 + 80000460: 11df1a63 bne t5,t4,80000574 + 80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000468: 00200293 li t0,2 + 8000046c: fc5218e3 bne tp,t0,8000043c + +0000000080000470 : + 80000470: 01400193 li gp,20 + 80000474: 00000213 li tp,0 + 80000478: 00002117 auipc sp,0x2 + 8000047c: b8810113 addi sp,sp,-1144 # 80002000 + 80000480: 000010b7 lui ra,0x1 + 80000484: 1220809b addiw ra,ra,290 + 80000488: 00000013 nop + 8000048c: 00000013 nop + 80000490: 00111223 sh ra,4(sp) + 80000494: 00411f03 lh t5,4(sp) + 80000498: 00001eb7 lui t4,0x1 + 8000049c: 122e8e9b addiw t4,t4,290 + 800004a0: 0ddf1a63 bne t5,t4,80000574 + 800004a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a8: 00200293 li t0,2 + 800004ac: fc5216e3 bne tp,t0,80000478 + +00000000800004b0 : + 800004b0: 01500193 li gp,21 + 800004b4: 00000213 li tp,0 + 800004b8: 00002117 auipc sp,0x2 + 800004bc: b4810113 addi sp,sp,-1208 # 80002000 + 800004c0: 00000013 nop + 800004c4: 11200093 li ra,274 + 800004c8: 00111323 sh ra,6(sp) + 800004cc: 00611f03 lh t5,6(sp) + 800004d0: 11200e93 li t4,274 + 800004d4: 0bdf1063 bne t5,t4,80000574 + 800004d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004dc: 00200293 li t0,2 + 800004e0: fc521ce3 bne tp,t0,800004b8 + +00000000800004e4 : + 800004e4: 01600193 li gp,22 + 800004e8: 00000213 li tp,0 + 800004ec: 00002117 auipc sp,0x2 + 800004f0: b1410113 addi sp,sp,-1260 # 80002000 + 800004f4: 00000013 nop + 800004f8: 01100093 li ra,17 + 800004fc: 00000013 nop + 80000500: 00111423 sh ra,8(sp) + 80000504: 00811f03 lh t5,8(sp) + 80000508: 01100e93 li t4,17 + 8000050c: 07df1463 bne t5,t4,80000574 + 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000514: 00200293 li t0,2 + 80000518: fc521ae3 bne tp,t0,800004ec + +000000008000051c : + 8000051c: 01700193 li gp,23 + 80000520: 00000213 li tp,0 + 80000524: 00002117 auipc sp,0x2 + 80000528: adc10113 addi sp,sp,-1316 # 80002000 + 8000052c: 00000013 nop + 80000530: 00000013 nop + 80000534: 000030b7 lui ra,0x3 + 80000538: 0010809b addiw ra,ra,1 + 8000053c: 00111523 sh ra,10(sp) + 80000540: 00a11f03 lh t5,10(sp) + 80000544: 00003eb7 lui t4,0x3 + 80000548: 001e8e9b addiw t4,t4,1 + 8000054c: 03df1463 bne t5,t4,80000574 + 80000550: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000554: 00200293 li t0,2 + 80000558: fc5216e3 bne tp,t0,80000524 + 8000055c: 0000c537 lui a0,0xc + 80000560: eef5051b addiw a0,a0,-273 + 80000564: 00002597 auipc a1,0x2 + 80000568: a9c58593 addi a1,a1,-1380 # 80002000 + 8000056c: 00a59323 sh a0,6(a1) + 80000570: 00301c63 bne zero,gp,80000588 + +0000000080000574 : + 80000574: 0ff0000f fence + 80000578: 00018063 beqz gp,80000578 + 8000057c: 00119193 slli gp,gp,0x1 + 80000580: 0011e193 ori gp,gp,1 + 80000584: 00000073 ecall + +0000000080000588 : + 80000588: 0ff0000f fence + 8000058c: 00100193 li gp,1 + 80000590: 00000073 ecall + 80000594: c0001073 unimp + 80000598: 0000 unimp + 8000059a: 0000 unimp + 8000059c: 0000 unimp + 8000059e: 0000 unimp + 800005a0: 0000 unimp + 800005a2: 0000 unimp + 800005a4: 0000 unimp + 800005a6: 0000 unimp + 800005a8: 0000 unimp + 800005aa: 0000 unimp + 800005ac: 0000 unimp + 800005ae: 0000 unimp + 800005b0: 0000 unimp + 800005b2: 0000 unimp + 800005b4: 0000 unimp + 800005b6: 0000 unimp + 800005b8: 0000 unimp + 800005ba: 0000 unimp + 800005bc: 0000 unimp + 800005be: 0000 unimp + 800005c0: 0000 unimp + 800005c2: 0000 unimp + +Disassembly of section .data: + +0000000080002000 : + 80002000: jal t4,7fffd3ee <_start-0x2c12> + +0000000080002002 : + 80002002: jal t4,7fffd3f0 <_start-0x2c10> + +0000000080002004 : + 80002004: jal t4,7fffd3f2 <_start-0x2c0e> + +0000000080002006 : + 80002006: jal t4,7fffd3f4 <_start-0x2c0c> + +0000000080002008 : + 80002008: jal t4,7fffd3f6 <_start-0x2c0a> + +000000008000200a : + 8000200a: jal t4,7fffd3f8 <_start-0x2c08> + +000000008000200c : + 8000200c: jal t4,7fffd3fa <_start-0x2c06> + +000000008000200e : + 8000200e: jal t4,7fffd3fc <_start-0x2c04> + +0000000080002010 : + 80002010: jal t4,7fffd3fe <_start-0x2c02> + +0000000080002012 : + 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/test/riscv/tests/rv64ui-p-sh.elf b/test/riscv/tests/rv64ui-p-sh.elf new file mode 100755 index 00000000..118eeb3f Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sh.elf differ diff --git a/test/riscv/tests/rv64ui-p-simple.dump b/test/riscv/tests/rv64ui-p-simple.dump new file mode 100644 index 00000000..7a05fb7e --- /dev/null +++ b/test/riscv/tests/rv64ui-p-simple.dump @@ -0,0 +1,110 @@ + +rv64ui-p-simple: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + 800000fc: 0ff0000f fence + 80000100: 00100193 li gp,1 + 80000104: 00000073 ecall + 80000108: c0001073 unimp + 8000010c: 0000 unimp + 8000010e: 0000 unimp + 80000110: 0000 unimp + 80000112: 0000 unimp + 80000114: 0000 unimp + 80000116: 0000 unimp + 80000118: 0000 unimp + 8000011a: 0000 unimp + 8000011c: 0000 unimp + 8000011e: 0000 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/test/riscv/tests/rv64ui-p-simple.elf b/test/riscv/tests/rv64ui-p-simple.elf new file mode 100755 index 00000000..541353b3 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-simple.elf differ diff --git a/test/riscv/tests/rv64ui-p-sll.dump b/test/riscv/tests/rv64ui-p-sll.dump new file mode 100644 index 00000000..c2ac48ff --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sll.dump @@ -0,0 +1,580 @@ + +rv64ui-p-sll: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00100093 li ra,1 + 80000100: 00000113 li sp,0 + 80000104: 00209f33 sll t5,ra,sp + 80000108: 00100e93 li t4,1 + 8000010c: 00200193 li gp,2 + 80000110: 5fdf1c63 bne t5,t4,80000708 + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 00209f33 sll t5,ra,sp + 80000120: 00200e93 li t4,2 + 80000124: 00300193 li gp,3 + 80000128: 5fdf1063 bne t5,t4,80000708 + +000000008000012c : + 8000012c: 00100093 li ra,1 + 80000130: 00700113 li sp,7 + 80000134: 00209f33 sll t5,ra,sp + 80000138: 08000e93 li t4,128 + 8000013c: 00400193 li gp,4 + 80000140: 5ddf1463 bne t5,t4,80000708 + +0000000080000144 : + 80000144: 00100093 li ra,1 + 80000148: 00e00113 li sp,14 + 8000014c: 00209f33 sll t5,ra,sp + 80000150: 00004eb7 lui t4,0x4 + 80000154: 00500193 li gp,5 + 80000158: 5bdf1863 bne t5,t4,80000708 + +000000008000015c : + 8000015c: 00100093 li ra,1 + 80000160: 01f00113 li sp,31 + 80000164: 00209f33 sll t5,ra,sp + 80000168: 00100e9b addiw t4,zero,1 + 8000016c: 01fe9e93 slli t4,t4,0x1f + 80000170: 00600193 li gp,6 + 80000174: 59df1a63 bne t5,t4,80000708 + +0000000080000178 : + 80000178: fff00093 li ra,-1 + 8000017c: 00000113 li sp,0 + 80000180: 00209f33 sll t5,ra,sp + 80000184: fff00e93 li t4,-1 + 80000188: 00700193 li gp,7 + 8000018c: 57df1e63 bne t5,t4,80000708 + +0000000080000190 : + 80000190: fff00093 li ra,-1 + 80000194: 00100113 li sp,1 + 80000198: 00209f33 sll t5,ra,sp + 8000019c: ffe00e93 li t4,-2 + 800001a0: 00800193 li gp,8 + 800001a4: 57df1263 bne t5,t4,80000708 + +00000000800001a8 : + 800001a8: fff00093 li ra,-1 + 800001ac: 00700113 li sp,7 + 800001b0: 00209f33 sll t5,ra,sp + 800001b4: f8000e93 li t4,-128 + 800001b8: 00900193 li gp,9 + 800001bc: 55df1663 bne t5,t4,80000708 + +00000000800001c0 : + 800001c0: fff00093 li ra,-1 + 800001c4: 00e00113 li sp,14 + 800001c8: 00209f33 sll t5,ra,sp + 800001cc: ffffceb7 lui t4,0xffffc + 800001d0: 00a00193 li gp,10 + 800001d4: 53df1a63 bne t5,t4,80000708 + +00000000800001d8 : + 800001d8: fff00093 li ra,-1 + 800001dc: 01f00113 li sp,31 + 800001e0: 00209f33 sll t5,ra,sp + 800001e4: 80000eb7 lui t4,0x80000 + 800001e8: 00b00193 li gp,11 + 800001ec: 51df1e63 bne t5,t4,80000708 + +00000000800001f0 : + 800001f0: 212120b7 lui ra,0x21212 + 800001f4: 1210809b addiw ra,ra,289 + 800001f8: 00000113 li sp,0 + 800001fc: 00209f33 sll t5,ra,sp + 80000200: 21212eb7 lui t4,0x21212 + 80000204: 121e8e9b addiw t4,t4,289 + 80000208: 00c00193 li gp,12 + 8000020c: 4fdf1e63 bne t5,t4,80000708 + +0000000080000210 : + 80000210: 212120b7 lui ra,0x21212 + 80000214: 1210809b addiw ra,ra,289 + 80000218: 00100113 li sp,1 + 8000021c: 00209f33 sll t5,ra,sp + 80000220: 42424eb7 lui t4,0x42424 + 80000224: 242e8e9b addiw t4,t4,578 + 80000228: 00d00193 li gp,13 + 8000022c: 4ddf1e63 bne t5,t4,80000708 + +0000000080000230 : + 80000230: 212120b7 lui ra,0x21212 + 80000234: 1210809b addiw ra,ra,289 + 80000238: 00700113 li sp,7 + 8000023c: 00209f33 sll t5,ra,sp + 80000240: 01091eb7 lui t4,0x1091 + 80000244: 909e8e9b addiw t4,t4,-1783 + 80000248: 00ce9e93 slli t4,t4,0xc + 8000024c: 080e8e93 addi t4,t4,128 # 1091080 <_start-0x7ef6ef80> + 80000250: 00e00193 li gp,14 + 80000254: 4bdf1a63 bne t5,t4,80000708 + +0000000080000258 : + 80000258: 212120b7 lui ra,0x21212 + 8000025c: 1210809b addiw ra,ra,289 + 80000260: 00e00113 li sp,14 + 80000264: 00209f33 sll t5,ra,sp + 80000268: 21212eb7 lui t4,0x21212 + 8000026c: 121e8e9b addiw t4,t4,289 + 80000270: 00ee9e93 slli t4,t4,0xe + 80000274: 00f00193 li gp,15 + 80000278: 49df1863 bne t5,t4,80000708 + +000000008000027c : + 8000027c: 212120b7 lui ra,0x21212 + 80000280: 1210809b addiw ra,ra,289 + 80000284: 01f00113 li sp,31 + 80000288: 00209f33 sll t5,ra,sp + 8000028c: 21212eb7 lui t4,0x21212 + 80000290: 121e8e9b addiw t4,t4,289 + 80000294: 01fe9e93 slli t4,t4,0x1f + 80000298: 01000193 li gp,16 + 8000029c: 47df1663 bne t5,t4,80000708 + +00000000800002a0 : + 800002a0: 212120b7 lui ra,0x21212 + 800002a4: 1210809b addiw ra,ra,289 + 800002a8: fc000113 li sp,-64 + 800002ac: 00209f33 sll t5,ra,sp + 800002b0: 21212eb7 lui t4,0x21212 + 800002b4: 121e8e9b addiw t4,t4,289 + 800002b8: 01100193 li gp,17 + 800002bc: 45df1663 bne t5,t4,80000708 + +00000000800002c0 : + 800002c0: 212120b7 lui ra,0x21212 + 800002c4: 1210809b addiw ra,ra,289 + 800002c8: fc100113 li sp,-63 + 800002cc: 00209f33 sll t5,ra,sp + 800002d0: 42424eb7 lui t4,0x42424 + 800002d4: 242e8e9b addiw t4,t4,578 + 800002d8: 01200193 li gp,18 + 800002dc: 43df1663 bne t5,t4,80000708 + +00000000800002e0 : + 800002e0: 212120b7 lui ra,0x21212 + 800002e4: 1210809b addiw ra,ra,289 + 800002e8: fc700113 li sp,-57 + 800002ec: 00209f33 sll t5,ra,sp + 800002f0: 01091eb7 lui t4,0x1091 + 800002f4: 909e8e9b addiw t4,t4,-1783 + 800002f8: 00ce9e93 slli t4,t4,0xc + 800002fc: 080e8e93 addi t4,t4,128 # 1091080 <_start-0x7ef6ef80> + 80000300: 01300193 li gp,19 + 80000304: 41df1263 bne t5,t4,80000708 + +0000000080000308 : + 80000308: 212120b7 lui ra,0x21212 + 8000030c: 1210809b addiw ra,ra,289 + 80000310: fce00113 li sp,-50 + 80000314: 00209f33 sll t5,ra,sp + 80000318: 21212eb7 lui t4,0x21212 + 8000031c: 121e8e9b addiw t4,t4,289 + 80000320: 00ee9e93 slli t4,t4,0xe + 80000324: 01400193 li gp,20 + 80000328: 3fdf1063 bne t5,t4,80000708 + +000000008000032c : + 8000032c: 212120b7 lui ra,0x21212 + 80000330: 1210809b addiw ra,ra,289 + 80000334: fff00113 li sp,-1 + 80000338: 00209f33 sll t5,ra,sp + 8000033c: fff00e9b addiw t4,zero,-1 + 80000340: 03fe9e93 slli t4,t4,0x3f + 80000344: 01500193 li gp,21 + 80000348: 3ddf1063 bne t5,t4,80000708 + +000000008000034c : + 8000034c: 00100093 li ra,1 + 80000350: 03f00113 li sp,63 + 80000354: 00209f33 sll t5,ra,sp + 80000358: fff00e9b addiw t4,zero,-1 + 8000035c: 03fe9e93 slli t4,t4,0x3f + 80000360: 03200193 li gp,50 + 80000364: 3bdf1263 bne t5,t4,80000708 + +0000000080000368 : + 80000368: fff00093 li ra,-1 + 8000036c: 02700113 li sp,39 + 80000370: 00209f33 sll t5,ra,sp + 80000374: fff00e9b addiw t4,zero,-1 + 80000378: 027e9e93 slli t4,t4,0x27 + 8000037c: 03300193 li gp,51 + 80000380: 39df1463 bne t5,t4,80000708 + +0000000080000384 : + 80000384: 212120b7 lui ra,0x21212 + 80000388: 1210809b addiw ra,ra,289 + 8000038c: 02b00113 li sp,43 + 80000390: 00209f33 sll t5,ra,sp + 80000394: 00012eb7 lui t4,0x12 + 80000398: 121e8e9b addiw t4,t4,289 + 8000039c: 02be9e93 slli t4,t4,0x2b + 800003a0: 03400193 li gp,52 + 800003a4: 37df1263 bne t5,t4,80000708 + +00000000800003a8 : + 800003a8: 00100093 li ra,1 + 800003ac: 00700113 li sp,7 + 800003b0: 002090b3 sll ra,ra,sp + 800003b4: 08000e93 li t4,128 + 800003b8: 01600193 li gp,22 + 800003bc: 35d09663 bne ra,t4,80000708 + +00000000800003c0 : + 800003c0: 00100093 li ra,1 + 800003c4: 00e00113 li sp,14 + 800003c8: 00209133 sll sp,ra,sp + 800003cc: 00004eb7 lui t4,0x4 + 800003d0: 01700193 li gp,23 + 800003d4: 33d11a63 bne sp,t4,80000708 + +00000000800003d8 : + 800003d8: 00300093 li ra,3 + 800003dc: 001090b3 sll ra,ra,ra + 800003e0: 01800e93 li t4,24 + 800003e4: 01800193 li gp,24 + 800003e8: 33d09063 bne ra,t4,80000708 + +00000000800003ec : + 800003ec: 00000213 li tp,0 + 800003f0: 00100093 li ra,1 + 800003f4: 00700113 li sp,7 + 800003f8: 00209f33 sll t5,ra,sp + 800003fc: 000f0313 mv t1,t5 + 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000404: 00200293 li t0,2 + 80000408: fe5214e3 bne tp,t0,800003f0 + 8000040c: 08000e93 li t4,128 + 80000410: 01900193 li gp,25 + 80000414: 2fd31a63 bne t1,t4,80000708 + +0000000080000418 : + 80000418: 00000213 li tp,0 + 8000041c: 00100093 li ra,1 + 80000420: 00e00113 li sp,14 + 80000424: 00209f33 sll t5,ra,sp + 80000428: 00000013 nop + 8000042c: 000f0313 mv t1,t5 + 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000434: 00200293 li t0,2 + 80000438: fe5212e3 bne tp,t0,8000041c + 8000043c: 00004eb7 lui t4,0x4 + 80000440: 01a00193 li gp,26 + 80000444: 2dd31263 bne t1,t4,80000708 + +0000000080000448 : + 80000448: 00000213 li tp,0 + 8000044c: 00100093 li ra,1 + 80000450: 01f00113 li sp,31 + 80000454: 00209f33 sll t5,ra,sp + 80000458: 00000013 nop + 8000045c: 00000013 nop + 80000460: 000f0313 mv t1,t5 + 80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000468: 00200293 li t0,2 + 8000046c: fe5210e3 bne tp,t0,8000044c + 80000470: 00100e9b addiw t4,zero,1 + 80000474: 01fe9e93 slli t4,t4,0x1f + 80000478: 01b00193 li gp,27 + 8000047c: 29d31663 bne t1,t4,80000708 + +0000000080000480 : + 80000480: 00000213 li tp,0 + 80000484: 00100093 li ra,1 + 80000488: 00700113 li sp,7 + 8000048c: 00209f33 sll t5,ra,sp + 80000490: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000494: 00200293 li t0,2 + 80000498: fe5216e3 bne tp,t0,80000484 + 8000049c: 08000e93 li t4,128 + 800004a0: 01c00193 li gp,28 + 800004a4: 27df1263 bne t5,t4,80000708 + +00000000800004a8 : + 800004a8: 00000213 li tp,0 + 800004ac: 00100093 li ra,1 + 800004b0: 00e00113 li sp,14 + 800004b4: 00000013 nop + 800004b8: 00209f33 sll t5,ra,sp + 800004bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004c0: 00200293 li t0,2 + 800004c4: fe5214e3 bne tp,t0,800004ac + 800004c8: 00004eb7 lui t4,0x4 + 800004cc: 01d00193 li gp,29 + 800004d0: 23df1c63 bne t5,t4,80000708 + +00000000800004d4 : + 800004d4: 00000213 li tp,0 + 800004d8: 00100093 li ra,1 + 800004dc: 01f00113 li sp,31 + 800004e0: 00000013 nop + 800004e4: 00000013 nop + 800004e8: 00209f33 sll t5,ra,sp + 800004ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004f0: 00200293 li t0,2 + 800004f4: fe5212e3 bne tp,t0,800004d8 + 800004f8: 00100e9b addiw t4,zero,1 + 800004fc: 01fe9e93 slli t4,t4,0x1f + 80000500: 01e00193 li gp,30 + 80000504: 21df1263 bne t5,t4,80000708 + +0000000080000508 : + 80000508: 00000213 li tp,0 + 8000050c: 00100093 li ra,1 + 80000510: 00000013 nop + 80000514: 00700113 li sp,7 + 80000518: 00209f33 sll t5,ra,sp + 8000051c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000520: 00200293 li t0,2 + 80000524: fe5214e3 bne tp,t0,8000050c + 80000528: 08000e93 li t4,128 + 8000052c: 01f00193 li gp,31 + 80000530: 1ddf1c63 bne t5,t4,80000708 + +0000000080000534 : + 80000534: 00000213 li tp,0 + 80000538: 00100093 li ra,1 + 8000053c: 00000013 nop + 80000540: 00e00113 li sp,14 + 80000544: 00000013 nop + 80000548: 00209f33 sll t5,ra,sp + 8000054c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000550: 00200293 li t0,2 + 80000554: fe5212e3 bne tp,t0,80000538 + 80000558: 00004eb7 lui t4,0x4 + 8000055c: 02000193 li gp,32 + 80000560: 1bdf1463 bne t5,t4,80000708 + +0000000080000564 : + 80000564: 00000213 li tp,0 + 80000568: 00100093 li ra,1 + 8000056c: 00000013 nop + 80000570: 00000013 nop + 80000574: 01f00113 li sp,31 + 80000578: 00209f33 sll t5,ra,sp + 8000057c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000580: 00200293 li t0,2 + 80000584: fe5212e3 bne tp,t0,80000568 + 80000588: 00100e9b addiw t4,zero,1 + 8000058c: 01fe9e93 slli t4,t4,0x1f + 80000590: 02100193 li gp,33 + 80000594: 17df1a63 bne t5,t4,80000708 + +0000000080000598 : + 80000598: 00000213 li tp,0 + 8000059c: 00700113 li sp,7 + 800005a0: 00100093 li ra,1 + 800005a4: 00209f33 sll t5,ra,sp + 800005a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005ac: 00200293 li t0,2 + 800005b0: fe5216e3 bne tp,t0,8000059c + 800005b4: 08000e93 li t4,128 + 800005b8: 02200193 li gp,34 + 800005bc: 15df1663 bne t5,t4,80000708 + +00000000800005c0 : + 800005c0: 00000213 li tp,0 + 800005c4: 00e00113 li sp,14 + 800005c8: 00100093 li ra,1 + 800005cc: 00000013 nop + 800005d0: 00209f33 sll t5,ra,sp + 800005d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005d8: 00200293 li t0,2 + 800005dc: fe5214e3 bne tp,t0,800005c4 + 800005e0: 00004eb7 lui t4,0x4 + 800005e4: 02300193 li gp,35 + 800005e8: 13df1063 bne t5,t4,80000708 + +00000000800005ec : + 800005ec: 00000213 li tp,0 + 800005f0: 01f00113 li sp,31 + 800005f4: 00100093 li ra,1 + 800005f8: 00000013 nop + 800005fc: 00000013 nop + 80000600: 00209f33 sll t5,ra,sp + 80000604: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000608: 00200293 li t0,2 + 8000060c: fe5212e3 bne tp,t0,800005f0 + 80000610: 00100e9b addiw t4,zero,1 + 80000614: 01fe9e93 slli t4,t4,0x1f + 80000618: 02400193 li gp,36 + 8000061c: 0fdf1663 bne t5,t4,80000708 + +0000000080000620 : + 80000620: 00000213 li tp,0 + 80000624: 00700113 li sp,7 + 80000628: 00000013 nop + 8000062c: 00100093 li ra,1 + 80000630: 00209f33 sll t5,ra,sp + 80000634: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000638: 00200293 li t0,2 + 8000063c: fe5214e3 bne tp,t0,80000624 + 80000640: 08000e93 li t4,128 + 80000644: 02500193 li gp,37 + 80000648: 0ddf1063 bne t5,t4,80000708 + +000000008000064c : + 8000064c: 00000213 li tp,0 + 80000650: 00e00113 li sp,14 + 80000654: 00000013 nop + 80000658: 00100093 li ra,1 + 8000065c: 00000013 nop + 80000660: 00209f33 sll t5,ra,sp + 80000664: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000668: 00200293 li t0,2 + 8000066c: fe5212e3 bne tp,t0,80000650 + 80000670: 00004eb7 lui t4,0x4 + 80000674: 02600193 li gp,38 + 80000678: 09df1863 bne t5,t4,80000708 + +000000008000067c : + 8000067c: 00000213 li tp,0 + 80000680: 01f00113 li sp,31 + 80000684: 00000013 nop + 80000688: 00000013 nop + 8000068c: 00100093 li ra,1 + 80000690: 00209f33 sll t5,ra,sp + 80000694: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000698: 00200293 li t0,2 + 8000069c: fe5212e3 bne tp,t0,80000680 + 800006a0: 00100e9b addiw t4,zero,1 + 800006a4: 01fe9e93 slli t4,t4,0x1f + 800006a8: 02700193 li gp,39 + 800006ac: 05df1e63 bne t5,t4,80000708 + +00000000800006b0 : + 800006b0: 00f00093 li ra,15 + 800006b4: 00101133 sll sp,zero,ra + 800006b8: 00000e93 li t4,0 + 800006bc: 02800193 li gp,40 + 800006c0: 05d11463 bne sp,t4,80000708 + +00000000800006c4 : + 800006c4: 02000093 li ra,32 + 800006c8: 00009133 sll sp,ra,zero + 800006cc: 02000e93 li t4,32 + 800006d0: 02900193 li gp,41 + 800006d4: 03d11a63 bne sp,t4,80000708 + +00000000800006d8 : + 800006d8: 000010b3 sll ra,zero,zero + 800006dc: 00000e93 li t4,0 + 800006e0: 02a00193 li gp,42 + 800006e4: 03d09263 bne ra,t4,80000708 + +00000000800006e8 : + 800006e8: 40000093 li ra,1024 + 800006ec: 00001137 lui sp,0x1 + 800006f0: 8001011b addiw sp,sp,-2048 + 800006f4: 00209033 sll zero,ra,sp + 800006f8: 00000e93 li t4,0 + 800006fc: 02b00193 li gp,43 + 80000700: 01d01463 bne zero,t4,80000708 + 80000704: 00301c63 bne zero,gp,8000071c + +0000000080000708 : + 80000708: 0ff0000f fence + 8000070c: 00018063 beqz gp,8000070c + 80000710: 00119193 slli gp,gp,0x1 + 80000714: 0011e193 ori gp,gp,1 + 80000718: 00000073 ecall + +000000008000071c : + 8000071c: 0ff0000f fence + 80000720: 00100193 li gp,1 + 80000724: 00000073 ecall + 80000728: c0001073 unimp + 8000072c: 0000 unimp + 8000072e: 0000 unimp + 80000730: 0000 unimp + 80000732: 0000 unimp + 80000734: 0000 unimp + 80000736: 0000 unimp + 80000738: 0000 unimp + 8000073a: 0000 unimp + 8000073c: 0000 unimp + 8000073e: 0000 unimp + 80000740: 0000 unimp + 80000742: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-sll.elf b/test/riscv/tests/rv64ui-p-sll.elf new file mode 100755 index 00000000..ad48a8ea Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sll.elf differ diff --git a/test/riscv/tests/rv64ui-p-slli.dump b/test/riscv/tests/rv64ui-p-slli.dump new file mode 100644 index 00000000..de783cf8 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-slli.dump @@ -0,0 +1,354 @@ + +rv64ui-p-slli: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00100093 li ra,1 + 80000100: 00009f13 slli t5,ra,0x0 + 80000104: 00100e93 li t4,1 + 80000108: 00200193 li gp,2 + 8000010c: 2fdf1a63 bne t5,t4,80000400 + +0000000080000110 : + 80000110: 00100093 li ra,1 + 80000114: 00109f13 slli t5,ra,0x1 + 80000118: 00200e93 li t4,2 + 8000011c: 00300193 li gp,3 + 80000120: 2fdf1063 bne t5,t4,80000400 + +0000000080000124 : + 80000124: 00100093 li ra,1 + 80000128: 00709f13 slli t5,ra,0x7 + 8000012c: 08000e93 li t4,128 + 80000130: 00400193 li gp,4 + 80000134: 2ddf1663 bne t5,t4,80000400 + +0000000080000138 : + 80000138: 00100093 li ra,1 + 8000013c: 00e09f13 slli t5,ra,0xe + 80000140: 00004eb7 lui t4,0x4 + 80000144: 00500193 li gp,5 + 80000148: 2bdf1c63 bne t5,t4,80000400 + +000000008000014c : + 8000014c: 00100093 li ra,1 + 80000150: 01f09f13 slli t5,ra,0x1f + 80000154: 00100e9b addiw t4,zero,1 + 80000158: 01fe9e93 slli t4,t4,0x1f + 8000015c: 00600193 li gp,6 + 80000160: 2bdf1063 bne t5,t4,80000400 + +0000000080000164 : + 80000164: fff00093 li ra,-1 + 80000168: 00009f13 slli t5,ra,0x0 + 8000016c: fff00e93 li t4,-1 + 80000170: 00700193 li gp,7 + 80000174: 29df1663 bne t5,t4,80000400 + +0000000080000178 : + 80000178: fff00093 li ra,-1 + 8000017c: 00109f13 slli t5,ra,0x1 + 80000180: ffe00e93 li t4,-2 + 80000184: 00800193 li gp,8 + 80000188: 27df1c63 bne t5,t4,80000400 + +000000008000018c : + 8000018c: fff00093 li ra,-1 + 80000190: 00709f13 slli t5,ra,0x7 + 80000194: f8000e93 li t4,-128 + 80000198: 00900193 li gp,9 + 8000019c: 27df1263 bne t5,t4,80000400 + +00000000800001a0 : + 800001a0: fff00093 li ra,-1 + 800001a4: 00e09f13 slli t5,ra,0xe + 800001a8: ffffceb7 lui t4,0xffffc + 800001ac: 00a00193 li gp,10 + 800001b0: 25df1863 bne t5,t4,80000400 + +00000000800001b4 : + 800001b4: fff00093 li ra,-1 + 800001b8: 01f09f13 slli t5,ra,0x1f + 800001bc: 80000eb7 lui t4,0x80000 + 800001c0: 00b00193 li gp,11 + 800001c4: 23df1e63 bne t5,t4,80000400 + +00000000800001c8 : + 800001c8: 212120b7 lui ra,0x21212 + 800001cc: 1210809b addiw ra,ra,289 + 800001d0: 00009f13 slli t5,ra,0x0 + 800001d4: 21212eb7 lui t4,0x21212 + 800001d8: 121e8e9b addiw t4,t4,289 + 800001dc: 00c00193 li gp,12 + 800001e0: 23df1063 bne t5,t4,80000400 + +00000000800001e4 : + 800001e4: 212120b7 lui ra,0x21212 + 800001e8: 1210809b addiw ra,ra,289 + 800001ec: 00109f13 slli t5,ra,0x1 + 800001f0: 42424eb7 lui t4,0x42424 + 800001f4: 242e8e9b addiw t4,t4,578 + 800001f8: 00d00193 li gp,13 + 800001fc: 21df1263 bne t5,t4,80000400 + +0000000080000200 : + 80000200: 212120b7 lui ra,0x21212 + 80000204: 1210809b addiw ra,ra,289 + 80000208: 00709f13 slli t5,ra,0x7 + 8000020c: 01091eb7 lui t4,0x1091 + 80000210: 909e8e9b addiw t4,t4,-1783 + 80000214: 00ce9e93 slli t4,t4,0xc + 80000218: 080e8e93 addi t4,t4,128 # 1091080 <_start-0x7ef6ef80> + 8000021c: 00e00193 li gp,14 + 80000220: 1fdf1063 bne t5,t4,80000400 + +0000000080000224 : + 80000224: 212120b7 lui ra,0x21212 + 80000228: 1210809b addiw ra,ra,289 + 8000022c: 00e09f13 slli t5,ra,0xe + 80000230: 21212eb7 lui t4,0x21212 + 80000234: 121e8e9b addiw t4,t4,289 + 80000238: 00ee9e93 slli t4,t4,0xe + 8000023c: 00f00193 li gp,15 + 80000240: 1ddf1063 bne t5,t4,80000400 + +0000000080000244 : + 80000244: 212120b7 lui ra,0x21212 + 80000248: 1210809b addiw ra,ra,289 + 8000024c: 01f09f13 slli t5,ra,0x1f + 80000250: 21212eb7 lui t4,0x21212 + 80000254: 121e8e9b addiw t4,t4,289 + 80000258: 01fe9e93 slli t4,t4,0x1f + 8000025c: 01000193 li gp,16 + 80000260: 1bdf1063 bne t5,t4,80000400 + +0000000080000264 : + 80000264: 00100093 li ra,1 + 80000268: 03f00113 li sp,63 + 8000026c: 00209f33 sll t5,ra,sp + 80000270: fff00e9b addiw t4,zero,-1 + 80000274: 03fe9e93 slli t4,t4,0x3f + 80000278: 03200193 li gp,50 + 8000027c: 19df1263 bne t5,t4,80000400 + +0000000080000280 : + 80000280: fff00093 li ra,-1 + 80000284: 02700113 li sp,39 + 80000288: 00209f33 sll t5,ra,sp + 8000028c: fff00e9b addiw t4,zero,-1 + 80000290: 027e9e93 slli t4,t4,0x27 + 80000294: 03300193 li gp,51 + 80000298: 17df1463 bne t5,t4,80000400 + +000000008000029c : + 8000029c: 212120b7 lui ra,0x21212 + 800002a0: 1210809b addiw ra,ra,289 + 800002a4: 02b00113 li sp,43 + 800002a8: 00209f33 sll t5,ra,sp + 800002ac: 00012eb7 lui t4,0x12 + 800002b0: 121e8e9b addiw t4,t4,289 + 800002b4: 02be9e93 slli t4,t4,0x2b + 800002b8: 03400193 li gp,52 + 800002bc: 15df1263 bne t5,t4,80000400 + +00000000800002c0 : + 800002c0: 00100093 li ra,1 + 800002c4: 00709093 slli ra,ra,0x7 + 800002c8: 08000e93 li t4,128 + 800002cc: 01100193 li gp,17 + 800002d0: 13d09863 bne ra,t4,80000400 + +00000000800002d4 : + 800002d4: 00000213 li tp,0 + 800002d8: 00100093 li ra,1 + 800002dc: 00709f13 slli t5,ra,0x7 + 800002e0: 000f0313 mv t1,t5 + 800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002e8: 00200293 li t0,2 + 800002ec: fe5216e3 bne tp,t0,800002d8 + 800002f0: 08000e93 li t4,128 + 800002f4: 01200193 li gp,18 + 800002f8: 11d31463 bne t1,t4,80000400 + +00000000800002fc : + 800002fc: 00000213 li tp,0 + 80000300: 00100093 li ra,1 + 80000304: 00e09f13 slli t5,ra,0xe + 80000308: 00000013 nop + 8000030c: 000f0313 mv t1,t5 + 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000314: 00200293 li t0,2 + 80000318: fe5214e3 bne tp,t0,80000300 + 8000031c: 00004eb7 lui t4,0x4 + 80000320: 01300193 li gp,19 + 80000324: 0dd31e63 bne t1,t4,80000400 + +0000000080000328 : + 80000328: 00000213 li tp,0 + 8000032c: 00100093 li ra,1 + 80000330: 01f09f13 slli t5,ra,0x1f + 80000334: 00000013 nop + 80000338: 00000013 nop + 8000033c: 000f0313 mv t1,t5 + 80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000344: 00200293 li t0,2 + 80000348: fe5212e3 bne tp,t0,8000032c + 8000034c: 00100e9b addiw t4,zero,1 + 80000350: 01fe9e93 slli t4,t4,0x1f + 80000354: 01400193 li gp,20 + 80000358: 0bd31463 bne t1,t4,80000400 + +000000008000035c : + 8000035c: 00000213 li tp,0 + 80000360: 00100093 li ra,1 + 80000364: 00709f13 slli t5,ra,0x7 + 80000368: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000036c: 00200293 li t0,2 + 80000370: fe5218e3 bne tp,t0,80000360 + 80000374: 08000e93 li t4,128 + 80000378: 01500193 li gp,21 + 8000037c: 09df1263 bne t5,t4,80000400 + +0000000080000380 : + 80000380: 00000213 li tp,0 + 80000384: 00100093 li ra,1 + 80000388: 00000013 nop + 8000038c: 00e09f13 slli t5,ra,0xe + 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000394: 00200293 li t0,2 + 80000398: fe5216e3 bne tp,t0,80000384 + 8000039c: 00004eb7 lui t4,0x4 + 800003a0: 01600193 li gp,22 + 800003a4: 05df1e63 bne t5,t4,80000400 + +00000000800003a8 : + 800003a8: 00000213 li tp,0 + 800003ac: 00100093 li ra,1 + 800003b0: 00000013 nop + 800003b4: 00000013 nop + 800003b8: 01f09f13 slli t5,ra,0x1f + 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c0: 00200293 li t0,2 + 800003c4: fe5214e3 bne tp,t0,800003ac + 800003c8: 00100e9b addiw t4,zero,1 + 800003cc: 01fe9e93 slli t4,t4,0x1f + 800003d0: 01700193 li gp,23 + 800003d4: 03df1663 bne t5,t4,80000400 + +00000000800003d8 : + 800003d8: 01f01093 slli ra,zero,0x1f + 800003dc: 00000e93 li t4,0 + 800003e0: 01800193 li gp,24 + 800003e4: 01d09e63 bne ra,t4,80000400 + +00000000800003e8 : + 800003e8: 02100093 li ra,33 + 800003ec: 01409013 slli zero,ra,0x14 + 800003f0: 00000e93 li t4,0 + 800003f4: 01900193 li gp,25 + 800003f8: 01d01463 bne zero,t4,80000400 + 800003fc: 00301c63 bne zero,gp,80000414 + +0000000080000400 : + 80000400: 0ff0000f fence + 80000404: 00018063 beqz gp,80000404 + 80000408: 00119193 slli gp,gp,0x1 + 8000040c: 0011e193 ori gp,gp,1 + 80000410: 00000073 ecall + +0000000080000414 : + 80000414: 0ff0000f fence + 80000418: 00100193 li gp,1 + 8000041c: 00000073 ecall + 80000420: c0001073 unimp + 80000424: 0000 unimp + 80000426: 0000 unimp + 80000428: 0000 unimp + 8000042a: 0000 unimp + 8000042c: 0000 unimp + 8000042e: 0000 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/test/riscv/tests/rv64ui-p-slli.elf b/test/riscv/tests/rv64ui-p-slli.elf new file mode 100755 index 00000000..12c898f3 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-slli.elf differ diff --git a/test/riscv/tests/rv64ui-p-slliw.dump b/test/riscv/tests/rv64ui-p-slliw.dump new file mode 100644 index 00000000..b821b9fc --- /dev/null +++ b/test/riscv/tests/rv64ui-p-slliw.dump @@ -0,0 +1,316 @@ + +rv64ui-p-slliw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00100093 li ra,1 + 80000100: 00009f1b slliw t5,ra,0x0 + 80000104: 00100e93 li t4,1 + 80000108: 00200193 li gp,2 + 8000010c: 27df1a63 bne t5,t4,80000380 + +0000000080000110 : + 80000110: 00100093 li ra,1 + 80000114: 00109f1b slliw t5,ra,0x1 + 80000118: 00200e93 li t4,2 + 8000011c: 00300193 li gp,3 + 80000120: 27df1063 bne t5,t4,80000380 + +0000000080000124 : + 80000124: 00100093 li ra,1 + 80000128: 00709f1b slliw t5,ra,0x7 + 8000012c: 08000e93 li t4,128 + 80000130: 00400193 li gp,4 + 80000134: 25df1663 bne t5,t4,80000380 + +0000000080000138 : + 80000138: 00100093 li ra,1 + 8000013c: 00e09f1b slliw t5,ra,0xe + 80000140: 00004eb7 lui t4,0x4 + 80000144: 00500193 li gp,5 + 80000148: 23df1c63 bne t5,t4,80000380 + +000000008000014c : + 8000014c: 00100093 li ra,1 + 80000150: 01f09f1b slliw t5,ra,0x1f + 80000154: 80000eb7 lui t4,0x80000 + 80000158: 00600193 li gp,6 + 8000015c: 23df1263 bne t5,t4,80000380 + +0000000080000160 : + 80000160: fff00093 li ra,-1 + 80000164: 00009f1b slliw t5,ra,0x0 + 80000168: fff00e93 li t4,-1 + 8000016c: 00700193 li gp,7 + 80000170: 21df1863 bne t5,t4,80000380 + +0000000080000174 : + 80000174: fff00093 li ra,-1 + 80000178: 00109f1b slliw t5,ra,0x1 + 8000017c: ffe00e93 li t4,-2 + 80000180: 00800193 li gp,8 + 80000184: 1fdf1e63 bne t5,t4,80000380 + +0000000080000188 : + 80000188: fff00093 li ra,-1 + 8000018c: 00709f1b slliw t5,ra,0x7 + 80000190: f8000e93 li t4,-128 + 80000194: 00900193 li gp,9 + 80000198: 1fdf1463 bne t5,t4,80000380 + +000000008000019c : + 8000019c: fff00093 li ra,-1 + 800001a0: 00e09f1b slliw t5,ra,0xe + 800001a4: ffffceb7 lui t4,0xffffc + 800001a8: 00a00193 li gp,10 + 800001ac: 1ddf1a63 bne t5,t4,80000380 + +00000000800001b0 : + 800001b0: fff00093 li ra,-1 + 800001b4: 01f09f1b slliw t5,ra,0x1f + 800001b8: 80000eb7 lui t4,0x80000 + 800001bc: 00b00193 li gp,11 + 800001c0: 1ddf1063 bne t5,t4,80000380 + +00000000800001c4 : + 800001c4: 212120b7 lui ra,0x21212 + 800001c8: 1210809b addiw ra,ra,289 + 800001cc: 00009f1b slliw t5,ra,0x0 + 800001d0: 21212eb7 lui t4,0x21212 + 800001d4: 121e8e9b addiw t4,t4,289 + 800001d8: 00c00193 li gp,12 + 800001dc: 1bdf1263 bne t5,t4,80000380 + +00000000800001e0 : + 800001e0: 212120b7 lui ra,0x21212 + 800001e4: 1210809b addiw ra,ra,289 + 800001e8: 00109f1b slliw t5,ra,0x1 + 800001ec: 42424eb7 lui t4,0x42424 + 800001f0: 242e8e9b addiw t4,t4,578 + 800001f4: 00d00193 li gp,13 + 800001f8: 19df1463 bne t5,t4,80000380 + +00000000800001fc : + 800001fc: 212120b7 lui ra,0x21212 + 80000200: 1210809b addiw ra,ra,289 + 80000204: 00709f1b slliw t5,ra,0x7 + 80000208: 90909eb7 lui t4,0x90909 + 8000020c: 080e8e9b addiw t4,t4,128 + 80000210: 00e00193 li gp,14 + 80000214: 17df1663 bne t5,t4,80000380 + +0000000080000218 : + 80000218: 212120b7 lui ra,0x21212 + 8000021c: 1210809b addiw ra,ra,289 + 80000220: 00e09f1b slliw t5,ra,0xe + 80000224: 48484eb7 lui t4,0x48484 + 80000228: 00f00193 li gp,15 + 8000022c: 15df1a63 bne t5,t4,80000380 + +0000000080000230 : + 80000230: 212120b7 lui ra,0x21212 + 80000234: 1210809b addiw ra,ra,289 + 80000238: 01f09f1b slliw t5,ra,0x1f + 8000023c: 80000eb7 lui t4,0x80000 + 80000240: 01000193 li gp,16 + 80000244: 13df1e63 bne t5,t4,80000380 + +0000000080000248 : + 80000248: 00100093 li ra,1 + 8000024c: 0070909b slliw ra,ra,0x7 + 80000250: 08000e93 li t4,128 + 80000254: 01100193 li gp,17 + 80000258: 13d09463 bne ra,t4,80000380 + +000000008000025c : + 8000025c: 00000213 li tp,0 + 80000260: 00100093 li ra,1 + 80000264: 00709f1b slliw t5,ra,0x7 + 80000268: 000f0313 mv t1,t5 + 8000026c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000270: 00200293 li t0,2 + 80000274: fe5216e3 bne tp,t0,80000260 + 80000278: 08000e93 li t4,128 + 8000027c: 01200193 li gp,18 + 80000280: 11d31063 bne t1,t4,80000380 + +0000000080000284 : + 80000284: 00000213 li tp,0 + 80000288: 00100093 li ra,1 + 8000028c: 00e09f1b slliw t5,ra,0xe + 80000290: 00000013 nop + 80000294: 000f0313 mv t1,t5 + 80000298: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000029c: 00200293 li t0,2 + 800002a0: fe5214e3 bne tp,t0,80000288 + 800002a4: 00004eb7 lui t4,0x4 + 800002a8: 01300193 li gp,19 + 800002ac: 0dd31a63 bne t1,t4,80000380 + +00000000800002b0 : + 800002b0: 00000213 li tp,0 + 800002b4: 00100093 li ra,1 + 800002b8: 01f09f1b slliw t5,ra,0x1f + 800002bc: 00000013 nop + 800002c0: 00000013 nop + 800002c4: 000f0313 mv t1,t5 + 800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002cc: 00200293 li t0,2 + 800002d0: fe5212e3 bne tp,t0,800002b4 + 800002d4: 80000eb7 lui t4,0x80000 + 800002d8: 01400193 li gp,20 + 800002dc: 0bd31263 bne t1,t4,80000380 + +00000000800002e0 : + 800002e0: 00000213 li tp,0 + 800002e4: 00100093 li ra,1 + 800002e8: 00709f1b slliw t5,ra,0x7 + 800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002f0: 00200293 li t0,2 + 800002f4: fe5218e3 bne tp,t0,800002e4 + 800002f8: 08000e93 li t4,128 + 800002fc: 01500193 li gp,21 + 80000300: 09df1063 bne t5,t4,80000380 + +0000000080000304 : + 80000304: 00000213 li tp,0 + 80000308: 00100093 li ra,1 + 8000030c: 00000013 nop + 80000310: 00e09f1b slliw t5,ra,0xe + 80000314: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000318: 00200293 li t0,2 + 8000031c: fe5216e3 bne tp,t0,80000308 + 80000320: 00004eb7 lui t4,0x4 + 80000324: 01600193 li gp,22 + 80000328: 05df1c63 bne t5,t4,80000380 + +000000008000032c : + 8000032c: 00000213 li tp,0 + 80000330: 00100093 li ra,1 + 80000334: 00000013 nop + 80000338: 00000013 nop + 8000033c: 01f09f1b slliw t5,ra,0x1f + 80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000344: 00200293 li t0,2 + 80000348: fe5214e3 bne tp,t0,80000330 + 8000034c: 80000eb7 lui t4,0x80000 + 80000350: 01700193 li gp,23 + 80000354: 03df1663 bne t5,t4,80000380 + +0000000080000358 : + 80000358: 01f0109b slliw ra,zero,0x1f + 8000035c: 00000e93 li t4,0 + 80000360: 01800193 li gp,24 + 80000364: 01d09e63 bne ra,t4,80000380 + +0000000080000368 : + 80000368: 01f00093 li ra,31 + 8000036c: 01c0901b slliw zero,ra,0x1c + 80000370: 00000e93 li t4,0 + 80000374: 01900193 li gp,25 + 80000378: 01d01463 bne zero,t4,80000380 + 8000037c: 00301c63 bne zero,gp,80000394 + +0000000080000380 : + 80000380: 0ff0000f fence + 80000384: 00018063 beqz gp,80000384 + 80000388: 00119193 slli gp,gp,0x1 + 8000038c: 0011e193 ori gp,gp,1 + 80000390: 00000073 ecall + +0000000080000394 : + 80000394: 0ff0000f fence + 80000398: 00100193 li gp,1 + 8000039c: 00000073 ecall + 800003a0: c0001073 unimp + 800003a4: 0000 unimp + 800003a6: 0000 unimp + 800003a8: 0000 unimp + 800003aa: 0000 unimp + 800003ac: 0000 unimp + 800003ae: 0000 unimp + 800003b0: 0000 unimp + 800003b2: 0000 unimp + 800003b4: 0000 unimp + 800003b6: 0000 unimp + 800003b8: 0000 unimp + 800003ba: 0000 unimp + 800003bc: 0000 unimp + 800003be: 0000 unimp + 800003c0: 0000 unimp + 800003c2: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-slliw.elf b/test/riscv/tests/rv64ui-p-slliw.elf new file mode 100755 index 00000000..b8046e69 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-slliw.elf differ diff --git a/test/riscv/tests/rv64ui-p-sllw.dump b/test/riscv/tests/rv64ui-p-sllw.dump new file mode 100644 index 00000000..45f030a1 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sllw.dump @@ -0,0 +1,550 @@ + +rv64ui-p-sllw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00100093 li ra,1 + 80000100: 00000113 li sp,0 + 80000104: 00209f3b sllw t5,ra,sp + 80000108: 00100e93 li t4,1 + 8000010c: 00200193 li gp,2 + 80000110: 55df1c63 bne t5,t4,80000668 + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 00209f3b sllw t5,ra,sp + 80000120: 00200e93 li t4,2 + 80000124: 00300193 li gp,3 + 80000128: 55df1063 bne t5,t4,80000668 + +000000008000012c : + 8000012c: 00100093 li ra,1 + 80000130: 00700113 li sp,7 + 80000134: 00209f3b sllw t5,ra,sp + 80000138: 08000e93 li t4,128 + 8000013c: 00400193 li gp,4 + 80000140: 53df1463 bne t5,t4,80000668 + +0000000080000144 : + 80000144: 00100093 li ra,1 + 80000148: 00e00113 li sp,14 + 8000014c: 00209f3b sllw t5,ra,sp + 80000150: 00004eb7 lui t4,0x4 + 80000154: 00500193 li gp,5 + 80000158: 51df1863 bne t5,t4,80000668 + +000000008000015c : + 8000015c: 00100093 li ra,1 + 80000160: 01f00113 li sp,31 + 80000164: 00209f3b sllw t5,ra,sp + 80000168: 80000eb7 lui t4,0x80000 + 8000016c: 00600193 li gp,6 + 80000170: 4fdf1c63 bne t5,t4,80000668 + +0000000080000174 : + 80000174: fff00093 li ra,-1 + 80000178: 00000113 li sp,0 + 8000017c: 00209f3b sllw t5,ra,sp + 80000180: fff00e93 li t4,-1 + 80000184: 00700193 li gp,7 + 80000188: 4fdf1063 bne t5,t4,80000668 + +000000008000018c : + 8000018c: fff00093 li ra,-1 + 80000190: 00100113 li sp,1 + 80000194: 00209f3b sllw t5,ra,sp + 80000198: ffe00e93 li t4,-2 + 8000019c: 00800193 li gp,8 + 800001a0: 4ddf1463 bne t5,t4,80000668 + +00000000800001a4 : + 800001a4: fff00093 li ra,-1 + 800001a8: 00700113 li sp,7 + 800001ac: 00209f3b sllw t5,ra,sp + 800001b0: f8000e93 li t4,-128 + 800001b4: 00900193 li gp,9 + 800001b8: 4bdf1863 bne t5,t4,80000668 + +00000000800001bc : + 800001bc: fff00093 li ra,-1 + 800001c0: 00e00113 li sp,14 + 800001c4: 00209f3b sllw t5,ra,sp + 800001c8: ffffceb7 lui t4,0xffffc + 800001cc: 00a00193 li gp,10 + 800001d0: 49df1c63 bne t5,t4,80000668 + +00000000800001d4 : + 800001d4: fff00093 li ra,-1 + 800001d8: 01f00113 li sp,31 + 800001dc: 00209f3b sllw t5,ra,sp + 800001e0: 80000eb7 lui t4,0x80000 + 800001e4: 00b00193 li gp,11 + 800001e8: 49df1063 bne t5,t4,80000668 + +00000000800001ec : + 800001ec: 212120b7 lui ra,0x21212 + 800001f0: 1210809b addiw ra,ra,289 + 800001f4: 00000113 li sp,0 + 800001f8: 00209f3b sllw t5,ra,sp + 800001fc: 21212eb7 lui t4,0x21212 + 80000200: 121e8e9b addiw t4,t4,289 + 80000204: 00c00193 li gp,12 + 80000208: 47df1063 bne t5,t4,80000668 + +000000008000020c : + 8000020c: 212120b7 lui ra,0x21212 + 80000210: 1210809b addiw ra,ra,289 + 80000214: 00100113 li sp,1 + 80000218: 00209f3b sllw t5,ra,sp + 8000021c: 42424eb7 lui t4,0x42424 + 80000220: 242e8e9b addiw t4,t4,578 + 80000224: 00d00193 li gp,13 + 80000228: 45df1063 bne t5,t4,80000668 + +000000008000022c : + 8000022c: 212120b7 lui ra,0x21212 + 80000230: 1210809b addiw ra,ra,289 + 80000234: 00700113 li sp,7 + 80000238: 00209f3b sllw t5,ra,sp + 8000023c: 90909eb7 lui t4,0x90909 + 80000240: 080e8e9b addiw t4,t4,128 + 80000244: 00e00193 li gp,14 + 80000248: 43df1063 bne t5,t4,80000668 + +000000008000024c : + 8000024c: 212120b7 lui ra,0x21212 + 80000250: 1210809b addiw ra,ra,289 + 80000254: 00e00113 li sp,14 + 80000258: 00209f3b sllw t5,ra,sp + 8000025c: 48484eb7 lui t4,0x48484 + 80000260: 00f00193 li gp,15 + 80000264: 41df1263 bne t5,t4,80000668 + +0000000080000268 : + 80000268: 212120b7 lui ra,0x21212 + 8000026c: 1210809b addiw ra,ra,289 + 80000270: 01f00113 li sp,31 + 80000274: 00209f3b sllw t5,ra,sp + 80000278: 80000eb7 lui t4,0x80000 + 8000027c: 01000193 li gp,16 + 80000280: 3fdf1463 bne t5,t4,80000668 + +0000000080000284 : + 80000284: 212120b7 lui ra,0x21212 + 80000288: 1210809b addiw ra,ra,289 + 8000028c: fe000113 li sp,-32 + 80000290: 00209f3b sllw t5,ra,sp + 80000294: 21212eb7 lui t4,0x21212 + 80000298: 121e8e9b addiw t4,t4,289 + 8000029c: 01100193 li gp,17 + 800002a0: 3ddf1463 bne t5,t4,80000668 + +00000000800002a4 : + 800002a4: 212120b7 lui ra,0x21212 + 800002a8: 1210809b addiw ra,ra,289 + 800002ac: fe100113 li sp,-31 + 800002b0: 00209f3b sllw t5,ra,sp + 800002b4: 42424eb7 lui t4,0x42424 + 800002b8: 242e8e9b addiw t4,t4,578 + 800002bc: 01200193 li gp,18 + 800002c0: 3bdf1463 bne t5,t4,80000668 + +00000000800002c4 : + 800002c4: 212120b7 lui ra,0x21212 + 800002c8: 1210809b addiw ra,ra,289 + 800002cc: fe700113 li sp,-25 + 800002d0: 00209f3b sllw t5,ra,sp + 800002d4: 90909eb7 lui t4,0x90909 + 800002d8: 080e8e9b addiw t4,t4,128 + 800002dc: 01300193 li gp,19 + 800002e0: 39df1463 bne t5,t4,80000668 + +00000000800002e4 : + 800002e4: 212120b7 lui ra,0x21212 + 800002e8: 1210809b addiw ra,ra,289 + 800002ec: fee00113 li sp,-18 + 800002f0: 00209f3b sllw t5,ra,sp + 800002f4: 48484eb7 lui t4,0x48484 + 800002f8: 01400193 li gp,20 + 800002fc: 37df1663 bne t5,t4,80000668 + +0000000080000300 : + 80000300: 212120b7 lui ra,0x21212 + 80000304: 1210809b addiw ra,ra,289 + 80000308: fff00113 li sp,-1 + 8000030c: 00209f3b sllw t5,ra,sp + 80000310: 80000eb7 lui t4,0x80000 + 80000314: 01500193 li gp,21 + 80000318: 35df1863 bne t5,t4,80000668 + +000000008000031c : + 8000031c: 00100093 li ra,1 + 80000320: 00700113 li sp,7 + 80000324: 002090bb sllw ra,ra,sp + 80000328: 08000e93 li t4,128 + 8000032c: 01600193 li gp,22 + 80000330: 33d09c63 bne ra,t4,80000668 + +0000000080000334 : + 80000334: 00100093 li ra,1 + 80000338: 00e00113 li sp,14 + 8000033c: 0020913b sllw sp,ra,sp + 80000340: 00004eb7 lui t4,0x4 + 80000344: 01700193 li gp,23 + 80000348: 33d11063 bne sp,t4,80000668 + +000000008000034c : + 8000034c: 00300093 li ra,3 + 80000350: 001090bb sllw ra,ra,ra + 80000354: 01800e93 li t4,24 + 80000358: 01800193 li gp,24 + 8000035c: 31d09663 bne ra,t4,80000668 + +0000000080000360 : + 80000360: 00000213 li tp,0 + 80000364: 00100093 li ra,1 + 80000368: 00700113 li sp,7 + 8000036c: 00209f3b sllw t5,ra,sp + 80000370: 000f0313 mv t1,t5 + 80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000378: 00200293 li t0,2 + 8000037c: fe5214e3 bne tp,t0,80000364 + 80000380: 08000e93 li t4,128 + 80000384: 01900193 li gp,25 + 80000388: 2fd31063 bne t1,t4,80000668 + +000000008000038c : + 8000038c: 00000213 li tp,0 + 80000390: 00100093 li ra,1 + 80000394: 00e00113 li sp,14 + 80000398: 00209f3b sllw t5,ra,sp + 8000039c: 00000013 nop + 800003a0: 000f0313 mv t1,t5 + 800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003a8: 00200293 li t0,2 + 800003ac: fe5212e3 bne tp,t0,80000390 + 800003b0: 00004eb7 lui t4,0x4 + 800003b4: 01a00193 li gp,26 + 800003b8: 2bd31863 bne t1,t4,80000668 + +00000000800003bc : + 800003bc: 00000213 li tp,0 + 800003c0: 00100093 li ra,1 + 800003c4: 01f00113 li sp,31 + 800003c8: 00209f3b sllw t5,ra,sp + 800003cc: 00000013 nop + 800003d0: 00000013 nop + 800003d4: 000f0313 mv t1,t5 + 800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003dc: 00200293 li t0,2 + 800003e0: fe5210e3 bne tp,t0,800003c0 + 800003e4: 80000eb7 lui t4,0x80000 + 800003e8: 01b00193 li gp,27 + 800003ec: 27d31e63 bne t1,t4,80000668 + +00000000800003f0 : + 800003f0: 00000213 li tp,0 + 800003f4: 00100093 li ra,1 + 800003f8: 00700113 li sp,7 + 800003fc: 00209f3b sllw t5,ra,sp + 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000404: 00200293 li t0,2 + 80000408: fe5216e3 bne tp,t0,800003f4 + 8000040c: 08000e93 li t4,128 + 80000410: 01c00193 li gp,28 + 80000414: 25df1a63 bne t5,t4,80000668 + +0000000080000418 : + 80000418: 00000213 li tp,0 + 8000041c: 00100093 li ra,1 + 80000420: 00e00113 li sp,14 + 80000424: 00000013 nop + 80000428: 00209f3b sllw t5,ra,sp + 8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000430: 00200293 li t0,2 + 80000434: fe5214e3 bne tp,t0,8000041c + 80000438: 00004eb7 lui t4,0x4 + 8000043c: 01d00193 li gp,29 + 80000440: 23df1463 bne t5,t4,80000668 + +0000000080000444 : + 80000444: 00000213 li tp,0 + 80000448: 00100093 li ra,1 + 8000044c: 01f00113 li sp,31 + 80000450: 00000013 nop + 80000454: 00000013 nop + 80000458: 00209f3b sllw t5,ra,sp + 8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000460: 00200293 li t0,2 + 80000464: fe5212e3 bne tp,t0,80000448 + 80000468: 80000eb7 lui t4,0x80000 + 8000046c: 01e00193 li gp,30 + 80000470: 1fdf1c63 bne t5,t4,80000668 + +0000000080000474 : + 80000474: 00000213 li tp,0 + 80000478: 00100093 li ra,1 + 8000047c: 00000013 nop + 80000480: 00700113 li sp,7 + 80000484: 00209f3b sllw t5,ra,sp + 80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000048c: 00200293 li t0,2 + 80000490: fe5214e3 bne tp,t0,80000478 + 80000494: 08000e93 li t4,128 + 80000498: 01f00193 li gp,31 + 8000049c: 1ddf1663 bne t5,t4,80000668 + +00000000800004a0 : + 800004a0: 00000213 li tp,0 + 800004a4: 00100093 li ra,1 + 800004a8: 00000013 nop + 800004ac: 00e00113 li sp,14 + 800004b0: 00000013 nop + 800004b4: 00209f3b sllw t5,ra,sp + 800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004bc: 00200293 li t0,2 + 800004c0: fe5212e3 bne tp,t0,800004a4 + 800004c4: 00004eb7 lui t4,0x4 + 800004c8: 02000193 li gp,32 + 800004cc: 19df1e63 bne t5,t4,80000668 + +00000000800004d0 : + 800004d0: 00000213 li tp,0 + 800004d4: 00100093 li ra,1 + 800004d8: 00000013 nop + 800004dc: 00000013 nop + 800004e0: 01f00113 li sp,31 + 800004e4: 00209f3b sllw t5,ra,sp + 800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004ec: 00200293 li t0,2 + 800004f0: fe5212e3 bne tp,t0,800004d4 + 800004f4: 80000eb7 lui t4,0x80000 + 800004f8: 02100193 li gp,33 + 800004fc: 17df1663 bne t5,t4,80000668 + +0000000080000500 : + 80000500: 00000213 li tp,0 + 80000504: 00700113 li sp,7 + 80000508: 00100093 li ra,1 + 8000050c: 00209f3b sllw t5,ra,sp + 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000514: 00200293 li t0,2 + 80000518: fe5216e3 bne tp,t0,80000504 + 8000051c: 08000e93 li t4,128 + 80000520: 02200193 li gp,34 + 80000524: 15df1263 bne t5,t4,80000668 + +0000000080000528 : + 80000528: 00000213 li tp,0 + 8000052c: 00e00113 li sp,14 + 80000530: 00100093 li ra,1 + 80000534: 00000013 nop + 80000538: 00209f3b sllw t5,ra,sp + 8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000540: 00200293 li t0,2 + 80000544: fe5214e3 bne tp,t0,8000052c + 80000548: 00004eb7 lui t4,0x4 + 8000054c: 02300193 li gp,35 + 80000550: 11df1c63 bne t5,t4,80000668 + +0000000080000554 : + 80000554: 00000213 li tp,0 + 80000558: 01f00113 li sp,31 + 8000055c: 00100093 li ra,1 + 80000560: 00000013 nop + 80000564: 00000013 nop + 80000568: 00209f3b sllw t5,ra,sp + 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000570: 00200293 li t0,2 + 80000574: fe5212e3 bne tp,t0,80000558 + 80000578: 80000eb7 lui t4,0x80000 + 8000057c: 02400193 li gp,36 + 80000580: 0fdf1463 bne t5,t4,80000668 + +0000000080000584 : + 80000584: 00000213 li tp,0 + 80000588: 00700113 li sp,7 + 8000058c: 00000013 nop + 80000590: 00100093 li ra,1 + 80000594: 00209f3b sllw t5,ra,sp + 80000598: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000059c: 00200293 li t0,2 + 800005a0: fe5214e3 bne tp,t0,80000588 + 800005a4: 08000e93 li t4,128 + 800005a8: 02500193 li gp,37 + 800005ac: 0bdf1e63 bne t5,t4,80000668 + +00000000800005b0 : + 800005b0: 00000213 li tp,0 + 800005b4: 00e00113 li sp,14 + 800005b8: 00000013 nop + 800005bc: 00100093 li ra,1 + 800005c0: 00000013 nop + 800005c4: 00209f3b sllw t5,ra,sp + 800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005cc: 00200293 li t0,2 + 800005d0: fe5212e3 bne tp,t0,800005b4 + 800005d4: 00004eb7 lui t4,0x4 + 800005d8: 02600193 li gp,38 + 800005dc: 09df1663 bne t5,t4,80000668 + +00000000800005e0 : + 800005e0: 00000213 li tp,0 + 800005e4: 01f00113 li sp,31 + 800005e8: 00000013 nop + 800005ec: 00000013 nop + 800005f0: 00100093 li ra,1 + 800005f4: 00209f3b sllw t5,ra,sp + 800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005fc: 00200293 li t0,2 + 80000600: fe5212e3 bne tp,t0,800005e4 + 80000604: 80000eb7 lui t4,0x80000 + 80000608: 02700193 li gp,39 + 8000060c: 05df1e63 bne t5,t4,80000668 + +0000000080000610 : + 80000610: 00f00093 li ra,15 + 80000614: 0010113b sllw sp,zero,ra + 80000618: 00000e93 li t4,0 + 8000061c: 02800193 li gp,40 + 80000620: 05d11463 bne sp,t4,80000668 + +0000000080000624 : + 80000624: 02000093 li ra,32 + 80000628: 0000913b sllw sp,ra,zero + 8000062c: 02000e93 li t4,32 + 80000630: 02900193 li gp,41 + 80000634: 03d11a63 bne sp,t4,80000668 + +0000000080000638 : + 80000638: 000010bb sllw ra,zero,zero + 8000063c: 00000e93 li t4,0 + 80000640: 02a00193 li gp,42 + 80000644: 03d09263 bne ra,t4,80000668 + +0000000080000648 : + 80000648: 40000093 li ra,1024 + 8000064c: 00001137 lui sp,0x1 + 80000650: 8001011b addiw sp,sp,-2048 + 80000654: 0020903b sllw zero,ra,sp + 80000658: 00000e93 li t4,0 + 8000065c: 02b00193 li gp,43 + 80000660: 01d01463 bne zero,t4,80000668 + 80000664: 00301c63 bne zero,gp,8000067c + +0000000080000668 : + 80000668: 0ff0000f fence + 8000066c: 00018063 beqz gp,8000066c + 80000670: 00119193 slli gp,gp,0x1 + 80000674: 0011e193 ori gp,gp,1 + 80000678: 00000073 ecall + +000000008000067c : + 8000067c: 0ff0000f fence + 80000680: 00100193 li gp,1 + 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/test/riscv/tests/rv64ui-p-sllw.elf b/test/riscv/tests/rv64ui-p-sllw.elf new file mode 100755 index 00000000..b722e66c Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sllw.elf differ diff --git a/test/riscv/tests/rv64ui-p-slt.dump b/test/riscv/tests/rv64ui-p-slt.dump new file mode 100644 index 00000000..1d5f786e --- /dev/null +++ b/test/riscv/tests/rv64ui-p-slt.dump @@ -0,0 +1,485 @@ + +rv64ui-p-slt: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00000113 li sp,0 + 80000104: 0020af33 slt t5,ra,sp + 80000108: 00000e93 li t4,0 + 8000010c: 00200193 li gp,2 + 80000110: 4bdf1a63 bne t5,t4,800005c4 + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 0020af33 slt t5,ra,sp + 80000120: 00000e93 li t4,0 + 80000124: 00300193 li gp,3 + 80000128: 49df1e63 bne t5,t4,800005c4 + +000000008000012c : + 8000012c: 00300093 li ra,3 + 80000130: 00700113 li sp,7 + 80000134: 0020af33 slt t5,ra,sp + 80000138: 00100e93 li t4,1 + 8000013c: 00400193 li gp,4 + 80000140: 49df1263 bne t5,t4,800005c4 + +0000000080000144 : + 80000144: 00700093 li ra,7 + 80000148: 00300113 li sp,3 + 8000014c: 0020af33 slt t5,ra,sp + 80000150: 00000e93 li t4,0 + 80000154: 00500193 li gp,5 + 80000158: 47df1663 bne t5,t4,800005c4 + +000000008000015c : + 8000015c: 00000093 li ra,0 + 80000160: ffff8137 lui sp,0xffff8 + 80000164: 0020af33 slt t5,ra,sp + 80000168: 00000e93 li t4,0 + 8000016c: 00600193 li gp,6 + 80000170: 45df1a63 bne t5,t4,800005c4 + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: 00000113 li sp,0 + 8000017c: 0020af33 slt t5,ra,sp + 80000180: 00100e93 li t4,1 + 80000184: 00700193 li gp,7 + 80000188: 43df1e63 bne t5,t4,800005c4 + +000000008000018c : + 8000018c: 800000b7 lui ra,0x80000 + 80000190: ffff8137 lui sp,0xffff8 + 80000194: 0020af33 slt t5,ra,sp + 80000198: 00100e93 li t4,1 + 8000019c: 00800193 li gp,8 + 800001a0: 43df1263 bne t5,t4,800005c4 + +00000000800001a4 : + 800001a4: 00000093 li ra,0 + 800001a8: 00008137 lui sp,0x8 + 800001ac: fff1011b addiw sp,sp,-1 + 800001b0: 0020af33 slt t5,ra,sp + 800001b4: 00100e93 li t4,1 + 800001b8: 00900193 li gp,9 + 800001bc: 41df1463 bne t5,t4,800005c4 + +00000000800001c0 : + 800001c0: 800000b7 lui ra,0x80000 + 800001c4: fff0809b addiw ra,ra,-1 + 800001c8: 00000113 li sp,0 + 800001cc: 0020af33 slt t5,ra,sp + 800001d0: 00000e93 li t4,0 + 800001d4: 00a00193 li gp,10 + 800001d8: 3fdf1663 bne t5,t4,800005c4 + +00000000800001dc : + 800001dc: 800000b7 lui ra,0x80000 + 800001e0: fff0809b addiw ra,ra,-1 + 800001e4: 00008137 lui sp,0x8 + 800001e8: fff1011b addiw sp,sp,-1 + 800001ec: 0020af33 slt t5,ra,sp + 800001f0: 00000e93 li t4,0 + 800001f4: 00b00193 li gp,11 + 800001f8: 3ddf1663 bne t5,t4,800005c4 + +00000000800001fc : + 800001fc: 800000b7 lui ra,0x80000 + 80000200: 00008137 lui sp,0x8 + 80000204: fff1011b addiw sp,sp,-1 + 80000208: 0020af33 slt t5,ra,sp + 8000020c: 00100e93 li t4,1 + 80000210: 00c00193 li gp,12 + 80000214: 3bdf1863 bne t5,t4,800005c4 + +0000000080000218 : + 80000218: 800000b7 lui ra,0x80000 + 8000021c: fff0809b addiw ra,ra,-1 + 80000220: ffff8137 lui sp,0xffff8 + 80000224: 0020af33 slt t5,ra,sp + 80000228: 00000e93 li t4,0 + 8000022c: 00d00193 li gp,13 + 80000230: 39df1a63 bne t5,t4,800005c4 + +0000000080000234 : + 80000234: 00000093 li ra,0 + 80000238: fff00113 li sp,-1 + 8000023c: 0020af33 slt t5,ra,sp + 80000240: 00000e93 li t4,0 + 80000244: 00e00193 li gp,14 + 80000248: 37df1e63 bne t5,t4,800005c4 + +000000008000024c : + 8000024c: fff00093 li ra,-1 + 80000250: 00100113 li sp,1 + 80000254: 0020af33 slt t5,ra,sp + 80000258: 00100e93 li t4,1 + 8000025c: 00f00193 li gp,15 + 80000260: 37df1263 bne t5,t4,800005c4 + +0000000080000264 : + 80000264: fff00093 li ra,-1 + 80000268: fff00113 li sp,-1 + 8000026c: 0020af33 slt t5,ra,sp + 80000270: 00000e93 li t4,0 + 80000274: 01000193 li gp,16 + 80000278: 35df1663 bne t5,t4,800005c4 + +000000008000027c : + 8000027c: 00e00093 li ra,14 + 80000280: 00d00113 li sp,13 + 80000284: 0020a0b3 slt ra,ra,sp + 80000288: 00000e93 li t4,0 + 8000028c: 01100193 li gp,17 + 80000290: 33d09a63 bne ra,t4,800005c4 + +0000000080000294 : + 80000294: 00b00093 li ra,11 + 80000298: 00d00113 li sp,13 + 8000029c: 0020a133 slt sp,ra,sp + 800002a0: 00100e93 li t4,1 + 800002a4: 01200193 li gp,18 + 800002a8: 31d11e63 bne sp,t4,800005c4 + +00000000800002ac : + 800002ac: 00d00093 li ra,13 + 800002b0: 0010a0b3 slt ra,ra,ra + 800002b4: 00000e93 li t4,0 + 800002b8: 01300193 li gp,19 + 800002bc: 31d09463 bne ra,t4,800005c4 + +00000000800002c0 : + 800002c0: 00000213 li tp,0 + 800002c4: 00b00093 li ra,11 + 800002c8: 00d00113 li sp,13 + 800002cc: 0020af33 slt t5,ra,sp + 800002d0: 000f0313 mv t1,t5 + 800002d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002d8: 00200293 li t0,2 + 800002dc: fe5214e3 bne tp,t0,800002c4 + 800002e0: 00100e93 li t4,1 + 800002e4: 01400193 li gp,20 + 800002e8: 2dd31e63 bne t1,t4,800005c4 + +00000000800002ec : + 800002ec: 00000213 li tp,0 + 800002f0: 00e00093 li ra,14 + 800002f4: 00d00113 li sp,13 + 800002f8: 0020af33 slt t5,ra,sp + 800002fc: 00000013 nop + 80000300: 000f0313 mv t1,t5 + 80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000308: 00200293 li t0,2 + 8000030c: fe5212e3 bne tp,t0,800002f0 + 80000310: 00000e93 li t4,0 + 80000314: 01500193 li gp,21 + 80000318: 2bd31663 bne t1,t4,800005c4 + +000000008000031c : + 8000031c: 00000213 li tp,0 + 80000320: 00c00093 li ra,12 + 80000324: 00d00113 li sp,13 + 80000328: 0020af33 slt t5,ra,sp + 8000032c: 00000013 nop + 80000330: 00000013 nop + 80000334: 000f0313 mv t1,t5 + 80000338: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000033c: 00200293 li t0,2 + 80000340: fe5210e3 bne tp,t0,80000320 + 80000344: 00100e93 li t4,1 + 80000348: 01600193 li gp,22 + 8000034c: 27d31c63 bne t1,t4,800005c4 + +0000000080000350 : + 80000350: 00000213 li tp,0 + 80000354: 00e00093 li ra,14 + 80000358: 00d00113 li sp,13 + 8000035c: 0020af33 slt t5,ra,sp + 80000360: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000364: 00200293 li t0,2 + 80000368: fe5216e3 bne tp,t0,80000354 + 8000036c: 00000e93 li t4,0 + 80000370: 01700193 li gp,23 + 80000374: 25df1863 bne t5,t4,800005c4 + +0000000080000378 : + 80000378: 00000213 li tp,0 + 8000037c: 00b00093 li ra,11 + 80000380: 00d00113 li sp,13 + 80000384: 00000013 nop + 80000388: 0020af33 slt t5,ra,sp + 8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000390: 00200293 li t0,2 + 80000394: fe5214e3 bne tp,t0,8000037c + 80000398: 00100e93 li t4,1 + 8000039c: 01800193 li gp,24 + 800003a0: 23df1263 bne t5,t4,800005c4 + +00000000800003a4 : + 800003a4: 00000213 li tp,0 + 800003a8: 00f00093 li ra,15 + 800003ac: 00d00113 li sp,13 + 800003b0: 00000013 nop + 800003b4: 00000013 nop + 800003b8: 0020af33 slt t5,ra,sp + 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c0: 00200293 li t0,2 + 800003c4: fe5212e3 bne tp,t0,800003a8 + 800003c8: 00000e93 li t4,0 + 800003cc: 01900193 li gp,25 + 800003d0: 1fdf1a63 bne t5,t4,800005c4 + +00000000800003d4 : + 800003d4: 00000213 li tp,0 + 800003d8: 00a00093 li ra,10 + 800003dc: 00000013 nop + 800003e0: 00d00113 li sp,13 + 800003e4: 0020af33 slt t5,ra,sp + 800003e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003ec: 00200293 li t0,2 + 800003f0: fe5214e3 bne tp,t0,800003d8 + 800003f4: 00100e93 li t4,1 + 800003f8: 01a00193 li gp,26 + 800003fc: 1ddf1463 bne t5,t4,800005c4 + +0000000080000400 : + 80000400: 00000213 li tp,0 + 80000404: 01000093 li ra,16 + 80000408: 00000013 nop + 8000040c: 00d00113 li sp,13 + 80000410: 00000013 nop + 80000414: 0020af33 slt t5,ra,sp + 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000041c: 00200293 li t0,2 + 80000420: fe5212e3 bne tp,t0,80000404 + 80000424: 00000e93 li t4,0 + 80000428: 01b00193 li gp,27 + 8000042c: 19df1c63 bne t5,t4,800005c4 + +0000000080000430 : + 80000430: 00000213 li tp,0 + 80000434: 00900093 li ra,9 + 80000438: 00000013 nop + 8000043c: 00000013 nop + 80000440: 00d00113 li sp,13 + 80000444: 0020af33 slt t5,ra,sp + 80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000044c: 00200293 li t0,2 + 80000450: fe5212e3 bne tp,t0,80000434 + 80000454: 00100e93 li t4,1 + 80000458: 01c00193 li gp,28 + 8000045c: 17df1463 bne t5,t4,800005c4 + +0000000080000460 : + 80000460: 00000213 li tp,0 + 80000464: 00d00113 li sp,13 + 80000468: 01100093 li ra,17 + 8000046c: 0020af33 slt t5,ra,sp + 80000470: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000474: 00200293 li t0,2 + 80000478: fe5216e3 bne tp,t0,80000464 + 8000047c: 00000e93 li t4,0 + 80000480: 01d00193 li gp,29 + 80000484: 15df1063 bne t5,t4,800005c4 + +0000000080000488 : + 80000488: 00000213 li tp,0 + 8000048c: 00d00113 li sp,13 + 80000490: 00800093 li ra,8 + 80000494: 00000013 nop + 80000498: 0020af33 slt t5,ra,sp + 8000049c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a0: 00200293 li t0,2 + 800004a4: fe5214e3 bne tp,t0,8000048c + 800004a8: 00100e93 li t4,1 + 800004ac: 01e00193 li gp,30 + 800004b0: 11df1a63 bne t5,t4,800005c4 + +00000000800004b4 : + 800004b4: 00000213 li tp,0 + 800004b8: 00d00113 li sp,13 + 800004bc: 01200093 li ra,18 + 800004c0: 00000013 nop + 800004c4: 00000013 nop + 800004c8: 0020af33 slt t5,ra,sp + 800004cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d0: 00200293 li t0,2 + 800004d4: fe5212e3 bne tp,t0,800004b8 + 800004d8: 00000e93 li t4,0 + 800004dc: 01f00193 li gp,31 + 800004e0: 0fdf1263 bne t5,t4,800005c4 + +00000000800004e4 : + 800004e4: 00000213 li tp,0 + 800004e8: 00d00113 li sp,13 + 800004ec: 00000013 nop + 800004f0: 00700093 li ra,7 + 800004f4: 0020af33 slt t5,ra,sp + 800004f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004fc: 00200293 li t0,2 + 80000500: fe5214e3 bne tp,t0,800004e8 + 80000504: 00100e93 li t4,1 + 80000508: 02000193 li gp,32 + 8000050c: 0bdf1c63 bne t5,t4,800005c4 + +0000000080000510 : + 80000510: 00000213 li tp,0 + 80000514: 00d00113 li sp,13 + 80000518: 00000013 nop + 8000051c: 01300093 li ra,19 + 80000520: 00000013 nop + 80000524: 0020af33 slt t5,ra,sp + 80000528: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000052c: 00200293 li t0,2 + 80000530: fe5212e3 bne tp,t0,80000514 + 80000534: 00000e93 li t4,0 + 80000538: 02100193 li gp,33 + 8000053c: 09df1463 bne t5,t4,800005c4 + +0000000080000540 : + 80000540: 00000213 li tp,0 + 80000544: 00d00113 li sp,13 + 80000548: 00000013 nop + 8000054c: 00000013 nop + 80000550: 00600093 li ra,6 + 80000554: 0020af33 slt t5,ra,sp + 80000558: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000055c: 00200293 li t0,2 + 80000560: fe5212e3 bne tp,t0,80000544 + 80000564: 00100e93 li t4,1 + 80000568: 02200193 li gp,34 + 8000056c: 05df1c63 bne t5,t4,800005c4 + +0000000080000570 : + 80000570: fff00093 li ra,-1 + 80000574: 00102133 sgtz sp,ra + 80000578: 00000e93 li t4,0 + 8000057c: 02300193 li gp,35 + 80000580: 05d11263 bne sp,t4,800005c4 + +0000000080000584 : + 80000584: fff00093 li ra,-1 + 80000588: 0000a133 sltz sp,ra + 8000058c: 00100e93 li t4,1 + 80000590: 02400193 li gp,36 + 80000594: 03d11863 bne sp,t4,800005c4 + +0000000080000598 : + 80000598: 000020b3 sltz ra,zero + 8000059c: 00000e93 li t4,0 + 800005a0: 02500193 li gp,37 + 800005a4: 03d09063 bne ra,t4,800005c4 + +00000000800005a8 : + 800005a8: 01000093 li ra,16 + 800005ac: 01e00113 li sp,30 + 800005b0: 0020a033 slt zero,ra,sp + 800005b4: 00000e93 li t4,0 + 800005b8: 02600193 li gp,38 + 800005bc: 01d01463 bne zero,t4,800005c4 + 800005c0: 00301c63 bne zero,gp,800005d8 + +00000000800005c4 : + 800005c4: 0ff0000f fence + 800005c8: 00018063 beqz gp,800005c8 + 800005cc: 00119193 slli gp,gp,0x1 + 800005d0: 0011e193 ori gp,gp,1 + 800005d4: 00000073 ecall + +00000000800005d8 : + 800005d8: 0ff0000f fence + 800005dc: 00100193 li gp,1 + 800005e0: 00000073 ecall + 800005e4: c0001073 unimp + 800005e8: 0000 unimp + 800005ea: 0000 unimp + 800005ec: 0000 unimp + 800005ee: 0000 unimp + 800005f0: 0000 unimp + 800005f2: 0000 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/test/riscv/tests/rv64ui-p-slt.elf b/test/riscv/tests/rv64ui-p-slt.elf new file mode 100755 index 00000000..d5e3ee14 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-slt.elf differ diff --git a/test/riscv/tests/rv64ui-p-slti.dump b/test/riscv/tests/rv64ui-p-slti.dump new file mode 100644 index 00000000..c9ca449a --- /dev/null +++ b/test/riscv/tests/rv64ui-p-slti.dump @@ -0,0 +1,320 @@ + +rv64ui-p-slti: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 0000af13 slti t5,ra,0 + 80000104: 00000e93 li t4,0 + 80000108: 00200193 li gp,2 + 8000010c: 27df1263 bne t5,t4,80000370 + +0000000080000110 : + 80000110: 00100093 li ra,1 + 80000114: 0010af13 slti t5,ra,1 + 80000118: 00000e93 li t4,0 + 8000011c: 00300193 li gp,3 + 80000120: 25df1863 bne t5,t4,80000370 + +0000000080000124 : + 80000124: 00300093 li ra,3 + 80000128: 0070af13 slti t5,ra,7 + 8000012c: 00100e93 li t4,1 + 80000130: 00400193 li gp,4 + 80000134: 23df1e63 bne t5,t4,80000370 + +0000000080000138 : + 80000138: 00700093 li ra,7 + 8000013c: 0030af13 slti t5,ra,3 + 80000140: 00000e93 li t4,0 + 80000144: 00500193 li gp,5 + 80000148: 23df1463 bne t5,t4,80000370 + +000000008000014c : + 8000014c: 00000093 li ra,0 + 80000150: 8000af13 slti t5,ra,-2048 + 80000154: 00000e93 li t4,0 + 80000158: 00600193 li gp,6 + 8000015c: 21df1a63 bne t5,t4,80000370 + +0000000080000160 : + 80000160: 800000b7 lui ra,0x80000 + 80000164: 0000af13 slti t5,ra,0 + 80000168: 00100e93 li t4,1 + 8000016c: 00700193 li gp,7 + 80000170: 21df1063 bne t5,t4,80000370 + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: 8000af13 slti t5,ra,-2048 + 8000017c: 00100e93 li t4,1 + 80000180: 00800193 li gp,8 + 80000184: 1fdf1663 bne t5,t4,80000370 + +0000000080000188 : + 80000188: 00000093 li ra,0 + 8000018c: 7ff0af13 slti t5,ra,2047 + 80000190: 00100e93 li t4,1 + 80000194: 00900193 li gp,9 + 80000198: 1ddf1c63 bne t5,t4,80000370 + +000000008000019c : + 8000019c: 800000b7 lui ra,0x80000 + 800001a0: fff0809b addiw ra,ra,-1 + 800001a4: 0000af13 slti t5,ra,0 + 800001a8: 00000e93 li t4,0 + 800001ac: 00a00193 li gp,10 + 800001b0: 1ddf1063 bne t5,t4,80000370 + +00000000800001b4 : + 800001b4: 800000b7 lui ra,0x80000 + 800001b8: fff0809b addiw ra,ra,-1 + 800001bc: 7ff0af13 slti t5,ra,2047 + 800001c0: 00000e93 li t4,0 + 800001c4: 00b00193 li gp,11 + 800001c8: 1bdf1463 bne t5,t4,80000370 + +00000000800001cc : + 800001cc: 800000b7 lui ra,0x80000 + 800001d0: 7ff0af13 slti t5,ra,2047 + 800001d4: 00100e93 li t4,1 + 800001d8: 00c00193 li gp,12 + 800001dc: 19df1a63 bne t5,t4,80000370 + +00000000800001e0 : + 800001e0: 800000b7 lui ra,0x80000 + 800001e4: fff0809b addiw ra,ra,-1 + 800001e8: 8000af13 slti t5,ra,-2048 + 800001ec: 00000e93 li t4,0 + 800001f0: 00d00193 li gp,13 + 800001f4: 17df1e63 bne t5,t4,80000370 + +00000000800001f8 : + 800001f8: 00000093 li ra,0 + 800001fc: fff0af13 slti t5,ra,-1 + 80000200: 00000e93 li t4,0 + 80000204: 00e00193 li gp,14 + 80000208: 17df1463 bne t5,t4,80000370 + +000000008000020c : + 8000020c: fff00093 li ra,-1 + 80000210: 0010af13 slti t5,ra,1 + 80000214: 00100e93 li t4,1 + 80000218: 00f00193 li gp,15 + 8000021c: 15df1a63 bne t5,t4,80000370 + +0000000080000220 : + 80000220: fff00093 li ra,-1 + 80000224: fff0af13 slti t5,ra,-1 + 80000228: 00000e93 li t4,0 + 8000022c: 01000193 li gp,16 + 80000230: 15df1063 bne t5,t4,80000370 + +0000000080000234 : + 80000234: 00b00093 li ra,11 + 80000238: 00d0a093 slti ra,ra,13 + 8000023c: 00100e93 li t4,1 + 80000240: 01100193 li gp,17 + 80000244: 13d09663 bne ra,t4,80000370 + +0000000080000248 : + 80000248: 00000213 li tp,0 + 8000024c: 00f00093 li ra,15 + 80000250: 00a0af13 slti t5,ra,10 + 80000254: 000f0313 mv t1,t5 + 80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000025c: 00200293 li t0,2 + 80000260: fe5216e3 bne tp,t0,8000024c + 80000264: 00000e93 li t4,0 + 80000268: 01200193 li gp,18 + 8000026c: 11d31263 bne t1,t4,80000370 + +0000000080000270 : + 80000270: 00000213 li tp,0 + 80000274: 00a00093 li ra,10 + 80000278: 0100af13 slti t5,ra,16 + 8000027c: 00000013 nop + 80000280: 000f0313 mv t1,t5 + 80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000288: 00200293 li t0,2 + 8000028c: fe5214e3 bne tp,t0,80000274 + 80000290: 00100e93 li t4,1 + 80000294: 01300193 li gp,19 + 80000298: 0dd31c63 bne t1,t4,80000370 + +000000008000029c : + 8000029c: 00000213 li tp,0 + 800002a0: 01000093 li ra,16 + 800002a4: 0090af13 slti t5,ra,9 + 800002a8: 00000013 nop + 800002ac: 00000013 nop + 800002b0: 000f0313 mv t1,t5 + 800002b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002b8: 00200293 li t0,2 + 800002bc: fe5212e3 bne tp,t0,800002a0 + 800002c0: 00000e93 li t4,0 + 800002c4: 01400193 li gp,20 + 800002c8: 0bd31463 bne t1,t4,80000370 + +00000000800002cc : + 800002cc: 00000213 li tp,0 + 800002d0: 00b00093 li ra,11 + 800002d4: 00f0af13 slti t5,ra,15 + 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002dc: 00200293 li t0,2 + 800002e0: fe5218e3 bne tp,t0,800002d0 + 800002e4: 00100e93 li t4,1 + 800002e8: 01500193 li gp,21 + 800002ec: 09df1263 bne t5,t4,80000370 + +00000000800002f0 : + 800002f0: 00000213 li tp,0 + 800002f4: 01100093 li ra,17 + 800002f8: 00000013 nop + 800002fc: 0080af13 slti t5,ra,8 + 80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000304: 00200293 li t0,2 + 80000308: fe5216e3 bne tp,t0,800002f4 + 8000030c: 00000e93 li t4,0 + 80000310: 01600193 li gp,22 + 80000314: 05df1e63 bne t5,t4,80000370 + +0000000080000318 : + 80000318: 00000213 li tp,0 + 8000031c: 00c00093 li ra,12 + 80000320: 00000013 nop + 80000324: 00000013 nop + 80000328: 00e0af13 slti t5,ra,14 + 8000032c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000330: 00200293 li t0,2 + 80000334: fe5214e3 bne tp,t0,8000031c + 80000338: 00100e93 li t4,1 + 8000033c: 01700193 li gp,23 + 80000340: 03df1863 bne t5,t4,80000370 + +0000000080000344 : + 80000344: fff02093 slti ra,zero,-1 + 80000348: 00000e93 li t4,0 + 8000034c: 01800193 li gp,24 + 80000350: 03d09063 bne ra,t4,80000370 + +0000000080000354 : + 80000354: 00ff00b7 lui ra,0xff0 + 80000358: 0ff0809b addiw ra,ra,255 + 8000035c: fff0a013 slti zero,ra,-1 + 80000360: 00000e93 li t4,0 + 80000364: 01900193 li gp,25 + 80000368: 01d01463 bne zero,t4,80000370 + 8000036c: 00301c63 bne zero,gp,80000384 + +0000000080000370 : + 80000370: 0ff0000f fence + 80000374: 00018063 beqz gp,80000374 + 80000378: 00119193 slli gp,gp,0x1 + 8000037c: 0011e193 ori gp,gp,1 + 80000380: 00000073 ecall + +0000000080000384 : + 80000384: 0ff0000f fence + 80000388: 00100193 li gp,1 + 8000038c: 00000073 ecall + 80000390: c0001073 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 diff --git a/test/riscv/tests/rv64ui-p-slti.elf b/test/riscv/tests/rv64ui-p-slti.elf new file mode 100755 index 00000000..3dbb9dcf Binary files /dev/null and b/test/riscv/tests/rv64ui-p-slti.elf differ diff --git a/test/riscv/tests/rv64ui-p-sltiu.dump b/test/riscv/tests/rv64ui-p-sltiu.dump new file mode 100644 index 00000000..45fe6ab3 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sltiu.dump @@ -0,0 +1,320 @@ + +rv64ui-p-sltiu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 0000bf13 sltiu t5,ra,0 + 80000104: 00000e93 li t4,0 + 80000108: 00200193 li gp,2 + 8000010c: 27df1263 bne t5,t4,80000370 + +0000000080000110 : + 80000110: 00100093 li ra,1 + 80000114: 0010bf13 seqz t5,ra + 80000118: 00000e93 li t4,0 + 8000011c: 00300193 li gp,3 + 80000120: 25df1863 bne t5,t4,80000370 + +0000000080000124 : + 80000124: 00300093 li ra,3 + 80000128: 0070bf13 sltiu t5,ra,7 + 8000012c: 00100e93 li t4,1 + 80000130: 00400193 li gp,4 + 80000134: 23df1e63 bne t5,t4,80000370 + +0000000080000138 : + 80000138: 00700093 li ra,7 + 8000013c: 0030bf13 sltiu t5,ra,3 + 80000140: 00000e93 li t4,0 + 80000144: 00500193 li gp,5 + 80000148: 23df1463 bne t5,t4,80000370 + +000000008000014c : + 8000014c: 00000093 li ra,0 + 80000150: 8000bf13 sltiu t5,ra,-2048 + 80000154: 00100e93 li t4,1 + 80000158: 00600193 li gp,6 + 8000015c: 21df1a63 bne t5,t4,80000370 + +0000000080000160 : + 80000160: 800000b7 lui ra,0x80000 + 80000164: 0000bf13 sltiu t5,ra,0 + 80000168: 00000e93 li t4,0 + 8000016c: 00700193 li gp,7 + 80000170: 21df1063 bne t5,t4,80000370 + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: 8000bf13 sltiu t5,ra,-2048 + 8000017c: 00100e93 li t4,1 + 80000180: 00800193 li gp,8 + 80000184: 1fdf1663 bne t5,t4,80000370 + +0000000080000188 : + 80000188: 00000093 li ra,0 + 8000018c: 7ff0bf13 sltiu t5,ra,2047 + 80000190: 00100e93 li t4,1 + 80000194: 00900193 li gp,9 + 80000198: 1ddf1c63 bne t5,t4,80000370 + +000000008000019c : + 8000019c: 800000b7 lui ra,0x80000 + 800001a0: fff0809b addiw ra,ra,-1 + 800001a4: 0000bf13 sltiu t5,ra,0 + 800001a8: 00000e93 li t4,0 + 800001ac: 00a00193 li gp,10 + 800001b0: 1ddf1063 bne t5,t4,80000370 + +00000000800001b4 : + 800001b4: 800000b7 lui ra,0x80000 + 800001b8: fff0809b addiw ra,ra,-1 + 800001bc: 7ff0bf13 sltiu t5,ra,2047 + 800001c0: 00000e93 li t4,0 + 800001c4: 00b00193 li gp,11 + 800001c8: 1bdf1463 bne t5,t4,80000370 + +00000000800001cc : + 800001cc: 800000b7 lui ra,0x80000 + 800001d0: 7ff0bf13 sltiu t5,ra,2047 + 800001d4: 00000e93 li t4,0 + 800001d8: 00c00193 li gp,12 + 800001dc: 19df1a63 bne t5,t4,80000370 + +00000000800001e0 : + 800001e0: 800000b7 lui ra,0x80000 + 800001e4: fff0809b addiw ra,ra,-1 + 800001e8: 8000bf13 sltiu t5,ra,-2048 + 800001ec: 00100e93 li t4,1 + 800001f0: 00d00193 li gp,13 + 800001f4: 17df1e63 bne t5,t4,80000370 + +00000000800001f8 : + 800001f8: 00000093 li ra,0 + 800001fc: fff0bf13 sltiu t5,ra,-1 + 80000200: 00100e93 li t4,1 + 80000204: 00e00193 li gp,14 + 80000208: 17df1463 bne t5,t4,80000370 + +000000008000020c : + 8000020c: fff00093 li ra,-1 + 80000210: 0010bf13 seqz t5,ra + 80000214: 00000e93 li t4,0 + 80000218: 00f00193 li gp,15 + 8000021c: 15df1a63 bne t5,t4,80000370 + +0000000080000220 : + 80000220: fff00093 li ra,-1 + 80000224: fff0bf13 sltiu t5,ra,-1 + 80000228: 00000e93 li t4,0 + 8000022c: 01000193 li gp,16 + 80000230: 15df1063 bne t5,t4,80000370 + +0000000080000234 : + 80000234: 00b00093 li ra,11 + 80000238: 00d0b093 sltiu ra,ra,13 + 8000023c: 00100e93 li t4,1 + 80000240: 01100193 li gp,17 + 80000244: 13d09663 bne ra,t4,80000370 + +0000000080000248 : + 80000248: 00000213 li tp,0 + 8000024c: 00f00093 li ra,15 + 80000250: 00a0bf13 sltiu t5,ra,10 + 80000254: 000f0313 mv t1,t5 + 80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000025c: 00200293 li t0,2 + 80000260: fe5216e3 bne tp,t0,8000024c + 80000264: 00000e93 li t4,0 + 80000268: 01200193 li gp,18 + 8000026c: 11d31263 bne t1,t4,80000370 + +0000000080000270 : + 80000270: 00000213 li tp,0 + 80000274: 00a00093 li ra,10 + 80000278: 0100bf13 sltiu t5,ra,16 + 8000027c: 00000013 nop + 80000280: 000f0313 mv t1,t5 + 80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000288: 00200293 li t0,2 + 8000028c: fe5214e3 bne tp,t0,80000274 + 80000290: 00100e93 li t4,1 + 80000294: 01300193 li gp,19 + 80000298: 0dd31c63 bne t1,t4,80000370 + +000000008000029c : + 8000029c: 00000213 li tp,0 + 800002a0: 01000093 li ra,16 + 800002a4: 0090bf13 sltiu t5,ra,9 + 800002a8: 00000013 nop + 800002ac: 00000013 nop + 800002b0: 000f0313 mv t1,t5 + 800002b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002b8: 00200293 li t0,2 + 800002bc: fe5212e3 bne tp,t0,800002a0 + 800002c0: 00000e93 li t4,0 + 800002c4: 01400193 li gp,20 + 800002c8: 0bd31463 bne t1,t4,80000370 + +00000000800002cc : + 800002cc: 00000213 li tp,0 + 800002d0: 00b00093 li ra,11 + 800002d4: 00f0bf13 sltiu t5,ra,15 + 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002dc: 00200293 li t0,2 + 800002e0: fe5218e3 bne tp,t0,800002d0 + 800002e4: 00100e93 li t4,1 + 800002e8: 01500193 li gp,21 + 800002ec: 09df1263 bne t5,t4,80000370 + +00000000800002f0 : + 800002f0: 00000213 li tp,0 + 800002f4: 01100093 li ra,17 + 800002f8: 00000013 nop + 800002fc: 0080bf13 sltiu t5,ra,8 + 80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000304: 00200293 li t0,2 + 80000308: fe5216e3 bne tp,t0,800002f4 + 8000030c: 00000e93 li t4,0 + 80000310: 01600193 li gp,22 + 80000314: 05df1e63 bne t5,t4,80000370 + +0000000080000318 : + 80000318: 00000213 li tp,0 + 8000031c: 00c00093 li ra,12 + 80000320: 00000013 nop + 80000324: 00000013 nop + 80000328: 00e0bf13 sltiu t5,ra,14 + 8000032c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000330: 00200293 li t0,2 + 80000334: fe5214e3 bne tp,t0,8000031c + 80000338: 00100e93 li t4,1 + 8000033c: 01700193 li gp,23 + 80000340: 03df1863 bne t5,t4,80000370 + +0000000080000344 : + 80000344: fff03093 sltiu ra,zero,-1 + 80000348: 00100e93 li t4,1 + 8000034c: 01800193 li gp,24 + 80000350: 03d09063 bne ra,t4,80000370 + +0000000080000354 : + 80000354: 00ff00b7 lui ra,0xff0 + 80000358: 0ff0809b addiw ra,ra,255 + 8000035c: fff0b013 sltiu zero,ra,-1 + 80000360: 00000e93 li t4,0 + 80000364: 01900193 li gp,25 + 80000368: 01d01463 bne zero,t4,80000370 + 8000036c: 00301c63 bne zero,gp,80000384 + +0000000080000370 : + 80000370: 0ff0000f fence + 80000374: 00018063 beqz gp,80000374 + 80000378: 00119193 slli gp,gp,0x1 + 8000037c: 0011e193 ori gp,gp,1 + 80000380: 00000073 ecall + +0000000080000384 : + 80000384: 0ff0000f fence + 80000388: 00100193 li gp,1 + 8000038c: 00000073 ecall + 80000390: c0001073 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 diff --git a/test/riscv/tests/rv64ui-p-sltiu.elf b/test/riscv/tests/rv64ui-p-sltiu.elf new file mode 100755 index 00000000..9eb7628a Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sltiu.elf differ diff --git a/test/riscv/tests/rv64ui-p-sltu.dump b/test/riscv/tests/rv64ui-p-sltu.dump new file mode 100644 index 00000000..4b1cd23e --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sltu.dump @@ -0,0 +1,500 @@ + +rv64ui-p-sltu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00000113 li sp,0 + 80000104: 0020bf33 sltu t5,ra,sp + 80000108: 00000e93 li t4,0 + 8000010c: 00200193 li gp,2 + 80000110: 4fdf1c63 bne t5,t4,80000608 + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 0020bf33 sltu t5,ra,sp + 80000120: 00000e93 li t4,0 + 80000124: 00300193 li gp,3 + 80000128: 4fdf1063 bne t5,t4,80000608 + +000000008000012c : + 8000012c: 00300093 li ra,3 + 80000130: 00700113 li sp,7 + 80000134: 0020bf33 sltu t5,ra,sp + 80000138: 00100e93 li t4,1 + 8000013c: 00400193 li gp,4 + 80000140: 4ddf1463 bne t5,t4,80000608 + +0000000080000144 : + 80000144: 00700093 li ra,7 + 80000148: 00300113 li sp,3 + 8000014c: 0020bf33 sltu t5,ra,sp + 80000150: 00000e93 li t4,0 + 80000154: 00500193 li gp,5 + 80000158: 4bdf1863 bne t5,t4,80000608 + +000000008000015c : + 8000015c: 00000093 li ra,0 + 80000160: 00020137 lui sp,0x20 + 80000164: fff1011b addiw sp,sp,-1 + 80000168: 00f11113 slli sp,sp,0xf + 8000016c: 0020bf33 sltu t5,ra,sp + 80000170: 00100e93 li t4,1 + 80000174: 00600193 li gp,6 + 80000178: 49df1863 bne t5,t4,80000608 + +000000008000017c : + 8000017c: 0010009b addiw ra,zero,1 + 80000180: 01f09093 slli ra,ra,0x1f + 80000184: 00000113 li sp,0 + 80000188: 0020bf33 sltu t5,ra,sp + 8000018c: 00000e93 li t4,0 + 80000190: 00700193 li gp,7 + 80000194: 47df1a63 bne t5,t4,80000608 + +0000000080000198 : + 80000198: 0010009b addiw ra,zero,1 + 8000019c: 01f09093 slli ra,ra,0x1f + 800001a0: 00020137 lui sp,0x20 + 800001a4: fff1011b addiw sp,sp,-1 + 800001a8: 00f11113 slli sp,sp,0xf + 800001ac: 0020bf33 sltu t5,ra,sp + 800001b0: 00100e93 li t4,1 + 800001b4: 00800193 li gp,8 + 800001b8: 45df1863 bne t5,t4,80000608 + +00000000800001bc : + 800001bc: 00000093 li ra,0 + 800001c0: 00008137 lui sp,0x8 + 800001c4: fff1011b addiw sp,sp,-1 + 800001c8: 0020bf33 sltu t5,ra,sp + 800001cc: 00100e93 li t4,1 + 800001d0: 00900193 li gp,9 + 800001d4: 43df1a63 bne t5,t4,80000608 + +00000000800001d8 : + 800001d8: 800000b7 lui ra,0x80000 + 800001dc: fff0809b addiw ra,ra,-1 + 800001e0: 00000113 li sp,0 + 800001e4: 0020bf33 sltu t5,ra,sp + 800001e8: 00000e93 li t4,0 + 800001ec: 00a00193 li gp,10 + 800001f0: 41df1c63 bne t5,t4,80000608 + +00000000800001f4 : + 800001f4: 800000b7 lui ra,0x80000 + 800001f8: fff0809b addiw ra,ra,-1 + 800001fc: 00008137 lui sp,0x8 + 80000200: fff1011b addiw sp,sp,-1 + 80000204: 0020bf33 sltu t5,ra,sp + 80000208: 00000e93 li t4,0 + 8000020c: 00b00193 li gp,11 + 80000210: 3fdf1c63 bne t5,t4,80000608 + +0000000080000214 : + 80000214: 0010009b addiw ra,zero,1 + 80000218: 01f09093 slli ra,ra,0x1f + 8000021c: 00008137 lui sp,0x8 + 80000220: fff1011b addiw sp,sp,-1 + 80000224: 0020bf33 sltu t5,ra,sp + 80000228: 00000e93 li t4,0 + 8000022c: 00c00193 li gp,12 + 80000230: 3ddf1c63 bne t5,t4,80000608 + +0000000080000234 : + 80000234: 800000b7 lui ra,0x80000 + 80000238: fff0809b addiw ra,ra,-1 + 8000023c: 00020137 lui sp,0x20 + 80000240: fff1011b addiw sp,sp,-1 + 80000244: 00f11113 slli sp,sp,0xf + 80000248: 0020bf33 sltu t5,ra,sp + 8000024c: 00100e93 li t4,1 + 80000250: 00d00193 li gp,13 + 80000254: 3bdf1a63 bne t5,t4,80000608 + +0000000080000258 : + 80000258: 00000093 li ra,0 + 8000025c: 0010011b addiw sp,zero,1 + 80000260: 02011113 slli sp,sp,0x20 + 80000264: fff10113 addi sp,sp,-1 # 1ffff <_start-0x7ffe0001> + 80000268: 0020bf33 sltu t5,ra,sp + 8000026c: 00100e93 li t4,1 + 80000270: 00e00193 li gp,14 + 80000274: 39df1a63 bne t5,t4,80000608 + +0000000080000278 : + 80000278: 0010009b addiw ra,zero,1 + 8000027c: 02009093 slli ra,ra,0x20 + 80000280: fff08093 addi ra,ra,-1 # ffffffff7fffffff <_end+0xfffffffeffffdfff> + 80000284: 00100113 li sp,1 + 80000288: 0020bf33 sltu t5,ra,sp + 8000028c: 00000e93 li t4,0 + 80000290: 00f00193 li gp,15 + 80000294: 37df1a63 bne t5,t4,80000608 + +0000000080000298 : + 80000298: 0010009b addiw ra,zero,1 + 8000029c: 02009093 slli ra,ra,0x20 + 800002a0: fff08093 addi ra,ra,-1 + 800002a4: 0010011b addiw sp,zero,1 + 800002a8: 02011113 slli sp,sp,0x20 + 800002ac: fff10113 addi sp,sp,-1 + 800002b0: 0020bf33 sltu t5,ra,sp + 800002b4: 00000e93 li t4,0 + 800002b8: 01000193 li gp,16 + 800002bc: 35df1663 bne t5,t4,80000608 + +00000000800002c0 : + 800002c0: 00e00093 li ra,14 + 800002c4: 00d00113 li sp,13 + 800002c8: 0020b0b3 sltu ra,ra,sp + 800002cc: 00000e93 li t4,0 + 800002d0: 01100193 li gp,17 + 800002d4: 33d09a63 bne ra,t4,80000608 + +00000000800002d8 : + 800002d8: 00b00093 li ra,11 + 800002dc: 00d00113 li sp,13 + 800002e0: 0020b133 sltu sp,ra,sp + 800002e4: 00100e93 li t4,1 + 800002e8: 01200193 li gp,18 + 800002ec: 31d11e63 bne sp,t4,80000608 + +00000000800002f0 : + 800002f0: 00d00093 li ra,13 + 800002f4: 0010b0b3 sltu ra,ra,ra + 800002f8: 00000e93 li t4,0 + 800002fc: 01300193 li gp,19 + 80000300: 31d09463 bne ra,t4,80000608 + +0000000080000304 : + 80000304: 00000213 li tp,0 + 80000308: 00b00093 li ra,11 + 8000030c: 00d00113 li sp,13 + 80000310: 0020bf33 sltu t5,ra,sp + 80000314: 000f0313 mv t1,t5 + 80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000031c: 00200293 li t0,2 + 80000320: fe5214e3 bne tp,t0,80000308 + 80000324: 00100e93 li t4,1 + 80000328: 01400193 li gp,20 + 8000032c: 2dd31e63 bne t1,t4,80000608 + +0000000080000330 : + 80000330: 00000213 li tp,0 + 80000334: 00e00093 li ra,14 + 80000338: 00d00113 li sp,13 + 8000033c: 0020bf33 sltu t5,ra,sp + 80000340: 00000013 nop + 80000344: 000f0313 mv t1,t5 + 80000348: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000034c: 00200293 li t0,2 + 80000350: fe5212e3 bne tp,t0,80000334 + 80000354: 00000e93 li t4,0 + 80000358: 01500193 li gp,21 + 8000035c: 2bd31663 bne t1,t4,80000608 + +0000000080000360 : + 80000360: 00000213 li tp,0 + 80000364: 00c00093 li ra,12 + 80000368: 00d00113 li sp,13 + 8000036c: 0020bf33 sltu t5,ra,sp + 80000370: 00000013 nop + 80000374: 00000013 nop + 80000378: 000f0313 mv t1,t5 + 8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000380: 00200293 li t0,2 + 80000384: fe5210e3 bne tp,t0,80000364 + 80000388: 00100e93 li t4,1 + 8000038c: 01600193 li gp,22 + 80000390: 27d31c63 bne t1,t4,80000608 + +0000000080000394 : + 80000394: 00000213 li tp,0 + 80000398: 00e00093 li ra,14 + 8000039c: 00d00113 li sp,13 + 800003a0: 0020bf33 sltu t5,ra,sp + 800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003a8: 00200293 li t0,2 + 800003ac: fe5216e3 bne tp,t0,80000398 + 800003b0: 00000e93 li t4,0 + 800003b4: 01700193 li gp,23 + 800003b8: 25df1863 bne t5,t4,80000608 + +00000000800003bc : + 800003bc: 00000213 li tp,0 + 800003c0: 00b00093 li ra,11 + 800003c4: 00d00113 li sp,13 + 800003c8: 00000013 nop + 800003cc: 0020bf33 sltu t5,ra,sp + 800003d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d4: 00200293 li t0,2 + 800003d8: fe5214e3 bne tp,t0,800003c0 + 800003dc: 00100e93 li t4,1 + 800003e0: 01800193 li gp,24 + 800003e4: 23df1263 bne t5,t4,80000608 + +00000000800003e8 : + 800003e8: 00000213 li tp,0 + 800003ec: 00f00093 li ra,15 + 800003f0: 00d00113 li sp,13 + 800003f4: 00000013 nop + 800003f8: 00000013 nop + 800003fc: 0020bf33 sltu t5,ra,sp + 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000404: 00200293 li t0,2 + 80000408: fe5212e3 bne tp,t0,800003ec + 8000040c: 00000e93 li t4,0 + 80000410: 01900193 li gp,25 + 80000414: 1fdf1a63 bne t5,t4,80000608 + +0000000080000418 : + 80000418: 00000213 li tp,0 + 8000041c: 00a00093 li ra,10 + 80000420: 00000013 nop + 80000424: 00d00113 li sp,13 + 80000428: 0020bf33 sltu t5,ra,sp + 8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000430: 00200293 li t0,2 + 80000434: fe5214e3 bne tp,t0,8000041c + 80000438: 00100e93 li t4,1 + 8000043c: 01a00193 li gp,26 + 80000440: 1ddf1463 bne t5,t4,80000608 + +0000000080000444 : + 80000444: 00000213 li tp,0 + 80000448: 01000093 li ra,16 + 8000044c: 00000013 nop + 80000450: 00d00113 li sp,13 + 80000454: 00000013 nop + 80000458: 0020bf33 sltu t5,ra,sp + 8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000460: 00200293 li t0,2 + 80000464: fe5212e3 bne tp,t0,80000448 + 80000468: 00000e93 li t4,0 + 8000046c: 01b00193 li gp,27 + 80000470: 19df1c63 bne t5,t4,80000608 + +0000000080000474 : + 80000474: 00000213 li tp,0 + 80000478: 00900093 li ra,9 + 8000047c: 00000013 nop + 80000480: 00000013 nop + 80000484: 00d00113 li sp,13 + 80000488: 0020bf33 sltu t5,ra,sp + 8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000490: 00200293 li t0,2 + 80000494: fe5212e3 bne tp,t0,80000478 + 80000498: 00100e93 li t4,1 + 8000049c: 01c00193 li gp,28 + 800004a0: 17df1463 bne t5,t4,80000608 + +00000000800004a4 : + 800004a4: 00000213 li tp,0 + 800004a8: 00d00113 li sp,13 + 800004ac: 01100093 li ra,17 + 800004b0: 0020bf33 sltu t5,ra,sp + 800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004b8: 00200293 li t0,2 + 800004bc: fe5216e3 bne tp,t0,800004a8 + 800004c0: 00000e93 li t4,0 + 800004c4: 01d00193 li gp,29 + 800004c8: 15df1063 bne t5,t4,80000608 + +00000000800004cc : + 800004cc: 00000213 li tp,0 + 800004d0: 00d00113 li sp,13 + 800004d4: 00800093 li ra,8 + 800004d8: 00000013 nop + 800004dc: 0020bf33 sltu t5,ra,sp + 800004e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004e4: 00200293 li t0,2 + 800004e8: fe5214e3 bne tp,t0,800004d0 + 800004ec: 00100e93 li t4,1 + 800004f0: 01e00193 li gp,30 + 800004f4: 11df1a63 bne t5,t4,80000608 + +00000000800004f8 : + 800004f8: 00000213 li tp,0 + 800004fc: 00d00113 li sp,13 + 80000500: 01200093 li ra,18 + 80000504: 00000013 nop + 80000508: 00000013 nop + 8000050c: 0020bf33 sltu t5,ra,sp + 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000514: 00200293 li t0,2 + 80000518: fe5212e3 bne tp,t0,800004fc + 8000051c: 00000e93 li t4,0 + 80000520: 01f00193 li gp,31 + 80000524: 0fdf1263 bne t5,t4,80000608 + +0000000080000528 : + 80000528: 00000213 li tp,0 + 8000052c: 00d00113 li sp,13 + 80000530: 00000013 nop + 80000534: 00700093 li ra,7 + 80000538: 0020bf33 sltu t5,ra,sp + 8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000540: 00200293 li t0,2 + 80000544: fe5214e3 bne tp,t0,8000052c + 80000548: 00100e93 li t4,1 + 8000054c: 02000193 li gp,32 + 80000550: 0bdf1c63 bne t5,t4,80000608 + +0000000080000554 : + 80000554: 00000213 li tp,0 + 80000558: 00d00113 li sp,13 + 8000055c: 00000013 nop + 80000560: 01300093 li ra,19 + 80000564: 00000013 nop + 80000568: 0020bf33 sltu t5,ra,sp + 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000570: 00200293 li t0,2 + 80000574: fe5212e3 bne tp,t0,80000558 + 80000578: 00000e93 li t4,0 + 8000057c: 02100193 li gp,33 + 80000580: 09df1463 bne t5,t4,80000608 + +0000000080000584 : + 80000584: 00000213 li tp,0 + 80000588: 00d00113 li sp,13 + 8000058c: 00000013 nop + 80000590: 00000013 nop + 80000594: 00600093 li ra,6 + 80000598: 0020bf33 sltu t5,ra,sp + 8000059c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005a0: 00200293 li t0,2 + 800005a4: fe5212e3 bne tp,t0,80000588 + 800005a8: 00100e93 li t4,1 + 800005ac: 02200193 li gp,34 + 800005b0: 05df1c63 bne t5,t4,80000608 + +00000000800005b4 : + 800005b4: fff00093 li ra,-1 + 800005b8: 00103133 snez sp,ra + 800005bc: 00100e93 li t4,1 + 800005c0: 02300193 li gp,35 + 800005c4: 05d11263 bne sp,t4,80000608 + +00000000800005c8 : + 800005c8: fff00093 li ra,-1 + 800005cc: 0000b133 sltu sp,ra,zero + 800005d0: 00000e93 li t4,0 + 800005d4: 02400193 li gp,36 + 800005d8: 03d11863 bne sp,t4,80000608 + +00000000800005dc : + 800005dc: 000030b3 snez ra,zero + 800005e0: 00000e93 li t4,0 + 800005e4: 02500193 li gp,37 + 800005e8: 03d09063 bne ra,t4,80000608 + +00000000800005ec : + 800005ec: 01000093 li ra,16 + 800005f0: 01e00113 li sp,30 + 800005f4: 0020b033 sltu zero,ra,sp + 800005f8: 00000e93 li t4,0 + 800005fc: 02600193 li gp,38 + 80000600: 01d01463 bne zero,t4,80000608 + 80000604: 00301c63 bne zero,gp,8000061c + +0000000080000608 : + 80000608: 0ff0000f fence + 8000060c: 00018063 beqz gp,8000060c + 80000610: 00119193 slli gp,gp,0x1 + 80000614: 0011e193 ori gp,gp,1 + 80000618: 00000073 ecall + +000000008000061c : + 8000061c: 0ff0000f fence + 80000620: 00100193 li gp,1 + 80000624: 00000073 ecall + 80000628: c0001073 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/test/riscv/tests/rv64ui-p-sltu.elf b/test/riscv/tests/rv64ui-p-sltu.elf new file mode 100755 index 00000000..2c63f0bd Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sltu.elf differ diff --git a/test/riscv/tests/rv64ui-p-sra.dump b/test/riscv/tests/rv64ui-p-sra.dump new file mode 100644 index 00000000..4b5e4ed5 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sra.dump @@ -0,0 +1,538 @@ + +rv64ui-p-sra: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 800000b7 lui ra,0x80000 + 80000100: 00000113 li sp,0 + 80000104: 4020df33 sra t5,ra,sp + 80000108: 80000eb7 lui t4,0x80000 + 8000010c: 00200193 li gp,2 + 80000110: 59df1463 bne t5,t4,80000698 + +0000000080000114 : + 80000114: 800000b7 lui ra,0x80000 + 80000118: 00100113 li sp,1 + 8000011c: 4020df33 sra t5,ra,sp + 80000120: c0000eb7 lui t4,0xc0000 + 80000124: 00300193 li gp,3 + 80000128: 57df1863 bne t5,t4,80000698 + +000000008000012c : + 8000012c: 800000b7 lui ra,0x80000 + 80000130: 00700113 li sp,7 + 80000134: 4020df33 sra t5,ra,sp + 80000138: ff000eb7 lui t4,0xff000 + 8000013c: 00400193 li gp,4 + 80000140: 55df1c63 bne t5,t4,80000698 + +0000000080000144 : + 80000144: 800000b7 lui ra,0x80000 + 80000148: 00e00113 li sp,14 + 8000014c: 4020df33 sra t5,ra,sp + 80000150: fffe0eb7 lui t4,0xfffe0 + 80000154: 00500193 li gp,5 + 80000158: 55df1063 bne t5,t4,80000698 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 0010809b addiw ra,ra,1 + 80000164: 01f00113 li sp,31 + 80000168: 4020df33 sra t5,ra,sp + 8000016c: fff00e93 li t4,-1 + 80000170: 00600193 li gp,6 + 80000174: 53df1263 bne t5,t4,80000698 + +0000000080000178 : + 80000178: 800000b7 lui ra,0x80000 + 8000017c: fff0809b addiw ra,ra,-1 + 80000180: 00000113 li sp,0 + 80000184: 4020df33 sra t5,ra,sp + 80000188: 80000eb7 lui t4,0x80000 + 8000018c: fffe8e9b addiw t4,t4,-1 + 80000190: 00700193 li gp,7 + 80000194: 51df1263 bne t5,t4,80000698 + +0000000080000198 : + 80000198: 800000b7 lui ra,0x80000 + 8000019c: fff0809b addiw ra,ra,-1 + 800001a0: 00100113 li sp,1 + 800001a4: 4020df33 sra t5,ra,sp + 800001a8: 40000eb7 lui t4,0x40000 + 800001ac: fffe8e9b addiw t4,t4,-1 + 800001b0: 00800193 li gp,8 + 800001b4: 4fdf1263 bne t5,t4,80000698 + +00000000800001b8 : + 800001b8: 800000b7 lui ra,0x80000 + 800001bc: fff0809b addiw ra,ra,-1 + 800001c0: 00700113 li sp,7 + 800001c4: 4020df33 sra t5,ra,sp + 800001c8: 01000eb7 lui t4,0x1000 + 800001cc: fffe8e9b addiw t4,t4,-1 + 800001d0: 00900193 li gp,9 + 800001d4: 4ddf1263 bne t5,t4,80000698 + +00000000800001d8 : + 800001d8: 800000b7 lui ra,0x80000 + 800001dc: fff0809b addiw ra,ra,-1 + 800001e0: 00e00113 li sp,14 + 800001e4: 4020df33 sra t5,ra,sp + 800001e8: 00020eb7 lui t4,0x20 + 800001ec: fffe8e9b addiw t4,t4,-1 + 800001f0: 00a00193 li gp,10 + 800001f4: 4bdf1263 bne t5,t4,80000698 + +00000000800001f8 : + 800001f8: 800000b7 lui ra,0x80000 + 800001fc: fff0809b addiw ra,ra,-1 + 80000200: 01f00113 li sp,31 + 80000204: 4020df33 sra t5,ra,sp + 80000208: 00000e93 li t4,0 + 8000020c: 00b00193 li gp,11 + 80000210: 49df1463 bne t5,t4,80000698 + +0000000080000214 : + 80000214: 818180b7 lui ra,0x81818 + 80000218: 1810809b addiw ra,ra,385 + 8000021c: 00000113 li sp,0 + 80000220: 4020df33 sra t5,ra,sp + 80000224: 81818eb7 lui t4,0x81818 + 80000228: 181e8e9b addiw t4,t4,385 + 8000022c: 00c00193 li gp,12 + 80000230: 47df1463 bne t5,t4,80000698 + +0000000080000234 : + 80000234: 818180b7 lui ra,0x81818 + 80000238: 1810809b addiw ra,ra,385 + 8000023c: 00100113 li sp,1 + 80000240: 4020df33 sra t5,ra,sp + 80000244: c0c0ceb7 lui t4,0xc0c0c + 80000248: 0c0e8e9b addiw t4,t4,192 + 8000024c: 00d00193 li gp,13 + 80000250: 45df1463 bne t5,t4,80000698 + +0000000080000254 : + 80000254: 818180b7 lui ra,0x81818 + 80000258: 1810809b addiw ra,ra,385 + 8000025c: 00700113 li sp,7 + 80000260: 4020df33 sra t5,ra,sp + 80000264: ff030eb7 lui t4,0xff030 + 80000268: 303e8e9b addiw t4,t4,771 + 8000026c: 00e00193 li gp,14 + 80000270: 43df1463 bne t5,t4,80000698 + +0000000080000274 : + 80000274: 818180b7 lui ra,0x81818 + 80000278: 1810809b addiw ra,ra,385 + 8000027c: 00e00113 li sp,14 + 80000280: 4020df33 sra t5,ra,sp + 80000284: fffe0eb7 lui t4,0xfffe0 + 80000288: 606e8e9b addiw t4,t4,1542 + 8000028c: 00f00193 li gp,15 + 80000290: 41df1463 bne t5,t4,80000698 + +0000000080000294 : + 80000294: 818180b7 lui ra,0x81818 + 80000298: 1810809b addiw ra,ra,385 + 8000029c: 01f00113 li sp,31 + 800002a0: 4020df33 sra t5,ra,sp + 800002a4: fff00e93 li t4,-1 + 800002a8: 01000193 li gp,16 + 800002ac: 3fdf1663 bne t5,t4,80000698 + +00000000800002b0 : + 800002b0: 818180b7 lui ra,0x81818 + 800002b4: 1810809b addiw ra,ra,385 + 800002b8: fc000113 li sp,-64 + 800002bc: 4020df33 sra t5,ra,sp + 800002c0: 81818eb7 lui t4,0x81818 + 800002c4: 181e8e9b addiw t4,t4,385 + 800002c8: 01100193 li gp,17 + 800002cc: 3ddf1663 bne t5,t4,80000698 + +00000000800002d0 : + 800002d0: 818180b7 lui ra,0x81818 + 800002d4: 1810809b addiw ra,ra,385 + 800002d8: fc100113 li sp,-63 + 800002dc: 4020df33 sra t5,ra,sp + 800002e0: c0c0ceb7 lui t4,0xc0c0c + 800002e4: 0c0e8e9b addiw t4,t4,192 + 800002e8: 01200193 li gp,18 + 800002ec: 3bdf1663 bne t5,t4,80000698 + +00000000800002f0 : + 800002f0: 818180b7 lui ra,0x81818 + 800002f4: 1810809b addiw ra,ra,385 + 800002f8: fc700113 li sp,-57 + 800002fc: 4020df33 sra t5,ra,sp + 80000300: ff030eb7 lui t4,0xff030 + 80000304: 303e8e9b addiw t4,t4,771 + 80000308: 01300193 li gp,19 + 8000030c: 39df1663 bne t5,t4,80000698 + +0000000080000310 : + 80000310: 818180b7 lui ra,0x81818 + 80000314: 1810809b addiw ra,ra,385 + 80000318: fce00113 li sp,-50 + 8000031c: 4020df33 sra t5,ra,sp + 80000320: fffe0eb7 lui t4,0xfffe0 + 80000324: 606e8e9b addiw t4,t4,1542 + 80000328: 01400193 li gp,20 + 8000032c: 37df1663 bne t5,t4,80000698 + +0000000080000330 : + 80000330: 818180b7 lui ra,0x81818 + 80000334: 1810809b addiw ra,ra,385 + 80000338: fff00113 li sp,-1 + 8000033c: 4020df33 sra t5,ra,sp + 80000340: fff00e93 li t4,-1 + 80000344: 01500193 li gp,21 + 80000348: 35df1863 bne t5,t4,80000698 + +000000008000034c : + 8000034c: 800000b7 lui ra,0x80000 + 80000350: 00700113 li sp,7 + 80000354: 4020d0b3 sra ra,ra,sp + 80000358: ff000eb7 lui t4,0xff000 + 8000035c: 01600193 li gp,22 + 80000360: 33d09c63 bne ra,t4,80000698 + +0000000080000364 : + 80000364: 800000b7 lui ra,0x80000 + 80000368: 00e00113 li sp,14 + 8000036c: 4020d133 sra sp,ra,sp + 80000370: fffe0eb7 lui t4,0xfffe0 + 80000374: 01700193 li gp,23 + 80000378: 33d11063 bne sp,t4,80000698 + +000000008000037c : + 8000037c: 00700093 li ra,7 + 80000380: 4010d0b3 sra ra,ra,ra + 80000384: 00000e93 li t4,0 + 80000388: 01800193 li gp,24 + 8000038c: 31d09663 bne ra,t4,80000698 + +0000000080000390 : + 80000390: 00000213 li tp,0 + 80000394: 800000b7 lui ra,0x80000 + 80000398: 00700113 li sp,7 + 8000039c: 4020df33 sra t5,ra,sp + 800003a0: 000f0313 mv t1,t5 + 800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003a8: 00200293 li t0,2 + 800003ac: fe5214e3 bne tp,t0,80000394 + 800003b0: ff000eb7 lui t4,0xff000 + 800003b4: 01900193 li gp,25 + 800003b8: 2fd31063 bne t1,t4,80000698 + +00000000800003bc : + 800003bc: 00000213 li tp,0 + 800003c0: 800000b7 lui ra,0x80000 + 800003c4: 00e00113 li sp,14 + 800003c8: 4020df33 sra t5,ra,sp + 800003cc: 00000013 nop + 800003d0: 000f0313 mv t1,t5 + 800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d8: 00200293 li t0,2 + 800003dc: fe5212e3 bne tp,t0,800003c0 + 800003e0: fffe0eb7 lui t4,0xfffe0 + 800003e4: 01a00193 li gp,26 + 800003e8: 2bd31863 bne t1,t4,80000698 + +00000000800003ec : + 800003ec: 00000213 li tp,0 + 800003f0: 800000b7 lui ra,0x80000 + 800003f4: 01f00113 li sp,31 + 800003f8: 4020df33 sra t5,ra,sp + 800003fc: 00000013 nop + 80000400: 00000013 nop + 80000404: 000f0313 mv t1,t5 + 80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000040c: 00200293 li t0,2 + 80000410: fe5210e3 bne tp,t0,800003f0 + 80000414: fff00e93 li t4,-1 + 80000418: 01b00193 li gp,27 + 8000041c: 27d31e63 bne t1,t4,80000698 + +0000000080000420 : + 80000420: 00000213 li tp,0 + 80000424: 800000b7 lui ra,0x80000 + 80000428: 00700113 li sp,7 + 8000042c: 4020df33 sra t5,ra,sp + 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000434: 00200293 li t0,2 + 80000438: fe5216e3 bne tp,t0,80000424 + 8000043c: ff000eb7 lui t4,0xff000 + 80000440: 01c00193 li gp,28 + 80000444: 25df1a63 bne t5,t4,80000698 + +0000000080000448 : + 80000448: 00000213 li tp,0 + 8000044c: 800000b7 lui ra,0x80000 + 80000450: 00e00113 li sp,14 + 80000454: 00000013 nop + 80000458: 4020df33 sra t5,ra,sp + 8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000460: 00200293 li t0,2 + 80000464: fe5214e3 bne tp,t0,8000044c + 80000468: fffe0eb7 lui t4,0xfffe0 + 8000046c: 01d00193 li gp,29 + 80000470: 23df1463 bne t5,t4,80000698 + +0000000080000474 : + 80000474: 00000213 li tp,0 + 80000478: 800000b7 lui ra,0x80000 + 8000047c: 01f00113 li sp,31 + 80000480: 00000013 nop + 80000484: 00000013 nop + 80000488: 4020df33 sra t5,ra,sp + 8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000490: 00200293 li t0,2 + 80000494: fe5212e3 bne tp,t0,80000478 + 80000498: fff00e93 li t4,-1 + 8000049c: 01e00193 li gp,30 + 800004a0: 1fdf1c63 bne t5,t4,80000698 + +00000000800004a4 : + 800004a4: 00000213 li tp,0 + 800004a8: 800000b7 lui ra,0x80000 + 800004ac: 00000013 nop + 800004b0: 00700113 li sp,7 + 800004b4: 4020df33 sra t5,ra,sp + 800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004bc: 00200293 li t0,2 + 800004c0: fe5214e3 bne tp,t0,800004a8 + 800004c4: ff000eb7 lui t4,0xff000 + 800004c8: 01f00193 li gp,31 + 800004cc: 1ddf1663 bne t5,t4,80000698 + +00000000800004d0 : + 800004d0: 00000213 li tp,0 + 800004d4: 800000b7 lui ra,0x80000 + 800004d8: 00000013 nop + 800004dc: 00e00113 li sp,14 + 800004e0: 00000013 nop + 800004e4: 4020df33 sra t5,ra,sp + 800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004ec: 00200293 li t0,2 + 800004f0: fe5212e3 bne tp,t0,800004d4 + 800004f4: fffe0eb7 lui t4,0xfffe0 + 800004f8: 02000193 li gp,32 + 800004fc: 19df1e63 bne t5,t4,80000698 + +0000000080000500 : + 80000500: 00000213 li tp,0 + 80000504: 800000b7 lui ra,0x80000 + 80000508: 00000013 nop + 8000050c: 00000013 nop + 80000510: 01f00113 li sp,31 + 80000514: 4020df33 sra t5,ra,sp + 80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000051c: 00200293 li t0,2 + 80000520: fe5212e3 bne tp,t0,80000504 + 80000524: fff00e93 li t4,-1 + 80000528: 02100193 li gp,33 + 8000052c: 17df1663 bne t5,t4,80000698 + +0000000080000530 : + 80000530: 00000213 li tp,0 + 80000534: 00700113 li sp,7 + 80000538: 800000b7 lui ra,0x80000 + 8000053c: 4020df33 sra t5,ra,sp + 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000544: 00200293 li t0,2 + 80000548: fe5216e3 bne tp,t0,80000534 + 8000054c: ff000eb7 lui t4,0xff000 + 80000550: 02200193 li gp,34 + 80000554: 15df1263 bne t5,t4,80000698 + +0000000080000558 : + 80000558: 00000213 li tp,0 + 8000055c: 00e00113 li sp,14 + 80000560: 800000b7 lui ra,0x80000 + 80000564: 00000013 nop + 80000568: 4020df33 sra t5,ra,sp + 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000570: 00200293 li t0,2 + 80000574: fe5214e3 bne tp,t0,8000055c + 80000578: fffe0eb7 lui t4,0xfffe0 + 8000057c: 02300193 li gp,35 + 80000580: 11df1c63 bne t5,t4,80000698 + +0000000080000584 : + 80000584: 00000213 li tp,0 + 80000588: 01f00113 li sp,31 + 8000058c: 800000b7 lui ra,0x80000 + 80000590: 00000013 nop + 80000594: 00000013 nop + 80000598: 4020df33 sra t5,ra,sp + 8000059c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005a0: 00200293 li t0,2 + 800005a4: fe5212e3 bne tp,t0,80000588 + 800005a8: fff00e93 li t4,-1 + 800005ac: 02400193 li gp,36 + 800005b0: 0fdf1463 bne t5,t4,80000698 + +00000000800005b4 : + 800005b4: 00000213 li tp,0 + 800005b8: 00700113 li sp,7 + 800005bc: 00000013 nop + 800005c0: 800000b7 lui ra,0x80000 + 800005c4: 4020df33 sra t5,ra,sp + 800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005cc: 00200293 li t0,2 + 800005d0: fe5214e3 bne tp,t0,800005b8 + 800005d4: ff000eb7 lui t4,0xff000 + 800005d8: 02500193 li gp,37 + 800005dc: 0bdf1e63 bne t5,t4,80000698 + +00000000800005e0 : + 800005e0: 00000213 li tp,0 + 800005e4: 00e00113 li sp,14 + 800005e8: 00000013 nop + 800005ec: 800000b7 lui ra,0x80000 + 800005f0: 00000013 nop + 800005f4: 4020df33 sra t5,ra,sp + 800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005fc: 00200293 li t0,2 + 80000600: fe5212e3 bne tp,t0,800005e4 + 80000604: fffe0eb7 lui t4,0xfffe0 + 80000608: 02600193 li gp,38 + 8000060c: 09df1663 bne t5,t4,80000698 + +0000000080000610 : + 80000610: 00000213 li tp,0 + 80000614: 01f00113 li sp,31 + 80000618: 00000013 nop + 8000061c: 00000013 nop + 80000620: 800000b7 lui ra,0x80000 + 80000624: 4020df33 sra t5,ra,sp + 80000628: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000062c: 00200293 li t0,2 + 80000630: fe5212e3 bne tp,t0,80000614 + 80000634: fff00e93 li t4,-1 + 80000638: 02700193 li gp,39 + 8000063c: 05df1e63 bne t5,t4,80000698 + +0000000080000640 : + 80000640: 00f00093 li ra,15 + 80000644: 40105133 sra sp,zero,ra + 80000648: 00000e93 li t4,0 + 8000064c: 02800193 li gp,40 + 80000650: 05d11463 bne sp,t4,80000698 + +0000000080000654 : + 80000654: 02000093 li ra,32 + 80000658: 4000d133 sra sp,ra,zero + 8000065c: 02000e93 li t4,32 + 80000660: 02900193 li gp,41 + 80000664: 03d11a63 bne sp,t4,80000698 + +0000000080000668 : + 80000668: 400050b3 sra ra,zero,zero + 8000066c: 00000e93 li t4,0 + 80000670: 02a00193 li gp,42 + 80000674: 03d09263 bne ra,t4,80000698 + +0000000080000678 : + 80000678: 40000093 li ra,1024 + 8000067c: 00001137 lui sp,0x1 + 80000680: 8001011b addiw sp,sp,-2048 + 80000684: 4020d033 sra zero,ra,sp + 80000688: 00000e93 li t4,0 + 8000068c: 02b00193 li gp,43 + 80000690: 01d01463 bne zero,t4,80000698 + 80000694: 00301c63 bne zero,gp,800006ac + +0000000080000698 : + 80000698: 0ff0000f fence + 8000069c: 00018063 beqz gp,8000069c + 800006a0: 00119193 slli gp,gp,0x1 + 800006a4: 0011e193 ori gp,gp,1 + 800006a8: 00000073 ecall + +00000000800006ac : + 800006ac: 0ff0000f fence + 800006b0: 00100193 li gp,1 + 800006b4: 00000073 ecall + 800006b8: c0001073 unimp + 800006bc: 0000 unimp + 800006be: 0000 unimp + 800006c0: 0000 unimp + 800006c2: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-sra.elf b/test/riscv/tests/rv64ui-p-sra.elf new file mode 100755 index 00000000..9ed528bd Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sra.elf differ diff --git a/test/riscv/tests/rv64ui-p-srai.dump b/test/riscv/tests/rv64ui-p-srai.dump new file mode 100644 index 00000000..e86b0510 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-srai.dump @@ -0,0 +1,333 @@ + +rv64ui-p-srai: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: fff0009b addiw ra,zero,-1 + 80000100: 02709093 slli ra,ra,0x27 + 80000104: 4000df13 srai t5,ra,0x0 + 80000108: fff00e9b addiw t4,zero,-1 + 8000010c: 027e9e93 slli t4,t4,0x27 + 80000110: 00200193 li gp,2 + 80000114: 2bdf1463 bne t5,t4,800003bc + +0000000080000118 : + 80000118: 800000b7 lui ra,0x80000 + 8000011c: 4010df13 srai t5,ra,0x1 + 80000120: c0000eb7 lui t4,0xc0000 + 80000124: 00300193 li gp,3 + 80000128: 29df1a63 bne t5,t4,800003bc + +000000008000012c : + 8000012c: 800000b7 lui ra,0x80000 + 80000130: 4070df13 srai t5,ra,0x7 + 80000134: ff000eb7 lui t4,0xff000 + 80000138: 00400193 li gp,4 + 8000013c: 29df1063 bne t5,t4,800003bc + +0000000080000140 : + 80000140: 800000b7 lui ra,0x80000 + 80000144: 40e0df13 srai t5,ra,0xe + 80000148: fffe0eb7 lui t4,0xfffe0 + 8000014c: 00500193 li gp,5 + 80000150: 27df1663 bne t5,t4,800003bc + +0000000080000154 : + 80000154: 800000b7 lui ra,0x80000 + 80000158: 0010809b addiw ra,ra,1 + 8000015c: 41f0df13 srai t5,ra,0x1f + 80000160: fff00e93 li t4,-1 + 80000164: 00600193 li gp,6 + 80000168: 25df1a63 bne t5,t4,800003bc + +000000008000016c : + 8000016c: 800000b7 lui ra,0x80000 + 80000170: fff0809b addiw ra,ra,-1 + 80000174: 4000df13 srai t5,ra,0x0 + 80000178: 80000eb7 lui t4,0x80000 + 8000017c: fffe8e9b addiw t4,t4,-1 + 80000180: 00700193 li gp,7 + 80000184: 23df1c63 bne t5,t4,800003bc + +0000000080000188 : + 80000188: 800000b7 lui ra,0x80000 + 8000018c: fff0809b addiw ra,ra,-1 + 80000190: 4010df13 srai t5,ra,0x1 + 80000194: 40000eb7 lui t4,0x40000 + 80000198: fffe8e9b addiw t4,t4,-1 + 8000019c: 00800193 li gp,8 + 800001a0: 21df1e63 bne t5,t4,800003bc + +00000000800001a4 : + 800001a4: 800000b7 lui ra,0x80000 + 800001a8: fff0809b addiw ra,ra,-1 + 800001ac: 4070df13 srai t5,ra,0x7 + 800001b0: 01000eb7 lui t4,0x1000 + 800001b4: fffe8e9b addiw t4,t4,-1 + 800001b8: 00900193 li gp,9 + 800001bc: 21df1063 bne t5,t4,800003bc + +00000000800001c0 : + 800001c0: 800000b7 lui ra,0x80000 + 800001c4: fff0809b addiw ra,ra,-1 + 800001c8: 40e0df13 srai t5,ra,0xe + 800001cc: 00020eb7 lui t4,0x20 + 800001d0: fffe8e9b addiw t4,t4,-1 + 800001d4: 00a00193 li gp,10 + 800001d8: 1fdf1263 bne t5,t4,800003bc + +00000000800001dc : + 800001dc: 800000b7 lui ra,0x80000 + 800001e0: fff0809b addiw ra,ra,-1 + 800001e4: 41f0df13 srai t5,ra,0x1f + 800001e8: 00000e93 li t4,0 + 800001ec: 00b00193 li gp,11 + 800001f0: 1ddf1663 bne t5,t4,800003bc + +00000000800001f4 : + 800001f4: 818180b7 lui ra,0x81818 + 800001f8: 1810809b addiw ra,ra,385 + 800001fc: 4000df13 srai t5,ra,0x0 + 80000200: 81818eb7 lui t4,0x81818 + 80000204: 181e8e9b addiw t4,t4,385 + 80000208: 00c00193 li gp,12 + 8000020c: 1bdf1863 bne t5,t4,800003bc + +0000000080000210 : + 80000210: 818180b7 lui ra,0x81818 + 80000214: 1810809b addiw ra,ra,385 + 80000218: 4010df13 srai t5,ra,0x1 + 8000021c: c0c0ceb7 lui t4,0xc0c0c + 80000220: 0c0e8e9b addiw t4,t4,192 + 80000224: 00d00193 li gp,13 + 80000228: 19df1a63 bne t5,t4,800003bc + +000000008000022c : + 8000022c: 818180b7 lui ra,0x81818 + 80000230: 1810809b addiw ra,ra,385 + 80000234: 4070df13 srai t5,ra,0x7 + 80000238: ff030eb7 lui t4,0xff030 + 8000023c: 303e8e9b addiw t4,t4,771 + 80000240: 00e00193 li gp,14 + 80000244: 17df1c63 bne t5,t4,800003bc + +0000000080000248 : + 80000248: 818180b7 lui ra,0x81818 + 8000024c: 1810809b addiw ra,ra,385 + 80000250: 40e0df13 srai t5,ra,0xe + 80000254: fffe0eb7 lui t4,0xfffe0 + 80000258: 606e8e9b addiw t4,t4,1542 + 8000025c: 00f00193 li gp,15 + 80000260: 15df1e63 bne t5,t4,800003bc + +0000000080000264 : + 80000264: 818180b7 lui ra,0x81818 + 80000268: 1810809b addiw ra,ra,385 + 8000026c: 41f0df13 srai t5,ra,0x1f + 80000270: fff00e93 li t4,-1 + 80000274: 01000193 li gp,16 + 80000278: 15df1263 bne t5,t4,800003bc + +000000008000027c : + 8000027c: 800000b7 lui ra,0x80000 + 80000280: 4070d093 srai ra,ra,0x7 + 80000284: ff000eb7 lui t4,0xff000 + 80000288: 01100193 li gp,17 + 8000028c: 13d09863 bne ra,t4,800003bc + +0000000080000290 : + 80000290: 00000213 li tp,0 + 80000294: 800000b7 lui ra,0x80000 + 80000298: 4070df13 srai t5,ra,0x7 + 8000029c: 000f0313 mv t1,t5 + 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a4: 00200293 li t0,2 + 800002a8: fe5216e3 bne tp,t0,80000294 + 800002ac: ff000eb7 lui t4,0xff000 + 800002b0: 01200193 li gp,18 + 800002b4: 11d31463 bne t1,t4,800003bc + +00000000800002b8 : + 800002b8: 00000213 li tp,0 + 800002bc: 800000b7 lui ra,0x80000 + 800002c0: 40e0df13 srai t5,ra,0xe + 800002c4: 00000013 nop + 800002c8: 000f0313 mv t1,t5 + 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002d0: 00200293 li t0,2 + 800002d4: fe5214e3 bne tp,t0,800002bc + 800002d8: fffe0eb7 lui t4,0xfffe0 + 800002dc: 01300193 li gp,19 + 800002e0: 0dd31e63 bne t1,t4,800003bc + +00000000800002e4 : + 800002e4: 00000213 li tp,0 + 800002e8: 800000b7 lui ra,0x80000 + 800002ec: 0010809b addiw ra,ra,1 + 800002f0: 41f0df13 srai t5,ra,0x1f + 800002f4: 00000013 nop + 800002f8: 00000013 nop + 800002fc: 000f0313 mv t1,t5 + 80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000304: 00200293 li t0,2 + 80000308: fe5210e3 bne tp,t0,800002e8 + 8000030c: fff00e93 li t4,-1 + 80000310: 01400193 li gp,20 + 80000314: 0bd31463 bne t1,t4,800003bc + +0000000080000318 : + 80000318: 00000213 li tp,0 + 8000031c: 800000b7 lui ra,0x80000 + 80000320: 4070df13 srai t5,ra,0x7 + 80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000328: 00200293 li t0,2 + 8000032c: fe5218e3 bne tp,t0,8000031c + 80000330: ff000eb7 lui t4,0xff000 + 80000334: 01500193 li gp,21 + 80000338: 09df1263 bne t5,t4,800003bc + +000000008000033c : + 8000033c: 00000213 li tp,0 + 80000340: 800000b7 lui ra,0x80000 + 80000344: 00000013 nop + 80000348: 40e0df13 srai t5,ra,0xe + 8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000350: 00200293 li t0,2 + 80000354: fe5216e3 bne tp,t0,80000340 + 80000358: fffe0eb7 lui t4,0xfffe0 + 8000035c: 01600193 li gp,22 + 80000360: 05df1e63 bne t5,t4,800003bc + +0000000080000364 : + 80000364: 00000213 li tp,0 + 80000368: 800000b7 lui ra,0x80000 + 8000036c: 0010809b addiw ra,ra,1 + 80000370: 00000013 nop + 80000374: 00000013 nop + 80000378: 41f0df13 srai t5,ra,0x1f + 8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000380: 00200293 li t0,2 + 80000384: fe5212e3 bne tp,t0,80000368 + 80000388: fff00e93 li t4,-1 + 8000038c: 01700193 li gp,23 + 80000390: 03df1663 bne t5,t4,800003bc + +0000000080000394 : + 80000394: 40405093 srai ra,zero,0x4 + 80000398: 00000e93 li t4,0 + 8000039c: 01800193 li gp,24 + 800003a0: 01d09e63 bne ra,t4,800003bc + +00000000800003a4 : + 800003a4: 02100093 li ra,33 + 800003a8: 40a0d013 srai zero,ra,0xa + 800003ac: 00000e93 li t4,0 + 800003b0: 01900193 li gp,25 + 800003b4: 01d01463 bne zero,t4,800003bc + 800003b8: 00301c63 bne zero,gp,800003d0 + +00000000800003bc : + 800003bc: 0ff0000f fence + 800003c0: 00018063 beqz gp,800003c0 + 800003c4: 00119193 slli gp,gp,0x1 + 800003c8: 0011e193 ori gp,gp,1 + 800003cc: 00000073 ecall + +00000000800003d0 : + 800003d0: 0ff0000f fence + 800003d4: 00100193 li gp,1 + 800003d8: 00000073 ecall + 800003dc: c0001073 unimp + 800003e0: 0000 unimp + 800003e2: 0000 unimp + 800003e4: 0000 unimp + 800003e6: 0000 unimp + 800003e8: 0000 unimp + 800003ea: 0000 unimp + 800003ec: 0000 unimp + 800003ee: 0000 unimp + 800003f0: 0000 unimp + 800003f2: 0000 unimp + 800003f4: 0000 unimp + 800003f6: 0000 unimp + 800003f8: 0000 unimp + 800003fa: 0000 unimp + 800003fc: 0000 unimp + 800003fe: 0000 unimp + 80000400: 0000 unimp + 80000402: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-srai.elf b/test/riscv/tests/rv64ui-p-srai.elf new file mode 100755 index 00000000..4ffa0b72 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-srai.elf differ diff --git a/test/riscv/tests/rv64ui-p-sraiw.dump b/test/riscv/tests/rv64ui-p-sraiw.dump new file mode 100644 index 00000000..c45179f8 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sraiw.dump @@ -0,0 +1,359 @@ + +rv64ui-p-sraiw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 800000b7 lui ra,0x80000 + 80000100: 4000df1b sraiw t5,ra,0x0 + 80000104: 80000eb7 lui t4,0x80000 + 80000108: 00200193 li gp,2 + 8000010c: 2ddf1c63 bne t5,t4,800003e4 + +0000000080000110 : + 80000110: 800000b7 lui ra,0x80000 + 80000114: 4010df1b sraiw t5,ra,0x1 + 80000118: c0000eb7 lui t4,0xc0000 + 8000011c: 00300193 li gp,3 + 80000120: 2ddf1263 bne t5,t4,800003e4 + +0000000080000124 : + 80000124: 800000b7 lui ra,0x80000 + 80000128: 4070df1b sraiw t5,ra,0x7 + 8000012c: ff000eb7 lui t4,0xff000 + 80000130: 00400193 li gp,4 + 80000134: 2bdf1863 bne t5,t4,800003e4 + +0000000080000138 : + 80000138: 800000b7 lui ra,0x80000 + 8000013c: 40e0df1b sraiw t5,ra,0xe + 80000140: fffe0eb7 lui t4,0xfffe0 + 80000144: 00500193 li gp,5 + 80000148: 29df1e63 bne t5,t4,800003e4 + +000000008000014c : + 8000014c: 800000b7 lui ra,0x80000 + 80000150: 0010809b addiw ra,ra,1 + 80000154: 41f0df1b sraiw t5,ra,0x1f + 80000158: fff00e93 li t4,-1 + 8000015c: 00600193 li gp,6 + 80000160: 29df1263 bne t5,t4,800003e4 + +0000000080000164 : + 80000164: 800000b7 lui ra,0x80000 + 80000168: fff0809b addiw ra,ra,-1 + 8000016c: 4000df1b sraiw t5,ra,0x0 + 80000170: 80000eb7 lui t4,0x80000 + 80000174: fffe8e9b addiw t4,t4,-1 + 80000178: 00700193 li gp,7 + 8000017c: 27df1463 bne t5,t4,800003e4 + +0000000080000180 : + 80000180: 800000b7 lui ra,0x80000 + 80000184: fff0809b addiw ra,ra,-1 + 80000188: 4010df1b sraiw t5,ra,0x1 + 8000018c: 40000eb7 lui t4,0x40000 + 80000190: fffe8e9b addiw t4,t4,-1 + 80000194: 00800193 li gp,8 + 80000198: 25df1663 bne t5,t4,800003e4 + +000000008000019c : + 8000019c: 800000b7 lui ra,0x80000 + 800001a0: fff0809b addiw ra,ra,-1 + 800001a4: 4070df1b sraiw t5,ra,0x7 + 800001a8: 01000eb7 lui t4,0x1000 + 800001ac: fffe8e9b addiw t4,t4,-1 + 800001b0: 00900193 li gp,9 + 800001b4: 23df1863 bne t5,t4,800003e4 + +00000000800001b8 : + 800001b8: 800000b7 lui ra,0x80000 + 800001bc: fff0809b addiw ra,ra,-1 + 800001c0: 40e0df1b sraiw t5,ra,0xe + 800001c4: 00020eb7 lui t4,0x20 + 800001c8: fffe8e9b addiw t4,t4,-1 + 800001cc: 00a00193 li gp,10 + 800001d0: 21df1a63 bne t5,t4,800003e4 + +00000000800001d4 : + 800001d4: 800000b7 lui ra,0x80000 + 800001d8: fff0809b addiw ra,ra,-1 + 800001dc: 41f0df1b sraiw t5,ra,0x1f + 800001e0: 00000e93 li t4,0 + 800001e4: 00b00193 li gp,11 + 800001e8: 1fdf1e63 bne t5,t4,800003e4 + +00000000800001ec : + 800001ec: 818180b7 lui ra,0x81818 + 800001f0: 1810809b addiw ra,ra,385 + 800001f4: 4000df1b sraiw t5,ra,0x0 + 800001f8: 81818eb7 lui t4,0x81818 + 800001fc: 181e8e9b addiw t4,t4,385 + 80000200: 00c00193 li gp,12 + 80000204: 1fdf1063 bne t5,t4,800003e4 + +0000000080000208 : + 80000208: 818180b7 lui ra,0x81818 + 8000020c: 1810809b addiw ra,ra,385 + 80000210: 4010df1b sraiw t5,ra,0x1 + 80000214: c0c0ceb7 lui t4,0xc0c0c + 80000218: 0c0e8e9b addiw t4,t4,192 + 8000021c: 00d00193 li gp,13 + 80000220: 1ddf1263 bne t5,t4,800003e4 + +0000000080000224 : + 80000224: 818180b7 lui ra,0x81818 + 80000228: 1810809b addiw ra,ra,385 + 8000022c: 4070df1b sraiw t5,ra,0x7 + 80000230: ff030eb7 lui t4,0xff030 + 80000234: 303e8e9b addiw t4,t4,771 + 80000238: 00e00193 li gp,14 + 8000023c: 1bdf1463 bne t5,t4,800003e4 + +0000000080000240 : + 80000240: 818180b7 lui ra,0x81818 + 80000244: 1810809b addiw ra,ra,385 + 80000248: 40e0df1b sraiw t5,ra,0xe + 8000024c: fffe0eb7 lui t4,0xfffe0 + 80000250: 606e8e9b addiw t4,t4,1542 + 80000254: 00f00193 li gp,15 + 80000258: 19df1663 bne t5,t4,800003e4 + +000000008000025c : + 8000025c: 818180b7 lui ra,0x81818 + 80000260: 1810809b addiw ra,ra,385 + 80000264: 41f0df1b sraiw t5,ra,0x1f + 80000268: fff00e93 li t4,-1 + 8000026c: 01000193 li gp,16 + 80000270: 17df1a63 bne t5,t4,800003e4 + +0000000080000274 : + 80000274: 800000b7 lui ra,0x80000 + 80000278: 4070d09b sraiw ra,ra,0x7 + 8000027c: ff000eb7 lui t4,0xff000 + 80000280: 01100193 li gp,17 + 80000284: 17d09063 bne ra,t4,800003e4 + +0000000080000288 : + 80000288: 00000213 li tp,0 + 8000028c: 800000b7 lui ra,0x80000 + 80000290: 4070df1b sraiw t5,ra,0x7 + 80000294: 000f0313 mv t1,t5 + 80000298: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000029c: 00200293 li t0,2 + 800002a0: fe5216e3 bne tp,t0,8000028c + 800002a4: ff000eb7 lui t4,0xff000 + 800002a8: 01200193 li gp,18 + 800002ac: 13d31c63 bne t1,t4,800003e4 + +00000000800002b0 : + 800002b0: 00000213 li tp,0 + 800002b4: 800000b7 lui ra,0x80000 + 800002b8: 40e0df1b sraiw t5,ra,0xe + 800002bc: 00000013 nop + 800002c0: 000f0313 mv t1,t5 + 800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002c8: 00200293 li t0,2 + 800002cc: fe5214e3 bne tp,t0,800002b4 + 800002d0: fffe0eb7 lui t4,0xfffe0 + 800002d4: 01300193 li gp,19 + 800002d8: 11d31663 bne t1,t4,800003e4 + +00000000800002dc : + 800002dc: 00000213 li tp,0 + 800002e0: 800000b7 lui ra,0x80000 + 800002e4: 0010809b addiw ra,ra,1 + 800002e8: 41f0df1b sraiw t5,ra,0x1f + 800002ec: 00000013 nop + 800002f0: 00000013 nop + 800002f4: 000f0313 mv t1,t5 + 800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002fc: 00200293 li t0,2 + 80000300: fe5210e3 bne tp,t0,800002e0 + 80000304: fff00e93 li t4,-1 + 80000308: 01400193 li gp,20 + 8000030c: 0dd31c63 bne t1,t4,800003e4 + +0000000080000310 : + 80000310: 00000213 li tp,0 + 80000314: 800000b7 lui ra,0x80000 + 80000318: 4070df1b sraiw t5,ra,0x7 + 8000031c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000320: 00200293 li t0,2 + 80000324: fe5218e3 bne tp,t0,80000314 + 80000328: ff000eb7 lui t4,0xff000 + 8000032c: 01500193 li gp,21 + 80000330: 0bdf1a63 bne t5,t4,800003e4 + +0000000080000334 : + 80000334: 00000213 li tp,0 + 80000338: 800000b7 lui ra,0x80000 + 8000033c: 00000013 nop + 80000340: 40e0df1b sraiw t5,ra,0xe + 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000348: 00200293 li t0,2 + 8000034c: fe5216e3 bne tp,t0,80000338 + 80000350: fffe0eb7 lui t4,0xfffe0 + 80000354: 01600193 li gp,22 + 80000358: 09df1663 bne t5,t4,800003e4 + +000000008000035c : + 8000035c: 00000213 li tp,0 + 80000360: 800000b7 lui ra,0x80000 + 80000364: 0010809b addiw ra,ra,1 + 80000368: 00000013 nop + 8000036c: 00000013 nop + 80000370: 41f0df1b sraiw t5,ra,0x1f + 80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000378: 00200293 li t0,2 + 8000037c: fe5212e3 bne tp,t0,80000360 + 80000380: fff00e93 li t4,-1 + 80000384: 01700193 li gp,23 + 80000388: 05df1e63 bne t5,t4,800003e4 + +000000008000038c : + 8000038c: 41f0509b sraiw ra,zero,0x1f + 80000390: 00000e93 li t4,0 + 80000394: 01800193 li gp,24 + 80000398: 05d09663 bne ra,t4,800003e4 + +000000008000039c : + 8000039c: 01f00093 li ra,31 + 800003a0: 41c0d01b sraiw zero,ra,0x1c + 800003a4: 00000e93 li t4,0 + 800003a8: 01900193 li gp,25 + 800003ac: 03d01c63 bne zero,t4,800003e4 + +00000000800003b0 : + 800003b0: 0070009b addiw ra,zero,7 + 800003b4: 03509093 slli ra,ra,0x35 + 800003b8: 41c0df1b sraiw t5,ra,0x1c + 800003bc: 00000e93 li t4,0 + 800003c0: 01a00193 li gp,26 + 800003c4: 03df1063 bne t5,t4,800003e4 + +00000000800003c8 : + 800003c8: 00f0009b addiw ra,zero,15 + 800003cc: 01c09093 slli ra,ra,0x1c + 800003d0: 4040df1b sraiw t5,ra,0x4 + 800003d4: ff000eb7 lui t4,0xff000 + 800003d8: 01b00193 li gp,27 + 800003dc: 01df1463 bne t5,t4,800003e4 + 800003e0: 00301c63 bne zero,gp,800003f8 + +00000000800003e4 : + 800003e4: 0ff0000f fence + 800003e8: 00018063 beqz gp,800003e8 + 800003ec: 00119193 slli gp,gp,0x1 + 800003f0: 0011e193 ori gp,gp,1 + 800003f4: 00000073 ecall + +00000000800003f8 : + 800003f8: 0ff0000f fence + 800003fc: 00100193 li gp,1 + 80000400: 00000073 ecall + 80000404: c0001073 unimp + 80000408: 0000 unimp + 8000040a: 0000 unimp + 8000040c: 0000 unimp + 8000040e: 0000 unimp + 80000410: 0000 unimp + 80000412: 0000 unimp + 80000414: 0000 unimp + 80000416: 0000 unimp + 80000418: 0000 unimp + 8000041a: 0000 unimp + 8000041c: 0000 unimp + 8000041e: 0000 unimp + 80000420: 0000 unimp + 80000422: 0000 unimp + 80000424: 0000 unimp + 80000426: 0000 unimp + 80000428: 0000 unimp + 8000042a: 0000 unimp + 8000042c: 0000 unimp + 8000042e: 0000 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/test/riscv/tests/rv64ui-p-sraiw.elf b/test/riscv/tests/rv64ui-p-sraiw.elf new file mode 100755 index 00000000..34dfe773 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sraiw.elf differ diff --git a/test/riscv/tests/rv64ui-p-sraw.dump b/test/riscv/tests/rv64ui-p-sraw.dump new file mode 100644 index 00000000..dc65ff46 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sraw.dump @@ -0,0 +1,538 @@ + +rv64ui-p-sraw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 800000b7 lui ra,0x80000 + 80000100: 00000113 li sp,0 + 80000104: 4020df3b sraw t5,ra,sp + 80000108: 80000eb7 lui t4,0x80000 + 8000010c: 00200193 li gp,2 + 80000110: 59df1463 bne t5,t4,80000698 + +0000000080000114 : + 80000114: 800000b7 lui ra,0x80000 + 80000118: 00100113 li sp,1 + 8000011c: 4020df3b sraw t5,ra,sp + 80000120: c0000eb7 lui t4,0xc0000 + 80000124: 00300193 li gp,3 + 80000128: 57df1863 bne t5,t4,80000698 + +000000008000012c : + 8000012c: 800000b7 lui ra,0x80000 + 80000130: 00700113 li sp,7 + 80000134: 4020df3b sraw t5,ra,sp + 80000138: ff000eb7 lui t4,0xff000 + 8000013c: 00400193 li gp,4 + 80000140: 55df1c63 bne t5,t4,80000698 + +0000000080000144 : + 80000144: 800000b7 lui ra,0x80000 + 80000148: 00e00113 li sp,14 + 8000014c: 4020df3b sraw t5,ra,sp + 80000150: fffe0eb7 lui t4,0xfffe0 + 80000154: 00500193 li gp,5 + 80000158: 55df1063 bne t5,t4,80000698 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 0010809b addiw ra,ra,1 + 80000164: 01f00113 li sp,31 + 80000168: 4020df3b sraw t5,ra,sp + 8000016c: fff00e93 li t4,-1 + 80000170: 00600193 li gp,6 + 80000174: 53df1263 bne t5,t4,80000698 + +0000000080000178 : + 80000178: 800000b7 lui ra,0x80000 + 8000017c: fff0809b addiw ra,ra,-1 + 80000180: 00000113 li sp,0 + 80000184: 4020df3b sraw t5,ra,sp + 80000188: 80000eb7 lui t4,0x80000 + 8000018c: fffe8e9b addiw t4,t4,-1 + 80000190: 00700193 li gp,7 + 80000194: 51df1263 bne t5,t4,80000698 + +0000000080000198 : + 80000198: 800000b7 lui ra,0x80000 + 8000019c: fff0809b addiw ra,ra,-1 + 800001a0: 00100113 li sp,1 + 800001a4: 4020df3b sraw t5,ra,sp + 800001a8: 40000eb7 lui t4,0x40000 + 800001ac: fffe8e9b addiw t4,t4,-1 + 800001b0: 00800193 li gp,8 + 800001b4: 4fdf1263 bne t5,t4,80000698 + +00000000800001b8 : + 800001b8: 800000b7 lui ra,0x80000 + 800001bc: fff0809b addiw ra,ra,-1 + 800001c0: 00700113 li sp,7 + 800001c4: 4020df3b sraw t5,ra,sp + 800001c8: 01000eb7 lui t4,0x1000 + 800001cc: fffe8e9b addiw t4,t4,-1 + 800001d0: 00900193 li gp,9 + 800001d4: 4ddf1263 bne t5,t4,80000698 + +00000000800001d8 : + 800001d8: 800000b7 lui ra,0x80000 + 800001dc: fff0809b addiw ra,ra,-1 + 800001e0: 00e00113 li sp,14 + 800001e4: 4020df3b sraw t5,ra,sp + 800001e8: 00020eb7 lui t4,0x20 + 800001ec: fffe8e9b addiw t4,t4,-1 + 800001f0: 00a00193 li gp,10 + 800001f4: 4bdf1263 bne t5,t4,80000698 + +00000000800001f8 : + 800001f8: 800000b7 lui ra,0x80000 + 800001fc: fff0809b addiw ra,ra,-1 + 80000200: 01f00113 li sp,31 + 80000204: 4020df3b sraw t5,ra,sp + 80000208: 00000e93 li t4,0 + 8000020c: 00b00193 li gp,11 + 80000210: 49df1463 bne t5,t4,80000698 + +0000000080000214 : + 80000214: 818180b7 lui ra,0x81818 + 80000218: 1810809b addiw ra,ra,385 + 8000021c: 00000113 li sp,0 + 80000220: 4020df3b sraw t5,ra,sp + 80000224: 81818eb7 lui t4,0x81818 + 80000228: 181e8e9b addiw t4,t4,385 + 8000022c: 00c00193 li gp,12 + 80000230: 47df1463 bne t5,t4,80000698 + +0000000080000234 : + 80000234: 818180b7 lui ra,0x81818 + 80000238: 1810809b addiw ra,ra,385 + 8000023c: 00100113 li sp,1 + 80000240: 4020df3b sraw t5,ra,sp + 80000244: c0c0ceb7 lui t4,0xc0c0c + 80000248: 0c0e8e9b addiw t4,t4,192 + 8000024c: 00d00193 li gp,13 + 80000250: 45df1463 bne t5,t4,80000698 + +0000000080000254 : + 80000254: 818180b7 lui ra,0x81818 + 80000258: 1810809b addiw ra,ra,385 + 8000025c: 00700113 li sp,7 + 80000260: 4020df3b sraw t5,ra,sp + 80000264: ff030eb7 lui t4,0xff030 + 80000268: 303e8e9b addiw t4,t4,771 + 8000026c: 00e00193 li gp,14 + 80000270: 43df1463 bne t5,t4,80000698 + +0000000080000274 : + 80000274: 818180b7 lui ra,0x81818 + 80000278: 1810809b addiw ra,ra,385 + 8000027c: 00e00113 li sp,14 + 80000280: 4020df3b sraw t5,ra,sp + 80000284: fffe0eb7 lui t4,0xfffe0 + 80000288: 606e8e9b addiw t4,t4,1542 + 8000028c: 00f00193 li gp,15 + 80000290: 41df1463 bne t5,t4,80000698 + +0000000080000294 : + 80000294: 818180b7 lui ra,0x81818 + 80000298: 1810809b addiw ra,ra,385 + 8000029c: 01f00113 li sp,31 + 800002a0: 4020df3b sraw t5,ra,sp + 800002a4: fff00e93 li t4,-1 + 800002a8: 01000193 li gp,16 + 800002ac: 3fdf1663 bne t5,t4,80000698 + +00000000800002b0 : + 800002b0: 818180b7 lui ra,0x81818 + 800002b4: 1810809b addiw ra,ra,385 + 800002b8: fe000113 li sp,-32 + 800002bc: 4020df3b sraw t5,ra,sp + 800002c0: 81818eb7 lui t4,0x81818 + 800002c4: 181e8e9b addiw t4,t4,385 + 800002c8: 01100193 li gp,17 + 800002cc: 3ddf1663 bne t5,t4,80000698 + +00000000800002d0 : + 800002d0: 818180b7 lui ra,0x81818 + 800002d4: 1810809b addiw ra,ra,385 + 800002d8: fe100113 li sp,-31 + 800002dc: 4020df3b sraw t5,ra,sp + 800002e0: c0c0ceb7 lui t4,0xc0c0c + 800002e4: 0c0e8e9b addiw t4,t4,192 + 800002e8: 01200193 li gp,18 + 800002ec: 3bdf1663 bne t5,t4,80000698 + +00000000800002f0 : + 800002f0: 818180b7 lui ra,0x81818 + 800002f4: 1810809b addiw ra,ra,385 + 800002f8: fe700113 li sp,-25 + 800002fc: 4020df3b sraw t5,ra,sp + 80000300: ff030eb7 lui t4,0xff030 + 80000304: 303e8e9b addiw t4,t4,771 + 80000308: 01300193 li gp,19 + 8000030c: 39df1663 bne t5,t4,80000698 + +0000000080000310 : + 80000310: 818180b7 lui ra,0x81818 + 80000314: 1810809b addiw ra,ra,385 + 80000318: fee00113 li sp,-18 + 8000031c: 4020df3b sraw t5,ra,sp + 80000320: fffe0eb7 lui t4,0xfffe0 + 80000324: 606e8e9b addiw t4,t4,1542 + 80000328: 01400193 li gp,20 + 8000032c: 37df1663 bne t5,t4,80000698 + +0000000080000330 : + 80000330: 818180b7 lui ra,0x81818 + 80000334: 1810809b addiw ra,ra,385 + 80000338: fff00113 li sp,-1 + 8000033c: 4020df3b sraw t5,ra,sp + 80000340: fff00e93 li t4,-1 + 80000344: 01500193 li gp,21 + 80000348: 35df1863 bne t5,t4,80000698 + +000000008000034c : + 8000034c: 800000b7 lui ra,0x80000 + 80000350: 00700113 li sp,7 + 80000354: 4020d0bb sraw ra,ra,sp + 80000358: ff000eb7 lui t4,0xff000 + 8000035c: 01600193 li gp,22 + 80000360: 33d09c63 bne ra,t4,80000698 + +0000000080000364 : + 80000364: 800000b7 lui ra,0x80000 + 80000368: 00e00113 li sp,14 + 8000036c: 4020d13b sraw sp,ra,sp + 80000370: fffe0eb7 lui t4,0xfffe0 + 80000374: 01700193 li gp,23 + 80000378: 33d11063 bne sp,t4,80000698 + +000000008000037c : + 8000037c: 00700093 li ra,7 + 80000380: 4010d0bb sraw ra,ra,ra + 80000384: 00000e93 li t4,0 + 80000388: 01800193 li gp,24 + 8000038c: 31d09663 bne ra,t4,80000698 + +0000000080000390 : + 80000390: 00000213 li tp,0 + 80000394: 800000b7 lui ra,0x80000 + 80000398: 00700113 li sp,7 + 8000039c: 4020df3b sraw t5,ra,sp + 800003a0: 000f0313 mv t1,t5 + 800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003a8: 00200293 li t0,2 + 800003ac: fe5214e3 bne tp,t0,80000394 + 800003b0: ff000eb7 lui t4,0xff000 + 800003b4: 01900193 li gp,25 + 800003b8: 2fd31063 bne t1,t4,80000698 + +00000000800003bc : + 800003bc: 00000213 li tp,0 + 800003c0: 800000b7 lui ra,0x80000 + 800003c4: 00e00113 li sp,14 + 800003c8: 4020df3b sraw t5,ra,sp + 800003cc: 00000013 nop + 800003d0: 000f0313 mv t1,t5 + 800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d8: 00200293 li t0,2 + 800003dc: fe5212e3 bne tp,t0,800003c0 + 800003e0: fffe0eb7 lui t4,0xfffe0 + 800003e4: 01a00193 li gp,26 + 800003e8: 2bd31863 bne t1,t4,80000698 + +00000000800003ec : + 800003ec: 00000213 li tp,0 + 800003f0: 800000b7 lui ra,0x80000 + 800003f4: 01f00113 li sp,31 + 800003f8: 4020df3b sraw t5,ra,sp + 800003fc: 00000013 nop + 80000400: 00000013 nop + 80000404: 000f0313 mv t1,t5 + 80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000040c: 00200293 li t0,2 + 80000410: fe5210e3 bne tp,t0,800003f0 + 80000414: fff00e93 li t4,-1 + 80000418: 01b00193 li gp,27 + 8000041c: 27d31e63 bne t1,t4,80000698 + +0000000080000420 : + 80000420: 00000213 li tp,0 + 80000424: 800000b7 lui ra,0x80000 + 80000428: 00700113 li sp,7 + 8000042c: 4020df3b sraw t5,ra,sp + 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000434: 00200293 li t0,2 + 80000438: fe5216e3 bne tp,t0,80000424 + 8000043c: ff000eb7 lui t4,0xff000 + 80000440: 01c00193 li gp,28 + 80000444: 25df1a63 bne t5,t4,80000698 + +0000000080000448 : + 80000448: 00000213 li tp,0 + 8000044c: 800000b7 lui ra,0x80000 + 80000450: 00e00113 li sp,14 + 80000454: 00000013 nop + 80000458: 4020df3b sraw t5,ra,sp + 8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000460: 00200293 li t0,2 + 80000464: fe5214e3 bne tp,t0,8000044c + 80000468: fffe0eb7 lui t4,0xfffe0 + 8000046c: 01d00193 li gp,29 + 80000470: 23df1463 bne t5,t4,80000698 + +0000000080000474 : + 80000474: 00000213 li tp,0 + 80000478: 800000b7 lui ra,0x80000 + 8000047c: 01f00113 li sp,31 + 80000480: 00000013 nop + 80000484: 00000013 nop + 80000488: 4020df3b sraw t5,ra,sp + 8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000490: 00200293 li t0,2 + 80000494: fe5212e3 bne tp,t0,80000478 + 80000498: fff00e93 li t4,-1 + 8000049c: 01e00193 li gp,30 + 800004a0: 1fdf1c63 bne t5,t4,80000698 + +00000000800004a4 : + 800004a4: 00000213 li tp,0 + 800004a8: 800000b7 lui ra,0x80000 + 800004ac: 00000013 nop + 800004b0: 00700113 li sp,7 + 800004b4: 4020df3b sraw t5,ra,sp + 800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004bc: 00200293 li t0,2 + 800004c0: fe5214e3 bne tp,t0,800004a8 + 800004c4: ff000eb7 lui t4,0xff000 + 800004c8: 01f00193 li gp,31 + 800004cc: 1ddf1663 bne t5,t4,80000698 + +00000000800004d0 : + 800004d0: 00000213 li tp,0 + 800004d4: 800000b7 lui ra,0x80000 + 800004d8: 00000013 nop + 800004dc: 00e00113 li sp,14 + 800004e0: 00000013 nop + 800004e4: 4020df3b sraw t5,ra,sp + 800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004ec: 00200293 li t0,2 + 800004f0: fe5212e3 bne tp,t0,800004d4 + 800004f4: fffe0eb7 lui t4,0xfffe0 + 800004f8: 02000193 li gp,32 + 800004fc: 19df1e63 bne t5,t4,80000698 + +0000000080000500 : + 80000500: 00000213 li tp,0 + 80000504: 800000b7 lui ra,0x80000 + 80000508: 00000013 nop + 8000050c: 00000013 nop + 80000510: 01f00113 li sp,31 + 80000514: 4020df3b sraw t5,ra,sp + 80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000051c: 00200293 li t0,2 + 80000520: fe5212e3 bne tp,t0,80000504 + 80000524: fff00e93 li t4,-1 + 80000528: 02100193 li gp,33 + 8000052c: 17df1663 bne t5,t4,80000698 + +0000000080000530 : + 80000530: 00000213 li tp,0 + 80000534: 00700113 li sp,7 + 80000538: 800000b7 lui ra,0x80000 + 8000053c: 4020df3b sraw t5,ra,sp + 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000544: 00200293 li t0,2 + 80000548: fe5216e3 bne tp,t0,80000534 + 8000054c: ff000eb7 lui t4,0xff000 + 80000550: 02200193 li gp,34 + 80000554: 15df1263 bne t5,t4,80000698 + +0000000080000558 : + 80000558: 00000213 li tp,0 + 8000055c: 00e00113 li sp,14 + 80000560: 800000b7 lui ra,0x80000 + 80000564: 00000013 nop + 80000568: 4020df3b sraw t5,ra,sp + 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000570: 00200293 li t0,2 + 80000574: fe5214e3 bne tp,t0,8000055c + 80000578: fffe0eb7 lui t4,0xfffe0 + 8000057c: 02300193 li gp,35 + 80000580: 11df1c63 bne t5,t4,80000698 + +0000000080000584 : + 80000584: 00000213 li tp,0 + 80000588: 01f00113 li sp,31 + 8000058c: 800000b7 lui ra,0x80000 + 80000590: 00000013 nop + 80000594: 00000013 nop + 80000598: 4020df3b sraw t5,ra,sp + 8000059c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005a0: 00200293 li t0,2 + 800005a4: fe5212e3 bne tp,t0,80000588 + 800005a8: fff00e93 li t4,-1 + 800005ac: 02400193 li gp,36 + 800005b0: 0fdf1463 bne t5,t4,80000698 + +00000000800005b4 : + 800005b4: 00000213 li tp,0 + 800005b8: 00700113 li sp,7 + 800005bc: 00000013 nop + 800005c0: 800000b7 lui ra,0x80000 + 800005c4: 4020df3b sraw t5,ra,sp + 800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005cc: 00200293 li t0,2 + 800005d0: fe5214e3 bne tp,t0,800005b8 + 800005d4: ff000eb7 lui t4,0xff000 + 800005d8: 02500193 li gp,37 + 800005dc: 0bdf1e63 bne t5,t4,80000698 + +00000000800005e0 : + 800005e0: 00000213 li tp,0 + 800005e4: 00e00113 li sp,14 + 800005e8: 00000013 nop + 800005ec: 800000b7 lui ra,0x80000 + 800005f0: 00000013 nop + 800005f4: 4020df3b sraw t5,ra,sp + 800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005fc: 00200293 li t0,2 + 80000600: fe5212e3 bne tp,t0,800005e4 + 80000604: fffe0eb7 lui t4,0xfffe0 + 80000608: 02600193 li gp,38 + 8000060c: 09df1663 bne t5,t4,80000698 + +0000000080000610 : + 80000610: 00000213 li tp,0 + 80000614: 01f00113 li sp,31 + 80000618: 00000013 nop + 8000061c: 00000013 nop + 80000620: 800000b7 lui ra,0x80000 + 80000624: 4020df3b sraw t5,ra,sp + 80000628: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000062c: 00200293 li t0,2 + 80000630: fe5212e3 bne tp,t0,80000614 + 80000634: fff00e93 li t4,-1 + 80000638: 02700193 li gp,39 + 8000063c: 05df1e63 bne t5,t4,80000698 + +0000000080000640 : + 80000640: 00f00093 li ra,15 + 80000644: 4010513b sraw sp,zero,ra + 80000648: 00000e93 li t4,0 + 8000064c: 02800193 li gp,40 + 80000650: 05d11463 bne sp,t4,80000698 + +0000000080000654 : + 80000654: 02000093 li ra,32 + 80000658: 4000d13b sraw sp,ra,zero + 8000065c: 02000e93 li t4,32 + 80000660: 02900193 li gp,41 + 80000664: 03d11a63 bne sp,t4,80000698 + +0000000080000668 : + 80000668: 400050bb sraw ra,zero,zero + 8000066c: 00000e93 li t4,0 + 80000670: 02a00193 li gp,42 + 80000674: 03d09263 bne ra,t4,80000698 + +0000000080000678 : + 80000678: 40000093 li ra,1024 + 8000067c: 00001137 lui sp,0x1 + 80000680: 8001011b addiw sp,sp,-2048 + 80000684: 4020d03b sraw zero,ra,sp + 80000688: 00000e93 li t4,0 + 8000068c: 02b00193 li gp,43 + 80000690: 01d01463 bne zero,t4,80000698 + 80000694: 00301c63 bne zero,gp,800006ac + +0000000080000698 : + 80000698: 0ff0000f fence + 8000069c: 00018063 beqz gp,8000069c + 800006a0: 00119193 slli gp,gp,0x1 + 800006a4: 0011e193 ori gp,gp,1 + 800006a8: 00000073 ecall + +00000000800006ac : + 800006ac: 0ff0000f fence + 800006b0: 00100193 li gp,1 + 800006b4: 00000073 ecall + 800006b8: c0001073 unimp + 800006bc: 0000 unimp + 800006be: 0000 unimp + 800006c0: 0000 unimp + 800006c2: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-sraw.elf b/test/riscv/tests/rv64ui-p-sraw.elf new file mode 100755 index 00000000..ec7baca6 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sraw.elf differ diff --git a/test/riscv/tests/rv64ui-p-srl.dump b/test/riscv/tests/rv64ui-p-srl.dump new file mode 100644 index 00000000..314069ff --- /dev/null +++ b/test/riscv/tests/rv64ui-p-srl.dump @@ -0,0 +1,575 @@ + +rv64ui-p-srl: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 800000b7 lui ra,0x80000 + 80000100: 00000113 li sp,0 + 80000104: 0020df33 srl t5,ra,sp + 80000108: 80000eb7 lui t4,0x80000 + 8000010c: 00200193 li gp,2 + 80000110: 5fdf1a63 bne t5,t4,80000704 + +0000000080000114 : + 80000114: 800000b7 lui ra,0x80000 + 80000118: 00100113 li sp,1 + 8000011c: 0020df33 srl t5,ra,sp + 80000120: 00100e9b addiw t4,zero,1 + 80000124: 021e9e93 slli t4,t4,0x21 + 80000128: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffdfff> + 8000012c: 01ee9e93 slli t4,t4,0x1e + 80000130: 00300193 li gp,3 + 80000134: 5ddf1863 bne t5,t4,80000704 + +0000000080000138 : + 80000138: 800000b7 lui ra,0x80000 + 8000013c: 00700113 li sp,7 + 80000140: 0020df33 srl t5,ra,sp + 80000144: 00100e9b addiw t4,zero,1 + 80000148: 021e9e93 slli t4,t4,0x21 + 8000014c: fffe8e93 addi t4,t4,-1 + 80000150: 018e9e93 slli t4,t4,0x18 + 80000154: 00400193 li gp,4 + 80000158: 5bdf1663 bne t5,t4,80000704 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00e00113 li sp,14 + 80000164: 0020df33 srl t5,ra,sp + 80000168: 00100e9b addiw t4,zero,1 + 8000016c: 021e9e93 slli t4,t4,0x21 + 80000170: fffe8e93 addi t4,t4,-1 + 80000174: 011e9e93 slli t4,t4,0x11 + 80000178: 00500193 li gp,5 + 8000017c: 59df1463 bne t5,t4,80000704 + +0000000080000180 : + 80000180: 800000b7 lui ra,0x80000 + 80000184: 0010809b addiw ra,ra,1 + 80000188: 01f00113 li sp,31 + 8000018c: 0020df33 srl t5,ra,sp + 80000190: 00100e9b addiw t4,zero,1 + 80000194: 021e9e93 slli t4,t4,0x21 + 80000198: fffe8e93 addi t4,t4,-1 + 8000019c: 00600193 li gp,6 + 800001a0: 57df1263 bne t5,t4,80000704 + +00000000800001a4 : + 800001a4: fff00093 li ra,-1 + 800001a8: 00000113 li sp,0 + 800001ac: 0020df33 srl t5,ra,sp + 800001b0: fff00e93 li t4,-1 + 800001b4: 00700193 li gp,7 + 800001b8: 55df1663 bne t5,t4,80000704 + +00000000800001bc : + 800001bc: fff00093 li ra,-1 + 800001c0: 00100113 li sp,1 + 800001c4: 0020df33 srl t5,ra,sp + 800001c8: fff00e9b addiw t4,zero,-1 + 800001cc: 03fe9e93 slli t4,t4,0x3f + 800001d0: fffe8e93 addi t4,t4,-1 + 800001d4: 00800193 li gp,8 + 800001d8: 53df1663 bne t5,t4,80000704 + +00000000800001dc : + 800001dc: fff00093 li ra,-1 + 800001e0: 00700113 li sp,7 + 800001e4: 0020df33 srl t5,ra,sp + 800001e8: 00100e9b addiw t4,zero,1 + 800001ec: 039e9e93 slli t4,t4,0x39 + 800001f0: fffe8e93 addi t4,t4,-1 + 800001f4: 00900193 li gp,9 + 800001f8: 51df1663 bne t5,t4,80000704 + +00000000800001fc : + 800001fc: fff00093 li ra,-1 + 80000200: 00e00113 li sp,14 + 80000204: 0020df33 srl t5,ra,sp + 80000208: 00100e9b addiw t4,zero,1 + 8000020c: 032e9e93 slli t4,t4,0x32 + 80000210: fffe8e93 addi t4,t4,-1 + 80000214: 00a00193 li gp,10 + 80000218: 4fdf1663 bne t5,t4,80000704 + +000000008000021c : + 8000021c: fff00093 li ra,-1 + 80000220: 01f00113 li sp,31 + 80000224: 0020df33 srl t5,ra,sp + 80000228: 00100e9b addiw t4,zero,1 + 8000022c: 021e9e93 slli t4,t4,0x21 + 80000230: fffe8e93 addi t4,t4,-1 + 80000234: 00b00193 li gp,11 + 80000238: 4ddf1663 bne t5,t4,80000704 + +000000008000023c : + 8000023c: 212120b7 lui ra,0x21212 + 80000240: 1210809b addiw ra,ra,289 + 80000244: 00000113 li sp,0 + 80000248: 0020df33 srl t5,ra,sp + 8000024c: 21212eb7 lui t4,0x21212 + 80000250: 121e8e9b addiw t4,t4,289 + 80000254: 00c00193 li gp,12 + 80000258: 4bdf1663 bne t5,t4,80000704 + +000000008000025c : + 8000025c: 212120b7 lui ra,0x21212 + 80000260: 1210809b addiw ra,ra,289 + 80000264: 00100113 li sp,1 + 80000268: 0020df33 srl t5,ra,sp + 8000026c: 10909eb7 lui t4,0x10909 + 80000270: 090e8e9b addiw t4,t4,144 + 80000274: 00d00193 li gp,13 + 80000278: 49df1663 bne t5,t4,80000704 + +000000008000027c : + 8000027c: 212120b7 lui ra,0x21212 + 80000280: 1210809b addiw ra,ra,289 + 80000284: 00700113 li sp,7 + 80000288: 0020df33 srl t5,ra,sp + 8000028c: 00424eb7 lui t4,0x424 + 80000290: 242e8e9b addiw t4,t4,578 + 80000294: 00e00193 li gp,14 + 80000298: 47df1663 bne t5,t4,80000704 + +000000008000029c : + 8000029c: 212120b7 lui ra,0x21212 + 800002a0: 1210809b addiw ra,ra,289 + 800002a4: 00e00113 li sp,14 + 800002a8: 0020df33 srl t5,ra,sp + 800002ac: 00008eb7 lui t4,0x8 + 800002b0: 484e8e9b addiw t4,t4,1156 + 800002b4: 00f00193 li gp,15 + 800002b8: 45df1663 bne t5,t4,80000704 + +00000000800002bc : + 800002bc: 212120b7 lui ra,0x21212 + 800002c0: 1210809b addiw ra,ra,289 + 800002c4: 01f00113 li sp,31 + 800002c8: 0020df33 srl t5,ra,sp + 800002cc: 00000e93 li t4,0 + 800002d0: 01000193 li gp,16 + 800002d4: 43df1863 bne t5,t4,80000704 + +00000000800002d8 : + 800002d8: 212120b7 lui ra,0x21212 + 800002dc: 1210809b addiw ra,ra,289 + 800002e0: fc000113 li sp,-64 + 800002e4: 0020df33 srl t5,ra,sp + 800002e8: 21212eb7 lui t4,0x21212 + 800002ec: 121e8e9b addiw t4,t4,289 + 800002f0: 01100193 li gp,17 + 800002f4: 41df1863 bne t5,t4,80000704 + +00000000800002f8 : + 800002f8: 212120b7 lui ra,0x21212 + 800002fc: 1210809b addiw ra,ra,289 + 80000300: fc100113 li sp,-63 + 80000304: 0020df33 srl t5,ra,sp + 80000308: 10909eb7 lui t4,0x10909 + 8000030c: 090e8e9b addiw t4,t4,144 + 80000310: 01200193 li gp,18 + 80000314: 3fdf1863 bne t5,t4,80000704 + +0000000080000318 : + 80000318: 212120b7 lui ra,0x21212 + 8000031c: 1210809b addiw ra,ra,289 + 80000320: fc700113 li sp,-57 + 80000324: 0020df33 srl t5,ra,sp + 80000328: 00424eb7 lui t4,0x424 + 8000032c: 242e8e9b addiw t4,t4,578 + 80000330: 01300193 li gp,19 + 80000334: 3ddf1863 bne t5,t4,80000704 + +0000000080000338 : + 80000338: 212120b7 lui ra,0x21212 + 8000033c: 1210809b addiw ra,ra,289 + 80000340: fce00113 li sp,-50 + 80000344: 0020df33 srl t5,ra,sp + 80000348: 00008eb7 lui t4,0x8 + 8000034c: 484e8e9b addiw t4,t4,1156 + 80000350: 01400193 li gp,20 + 80000354: 3bdf1863 bne t5,t4,80000704 + +0000000080000358 : + 80000358: 212120b7 lui ra,0x21212 + 8000035c: 1210809b addiw ra,ra,289 + 80000360: fff00113 li sp,-1 + 80000364: 0020df33 srl t5,ra,sp + 80000368: 00000e93 li t4,0 + 8000036c: 01500193 li gp,21 + 80000370: 39df1a63 bne t5,t4,80000704 + +0000000080000374 : + 80000374: 0010009b addiw ra,zero,1 + 80000378: 01f09093 slli ra,ra,0x1f + 8000037c: 00700113 li sp,7 + 80000380: 0020d0b3 srl ra,ra,sp + 80000384: 01000eb7 lui t4,0x1000 + 80000388: 01600193 li gp,22 + 8000038c: 37d09c63 bne ra,t4,80000704 + +0000000080000390 : + 80000390: 0010009b addiw ra,zero,1 + 80000394: 01f09093 slli ra,ra,0x1f + 80000398: 00e00113 li sp,14 + 8000039c: 0020d133 srl sp,ra,sp + 800003a0: 00020eb7 lui t4,0x20 + 800003a4: 01700193 li gp,23 + 800003a8: 35d11e63 bne sp,t4,80000704 + +00000000800003ac : + 800003ac: 00700093 li ra,7 + 800003b0: 0010d0b3 srl ra,ra,ra + 800003b4: 00000e93 li t4,0 + 800003b8: 01800193 li gp,24 + 800003bc: 35d09463 bne ra,t4,80000704 + +00000000800003c0 : + 800003c0: 00000213 li tp,0 + 800003c4: 0010009b addiw ra,zero,1 + 800003c8: 01f09093 slli ra,ra,0x1f + 800003cc: 00700113 li sp,7 + 800003d0: 0020df33 srl t5,ra,sp + 800003d4: 000f0313 mv t1,t5 + 800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003dc: 00200293 li t0,2 + 800003e0: fe5212e3 bne tp,t0,800003c4 + 800003e4: 01000eb7 lui t4,0x1000 + 800003e8: 01900193 li gp,25 + 800003ec: 31d31c63 bne t1,t4,80000704 + +00000000800003f0 : + 800003f0: 00000213 li tp,0 + 800003f4: 0010009b addiw ra,zero,1 + 800003f8: 01f09093 slli ra,ra,0x1f + 800003fc: 00e00113 li sp,14 + 80000400: 0020df33 srl t5,ra,sp + 80000404: 00000013 nop + 80000408: 000f0313 mv t1,t5 + 8000040c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000410: 00200293 li t0,2 + 80000414: fe5210e3 bne tp,t0,800003f4 + 80000418: 00020eb7 lui t4,0x20 + 8000041c: 01a00193 li gp,26 + 80000420: 2fd31263 bne t1,t4,80000704 + +0000000080000424 : + 80000424: 00000213 li tp,0 + 80000428: 0010009b addiw ra,zero,1 + 8000042c: 01f09093 slli ra,ra,0x1f + 80000430: 01f00113 li sp,31 + 80000434: 0020df33 srl t5,ra,sp + 80000438: 00000013 nop + 8000043c: 00000013 nop + 80000440: 000f0313 mv t1,t5 + 80000444: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000448: 00200293 li t0,2 + 8000044c: fc521ee3 bne tp,t0,80000428 + 80000450: 00100e93 li t4,1 + 80000454: 01b00193 li gp,27 + 80000458: 2bd31663 bne t1,t4,80000704 + +000000008000045c : + 8000045c: 00000213 li tp,0 + 80000460: 0010009b addiw ra,zero,1 + 80000464: 01f09093 slli ra,ra,0x1f + 80000468: 00700113 li sp,7 + 8000046c: 0020df33 srl t5,ra,sp + 80000470: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000474: 00200293 li t0,2 + 80000478: fe5214e3 bne tp,t0,80000460 + 8000047c: 01000eb7 lui t4,0x1000 + 80000480: 01c00193 li gp,28 + 80000484: 29df1063 bne t5,t4,80000704 + +0000000080000488 : + 80000488: 00000213 li tp,0 + 8000048c: 0010009b addiw ra,zero,1 + 80000490: 01f09093 slli ra,ra,0x1f + 80000494: 00e00113 li sp,14 + 80000498: 00000013 nop + 8000049c: 0020df33 srl t5,ra,sp + 800004a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a4: 00200293 li t0,2 + 800004a8: fe5212e3 bne tp,t0,8000048c + 800004ac: 00020eb7 lui t4,0x20 + 800004b0: 01d00193 li gp,29 + 800004b4: 25df1863 bne t5,t4,80000704 + +00000000800004b8 : + 800004b8: 00000213 li tp,0 + 800004bc: 0010009b addiw ra,zero,1 + 800004c0: 01f09093 slli ra,ra,0x1f + 800004c4: 01f00113 li sp,31 + 800004c8: 00000013 nop + 800004cc: 00000013 nop + 800004d0: 0020df33 srl t5,ra,sp + 800004d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d8: 00200293 li t0,2 + 800004dc: fe5210e3 bne tp,t0,800004bc + 800004e0: 00100e93 li t4,1 + 800004e4: 01e00193 li gp,30 + 800004e8: 21df1e63 bne t5,t4,80000704 + +00000000800004ec : + 800004ec: 00000213 li tp,0 + 800004f0: 0010009b addiw ra,zero,1 + 800004f4: 01f09093 slli ra,ra,0x1f + 800004f8: 00000013 nop + 800004fc: 00700113 li sp,7 + 80000500: 0020df33 srl t5,ra,sp + 80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000508: 00200293 li t0,2 + 8000050c: fe5212e3 bne tp,t0,800004f0 + 80000510: 01000eb7 lui t4,0x1000 + 80000514: 01f00193 li gp,31 + 80000518: 1fdf1663 bne t5,t4,80000704 + +000000008000051c : + 8000051c: 00000213 li tp,0 + 80000520: 0010009b addiw ra,zero,1 + 80000524: 01f09093 slli ra,ra,0x1f + 80000528: 00000013 nop + 8000052c: 00e00113 li sp,14 + 80000530: 00000013 nop + 80000534: 0020df33 srl t5,ra,sp + 80000538: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000053c: 00200293 li t0,2 + 80000540: fe5210e3 bne tp,t0,80000520 + 80000544: 00020eb7 lui t4,0x20 + 80000548: 02000193 li gp,32 + 8000054c: 1bdf1c63 bne t5,t4,80000704 + +0000000080000550 : + 80000550: 00000213 li tp,0 + 80000554: 0010009b addiw ra,zero,1 + 80000558: 01f09093 slli ra,ra,0x1f + 8000055c: 00000013 nop + 80000560: 00000013 nop + 80000564: 01f00113 li sp,31 + 80000568: 0020df33 srl t5,ra,sp + 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000570: 00200293 li t0,2 + 80000574: fe5210e3 bne tp,t0,80000554 + 80000578: 00100e93 li t4,1 + 8000057c: 02100193 li gp,33 + 80000580: 19df1263 bne t5,t4,80000704 + +0000000080000584 : + 80000584: 00000213 li tp,0 + 80000588: 00700113 li sp,7 + 8000058c: 0010009b addiw ra,zero,1 + 80000590: 01f09093 slli ra,ra,0x1f + 80000594: 0020df33 srl t5,ra,sp + 80000598: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000059c: 00200293 li t0,2 + 800005a0: fe5214e3 bne tp,t0,80000588 + 800005a4: 01000eb7 lui t4,0x1000 + 800005a8: 02200193 li gp,34 + 800005ac: 15df1c63 bne t5,t4,80000704 + +00000000800005b0 : + 800005b0: 00000213 li tp,0 + 800005b4: 00e00113 li sp,14 + 800005b8: 0010009b addiw ra,zero,1 + 800005bc: 01f09093 slli ra,ra,0x1f + 800005c0: 00000013 nop + 800005c4: 0020df33 srl t5,ra,sp + 800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005cc: 00200293 li t0,2 + 800005d0: fe5212e3 bne tp,t0,800005b4 + 800005d4: 00020eb7 lui t4,0x20 + 800005d8: 02300193 li gp,35 + 800005dc: 13df1463 bne t5,t4,80000704 + +00000000800005e0 : + 800005e0: 00000213 li tp,0 + 800005e4: 01f00113 li sp,31 + 800005e8: 0010009b addiw ra,zero,1 + 800005ec: 01f09093 slli ra,ra,0x1f + 800005f0: 00000013 nop + 800005f4: 00000013 nop + 800005f8: 0020df33 srl t5,ra,sp + 800005fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000600: 00200293 li t0,2 + 80000604: fe5210e3 bne tp,t0,800005e4 + 80000608: 00100e93 li t4,1 + 8000060c: 02400193 li gp,36 + 80000610: 0fdf1a63 bne t5,t4,80000704 + +0000000080000614 : + 80000614: 00000213 li tp,0 + 80000618: 00700113 li sp,7 + 8000061c: 00000013 nop + 80000620: 0010009b addiw ra,zero,1 + 80000624: 01f09093 slli ra,ra,0x1f + 80000628: 0020df33 srl t5,ra,sp + 8000062c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000630: 00200293 li t0,2 + 80000634: fe5212e3 bne tp,t0,80000618 + 80000638: 01000eb7 lui t4,0x1000 + 8000063c: 02500193 li gp,37 + 80000640: 0ddf1263 bne t5,t4,80000704 + +0000000080000644 : + 80000644: 00000213 li tp,0 + 80000648: 00e00113 li sp,14 + 8000064c: 00000013 nop + 80000650: 0010009b addiw ra,zero,1 + 80000654: 01f09093 slli ra,ra,0x1f + 80000658: 00000013 nop + 8000065c: 0020df33 srl t5,ra,sp + 80000660: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000664: 00200293 li t0,2 + 80000668: fe5210e3 bne tp,t0,80000648 + 8000066c: 00020eb7 lui t4,0x20 + 80000670: 02600193 li gp,38 + 80000674: 09df1863 bne t5,t4,80000704 + +0000000080000678 : + 80000678: 00000213 li tp,0 + 8000067c: 01f00113 li sp,31 + 80000680: 00000013 nop + 80000684: 00000013 nop + 80000688: 0010009b addiw ra,zero,1 + 8000068c: 01f09093 slli ra,ra,0x1f + 80000690: 0020df33 srl t5,ra,sp + 80000694: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000698: 00200293 li t0,2 + 8000069c: fe5210e3 bne tp,t0,8000067c + 800006a0: 00100e93 li t4,1 + 800006a4: 02700193 li gp,39 + 800006a8: 05df1e63 bne t5,t4,80000704 + +00000000800006ac : + 800006ac: 00f00093 li ra,15 + 800006b0: 00105133 srl sp,zero,ra + 800006b4: 00000e93 li t4,0 + 800006b8: 02800193 li gp,40 + 800006bc: 05d11463 bne sp,t4,80000704 + +00000000800006c0 : + 800006c0: 02000093 li ra,32 + 800006c4: 0000d133 srl sp,ra,zero + 800006c8: 02000e93 li t4,32 + 800006cc: 02900193 li gp,41 + 800006d0: 03d11a63 bne sp,t4,80000704 + +00000000800006d4 : + 800006d4: 000050b3 srl ra,zero,zero + 800006d8: 00000e93 li t4,0 + 800006dc: 02a00193 li gp,42 + 800006e0: 03d09263 bne ra,t4,80000704 + +00000000800006e4 : + 800006e4: 40000093 li ra,1024 + 800006e8: 00001137 lui sp,0x1 + 800006ec: 8001011b addiw sp,sp,-2048 + 800006f0: 0020d033 srl zero,ra,sp + 800006f4: 00000e93 li t4,0 + 800006f8: 02b00193 li gp,43 + 800006fc: 01d01463 bne zero,t4,80000704 + 80000700: 00301c63 bne zero,gp,80000718 + +0000000080000704 : + 80000704: 0ff0000f fence + 80000708: 00018063 beqz gp,80000708 + 8000070c: 00119193 slli gp,gp,0x1 + 80000710: 0011e193 ori gp,gp,1 + 80000714: 00000073 ecall + +0000000080000718 : + 80000718: 0ff0000f fence + 8000071c: 00100193 li gp,1 + 80000720: 00000073 ecall + 80000724: c0001073 unimp + 80000728: 0000 unimp + 8000072a: 0000 unimp + 8000072c: 0000 unimp + 8000072e: 0000 unimp + 80000730: 0000 unimp + 80000732: 0000 unimp + 80000734: 0000 unimp + 80000736: 0000 unimp + 80000738: 0000 unimp + 8000073a: 0000 unimp + 8000073c: 0000 unimp + 8000073e: 0000 unimp + 80000740: 0000 unimp + 80000742: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-srl.elf b/test/riscv/tests/rv64ui-p-srl.elf new file mode 100755 index 00000000..2da2e0ba Binary files /dev/null and b/test/riscv/tests/rv64ui-p-srl.elf differ diff --git a/test/riscv/tests/rv64ui-p-srli.dump b/test/riscv/tests/rv64ui-p-srli.dump new file mode 100644 index 00000000..bcb2df7a --- /dev/null +++ b/test/riscv/tests/rv64ui-p-srli.dump @@ -0,0 +1,350 @@ + +rv64ui-p-srli: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 800000b7 lui ra,0x80000 + 80000100: 0000df13 srli t5,ra,0x0 + 80000104: 80000eb7 lui t4,0x80000 + 80000108: 00200193 li gp,2 + 8000010c: 2fdf1663 bne t5,t4,800003f8 + +0000000080000110 : + 80000110: 800000b7 lui ra,0x80000 + 80000114: 0010df13 srli t5,ra,0x1 + 80000118: 00100e9b addiw t4,zero,1 + 8000011c: 021e9e93 slli t4,t4,0x21 + 80000120: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffdfff> + 80000124: 01ee9e93 slli t4,t4,0x1e + 80000128: 00300193 li gp,3 + 8000012c: 2ddf1663 bne t5,t4,800003f8 + +0000000080000130 : + 80000130: 800000b7 lui ra,0x80000 + 80000134: 0070df13 srli t5,ra,0x7 + 80000138: 00100e9b addiw t4,zero,1 + 8000013c: 021e9e93 slli t4,t4,0x21 + 80000140: fffe8e93 addi t4,t4,-1 + 80000144: 018e9e93 slli t4,t4,0x18 + 80000148: 00400193 li gp,4 + 8000014c: 2bdf1663 bne t5,t4,800003f8 + +0000000080000150 : + 80000150: 800000b7 lui ra,0x80000 + 80000154: 00e0df13 srli t5,ra,0xe + 80000158: 00100e9b addiw t4,zero,1 + 8000015c: 021e9e93 slli t4,t4,0x21 + 80000160: fffe8e93 addi t4,t4,-1 + 80000164: 011e9e93 slli t4,t4,0x11 + 80000168: 00500193 li gp,5 + 8000016c: 29df1663 bne t5,t4,800003f8 + +0000000080000170 : + 80000170: 800000b7 lui ra,0x80000 + 80000174: 0010809b addiw ra,ra,1 + 80000178: 01f0df13 srli t5,ra,0x1f + 8000017c: 00100e9b addiw t4,zero,1 + 80000180: 021e9e93 slli t4,t4,0x21 + 80000184: fffe8e93 addi t4,t4,-1 + 80000188: 00600193 li gp,6 + 8000018c: 27df1663 bne t5,t4,800003f8 + +0000000080000190 : + 80000190: fff00093 li ra,-1 + 80000194: 0000df13 srli t5,ra,0x0 + 80000198: fff00e93 li t4,-1 + 8000019c: 00700193 li gp,7 + 800001a0: 25df1c63 bne t5,t4,800003f8 + +00000000800001a4 : + 800001a4: fff00093 li ra,-1 + 800001a8: 0010df13 srli t5,ra,0x1 + 800001ac: fff00e9b addiw t4,zero,-1 + 800001b0: 03fe9e93 slli t4,t4,0x3f + 800001b4: fffe8e93 addi t4,t4,-1 + 800001b8: 00800193 li gp,8 + 800001bc: 23df1e63 bne t5,t4,800003f8 + +00000000800001c0 : + 800001c0: fff00093 li ra,-1 + 800001c4: 0070df13 srli t5,ra,0x7 + 800001c8: 00100e9b addiw t4,zero,1 + 800001cc: 039e9e93 slli t4,t4,0x39 + 800001d0: fffe8e93 addi t4,t4,-1 + 800001d4: 00900193 li gp,9 + 800001d8: 23df1063 bne t5,t4,800003f8 + +00000000800001dc : + 800001dc: fff00093 li ra,-1 + 800001e0: 00e0df13 srli t5,ra,0xe + 800001e4: 00100e9b addiw t4,zero,1 + 800001e8: 032e9e93 slli t4,t4,0x32 + 800001ec: fffe8e93 addi t4,t4,-1 + 800001f0: 00a00193 li gp,10 + 800001f4: 21df1263 bne t5,t4,800003f8 + +00000000800001f8 : + 800001f8: fff00093 li ra,-1 + 800001fc: 01f0df13 srli t5,ra,0x1f + 80000200: 00100e9b addiw t4,zero,1 + 80000204: 021e9e93 slli t4,t4,0x21 + 80000208: fffe8e93 addi t4,t4,-1 + 8000020c: 00b00193 li gp,11 + 80000210: 1fdf1463 bne t5,t4,800003f8 + +0000000080000214 : + 80000214: 212120b7 lui ra,0x21212 + 80000218: 1210809b addiw ra,ra,289 + 8000021c: 0000df13 srli t5,ra,0x0 + 80000220: 21212eb7 lui t4,0x21212 + 80000224: 121e8e9b addiw t4,t4,289 + 80000228: 00c00193 li gp,12 + 8000022c: 1ddf1663 bne t5,t4,800003f8 + +0000000080000230 : + 80000230: 212120b7 lui ra,0x21212 + 80000234: 1210809b addiw ra,ra,289 + 80000238: 0010df13 srli t5,ra,0x1 + 8000023c: 10909eb7 lui t4,0x10909 + 80000240: 090e8e9b addiw t4,t4,144 + 80000244: 00d00193 li gp,13 + 80000248: 1bdf1863 bne t5,t4,800003f8 + +000000008000024c : + 8000024c: 212120b7 lui ra,0x21212 + 80000250: 1210809b addiw ra,ra,289 + 80000254: 0070df13 srli t5,ra,0x7 + 80000258: 00424eb7 lui t4,0x424 + 8000025c: 242e8e9b addiw t4,t4,578 + 80000260: 00e00193 li gp,14 + 80000264: 19df1a63 bne t5,t4,800003f8 + +0000000080000268 : + 80000268: 212120b7 lui ra,0x21212 + 8000026c: 1210809b addiw ra,ra,289 + 80000270: 00e0df13 srli t5,ra,0xe + 80000274: 00008eb7 lui t4,0x8 + 80000278: 484e8e9b addiw t4,t4,1156 + 8000027c: 00f00193 li gp,15 + 80000280: 17df1c63 bne t5,t4,800003f8 + +0000000080000284 : + 80000284: 212120b7 lui ra,0x21212 + 80000288: 1210809b addiw ra,ra,289 + 8000028c: 01f0df13 srli t5,ra,0x1f + 80000290: 00000e93 li t4,0 + 80000294: 01000193 li gp,16 + 80000298: 17df1063 bne t5,t4,800003f8 + +000000008000029c : + 8000029c: 0010009b addiw ra,zero,1 + 800002a0: 01f09093 slli ra,ra,0x1f + 800002a4: 0070d093 srli ra,ra,0x7 + 800002a8: 01000eb7 lui t4,0x1000 + 800002ac: 01100193 li gp,17 + 800002b0: 15d09463 bne ra,t4,800003f8 + +00000000800002b4 : + 800002b4: 00000213 li tp,0 + 800002b8: 0010009b addiw ra,zero,1 + 800002bc: 01f09093 slli ra,ra,0x1f + 800002c0: 0070df13 srli t5,ra,0x7 + 800002c4: 000f0313 mv t1,t5 + 800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002cc: 00200293 li t0,2 + 800002d0: fe5214e3 bne tp,t0,800002b8 + 800002d4: 01000eb7 lui t4,0x1000 + 800002d8: 01200193 li gp,18 + 800002dc: 11d31e63 bne t1,t4,800003f8 + +00000000800002e0 : + 800002e0: 00000213 li tp,0 + 800002e4: 0010009b addiw ra,zero,1 + 800002e8: 01f09093 slli ra,ra,0x1f + 800002ec: 00e0df13 srli t5,ra,0xe + 800002f0: 00000013 nop + 800002f4: 000f0313 mv t1,t5 + 800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002fc: 00200293 li t0,2 + 80000300: fe5212e3 bne tp,t0,800002e4 + 80000304: 00020eb7 lui t4,0x20 + 80000308: 01300193 li gp,19 + 8000030c: 0fd31663 bne t1,t4,800003f8 + +0000000080000310 : + 80000310: 00000213 li tp,0 + 80000314: 0010009b addiw ra,zero,1 + 80000318: 01f09093 slli ra,ra,0x1f + 8000031c: 00108093 addi ra,ra,1 # 21212001 <_start-0x5ededfff> + 80000320: 01f0df13 srli t5,ra,0x1f + 80000324: 00000013 nop + 80000328: 00000013 nop + 8000032c: 000f0313 mv t1,t5 + 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000334: 00200293 li t0,2 + 80000338: fc521ee3 bne tp,t0,80000314 + 8000033c: 00100e93 li t4,1 + 80000340: 01400193 li gp,20 + 80000344: 0bd31a63 bne t1,t4,800003f8 + +0000000080000348 : + 80000348: 00000213 li tp,0 + 8000034c: 0010009b addiw ra,zero,1 + 80000350: 01f09093 slli ra,ra,0x1f + 80000354: 0070df13 srli t5,ra,0x7 + 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000035c: 00200293 li t0,2 + 80000360: fe5216e3 bne tp,t0,8000034c + 80000364: 01000eb7 lui t4,0x1000 + 80000368: 01500193 li gp,21 + 8000036c: 09df1663 bne t5,t4,800003f8 + +0000000080000370 : + 80000370: 00000213 li tp,0 + 80000374: 0010009b addiw ra,zero,1 + 80000378: 01f09093 slli ra,ra,0x1f + 8000037c: 00000013 nop + 80000380: 00e0df13 srli t5,ra,0xe + 80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000388: 00200293 li t0,2 + 8000038c: fe5214e3 bne tp,t0,80000374 + 80000390: 00020eb7 lui t4,0x20 + 80000394: 01600193 li gp,22 + 80000398: 07df1063 bne t5,t4,800003f8 + +000000008000039c : + 8000039c: 00000213 li tp,0 + 800003a0: 0010009b addiw ra,zero,1 + 800003a4: 01f09093 slli ra,ra,0x1f + 800003a8: 00108093 addi ra,ra,1 + 800003ac: 00000013 nop + 800003b0: 00000013 nop + 800003b4: 01f0df13 srli t5,ra,0x1f + 800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003bc: 00200293 li t0,2 + 800003c0: fe5210e3 bne tp,t0,800003a0 + 800003c4: 00100e93 li t4,1 + 800003c8: 01700193 li gp,23 + 800003cc: 03df1663 bne t5,t4,800003f8 + +00000000800003d0 : + 800003d0: 00405093 srli ra,zero,0x4 + 800003d4: 00000e93 li t4,0 + 800003d8: 01800193 li gp,24 + 800003dc: 01d09e63 bne ra,t4,800003f8 + +00000000800003e0 : + 800003e0: 02100093 li ra,33 + 800003e4: 00a0d013 srli zero,ra,0xa + 800003e8: 00000e93 li t4,0 + 800003ec: 01900193 li gp,25 + 800003f0: 01d01463 bne zero,t4,800003f8 + 800003f4: 00301c63 bne zero,gp,8000040c + +00000000800003f8 : + 800003f8: 0ff0000f fence + 800003fc: 00018063 beqz gp,800003fc + 80000400: 00119193 slli gp,gp,0x1 + 80000404: 0011e193 ori gp,gp,1 + 80000408: 00000073 ecall + +000000008000040c : + 8000040c: 0ff0000f fence + 80000410: 00100193 li gp,1 + 80000414: 00000073 ecall + 80000418: c0001073 unimp + 8000041c: 0000 unimp + 8000041e: 0000 unimp + 80000420: 0000 unimp + 80000422: 0000 unimp + 80000424: 0000 unimp + 80000426: 0000 unimp + 80000428: 0000 unimp + 8000042a: 0000 unimp + 8000042c: 0000 unimp + 8000042e: 0000 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/test/riscv/tests/rv64ui-p-srli.elf b/test/riscv/tests/rv64ui-p-srli.elf new file mode 100755 index 00000000..73d7db18 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-srli.elf differ diff --git a/test/riscv/tests/rv64ui-p-srliw.dump b/test/riscv/tests/rv64ui-p-srliw.dump new file mode 100644 index 00000000..99581fb6 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-srliw.dump @@ -0,0 +1,309 @@ + +rv64ui-p-srliw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 800000b7 lui ra,0x80000 + 80000100: 0000df1b srliw t5,ra,0x0 + 80000104: 80000eb7 lui t4,0x80000 + 80000108: 00200193 li gp,2 + 8000010c: 29df1863 bne t5,t4,8000039c + +0000000080000110 : + 80000110: 800000b7 lui ra,0x80000 + 80000114: 0010df1b srliw t5,ra,0x1 + 80000118: 40000eb7 lui t4,0x40000 + 8000011c: 00300193 li gp,3 + 80000120: 27df1e63 bne t5,t4,8000039c + +0000000080000124 : + 80000124: 800000b7 lui ra,0x80000 + 80000128: 0070df1b srliw t5,ra,0x7 + 8000012c: 01000eb7 lui t4,0x1000 + 80000130: 00400193 li gp,4 + 80000134: 27df1463 bne t5,t4,8000039c + +0000000080000138 : + 80000138: 800000b7 lui ra,0x80000 + 8000013c: 00e0df1b srliw t5,ra,0xe + 80000140: 00020eb7 lui t4,0x20 + 80000144: 00500193 li gp,5 + 80000148: 25df1a63 bne t5,t4,8000039c + +000000008000014c : + 8000014c: 800000b7 lui ra,0x80000 + 80000150: 0010809b addiw ra,ra,1 + 80000154: 01f0df1b srliw t5,ra,0x1f + 80000158: 00100e93 li t4,1 + 8000015c: 00600193 li gp,6 + 80000160: 23df1e63 bne t5,t4,8000039c + +0000000080000164 : + 80000164: fff00093 li ra,-1 + 80000168: 0000df1b srliw t5,ra,0x0 + 8000016c: fff00e93 li t4,-1 + 80000170: 00700193 li gp,7 + 80000174: 23df1463 bne t5,t4,8000039c + +0000000080000178 : + 80000178: fff00093 li ra,-1 + 8000017c: 0010df1b srliw t5,ra,0x1 + 80000180: 80000eb7 lui t4,0x80000 + 80000184: fffe8e9b addiw t4,t4,-1 + 80000188: 00800193 li gp,8 + 8000018c: 21df1863 bne t5,t4,8000039c + +0000000080000190 : + 80000190: fff00093 li ra,-1 + 80000194: 0070df1b srliw t5,ra,0x7 + 80000198: 02000eb7 lui t4,0x2000 + 8000019c: fffe8e9b addiw t4,t4,-1 + 800001a0: 00900193 li gp,9 + 800001a4: 1fdf1c63 bne t5,t4,8000039c + +00000000800001a8 : + 800001a8: fff00093 li ra,-1 + 800001ac: 00e0df1b srliw t5,ra,0xe + 800001b0: 00040eb7 lui t4,0x40 + 800001b4: fffe8e9b addiw t4,t4,-1 + 800001b8: 00a00193 li gp,10 + 800001bc: 1fdf1063 bne t5,t4,8000039c + +00000000800001c0 : + 800001c0: fff00093 li ra,-1 + 800001c4: 01f0df1b srliw t5,ra,0x1f + 800001c8: 00100e93 li t4,1 + 800001cc: 00b00193 li gp,11 + 800001d0: 1ddf1663 bne t5,t4,8000039c + +00000000800001d4 : + 800001d4: 212120b7 lui ra,0x21212 + 800001d8: 1210809b addiw ra,ra,289 + 800001dc: 0000df1b srliw t5,ra,0x0 + 800001e0: 21212eb7 lui t4,0x21212 + 800001e4: 121e8e9b addiw t4,t4,289 + 800001e8: 00c00193 li gp,12 + 800001ec: 1bdf1863 bne t5,t4,8000039c + +00000000800001f0 : + 800001f0: 212120b7 lui ra,0x21212 + 800001f4: 1210809b addiw ra,ra,289 + 800001f8: 0010df1b srliw t5,ra,0x1 + 800001fc: 10909eb7 lui t4,0x10909 + 80000200: 090e8e9b addiw t4,t4,144 + 80000204: 00d00193 li gp,13 + 80000208: 19df1a63 bne t5,t4,8000039c + +000000008000020c : + 8000020c: 212120b7 lui ra,0x21212 + 80000210: 1210809b addiw ra,ra,289 + 80000214: 0070df1b srliw t5,ra,0x7 + 80000218: 00424eb7 lui t4,0x424 + 8000021c: 242e8e9b addiw t4,t4,578 + 80000220: 00e00193 li gp,14 + 80000224: 17df1c63 bne t5,t4,8000039c + +0000000080000228 : + 80000228: 212120b7 lui ra,0x21212 + 8000022c: 1210809b addiw ra,ra,289 + 80000230: 00e0df1b srliw t5,ra,0xe + 80000234: 00008eb7 lui t4,0x8 + 80000238: 484e8e9b addiw t4,t4,1156 + 8000023c: 00f00193 li gp,15 + 80000240: 15df1e63 bne t5,t4,8000039c + +0000000080000244 : + 80000244: 212120b7 lui ra,0x21212 + 80000248: 1210809b addiw ra,ra,289 + 8000024c: 01f0df1b srliw t5,ra,0x1f + 80000250: 00000e93 li t4,0 + 80000254: 01000193 li gp,16 + 80000258: 15df1263 bne t5,t4,8000039c + +000000008000025c : + 8000025c: 800000b7 lui ra,0x80000 + 80000260: 0070d09b srliw ra,ra,0x7 + 80000264: 01000eb7 lui t4,0x1000 + 80000268: 01100193 li gp,17 + 8000026c: 13d09863 bne ra,t4,8000039c + +0000000080000270 : + 80000270: 00000213 li tp,0 + 80000274: 800000b7 lui ra,0x80000 + 80000278: 0070df1b srliw t5,ra,0x7 + 8000027c: 000f0313 mv t1,t5 + 80000280: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000284: 00200293 li t0,2 + 80000288: fe5216e3 bne tp,t0,80000274 + 8000028c: 01000eb7 lui t4,0x1000 + 80000290: 01200193 li gp,18 + 80000294: 11d31463 bne t1,t4,8000039c + +0000000080000298 : + 80000298: 00000213 li tp,0 + 8000029c: 800000b7 lui ra,0x80000 + 800002a0: 00e0df1b srliw t5,ra,0xe + 800002a4: 00000013 nop + 800002a8: 000f0313 mv t1,t5 + 800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002b0: 00200293 li t0,2 + 800002b4: fe5214e3 bne tp,t0,8000029c + 800002b8: 00020eb7 lui t4,0x20 + 800002bc: 01300193 li gp,19 + 800002c0: 0dd31e63 bne t1,t4,8000039c + +00000000800002c4 : + 800002c4: 00000213 li tp,0 + 800002c8: 800000b7 lui ra,0x80000 + 800002cc: 0010809b addiw ra,ra,1 + 800002d0: 01f0df1b srliw t5,ra,0x1f + 800002d4: 00000013 nop + 800002d8: 00000013 nop + 800002dc: 000f0313 mv t1,t5 + 800002e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002e4: 00200293 li t0,2 + 800002e8: fe5210e3 bne tp,t0,800002c8 + 800002ec: 00100e93 li t4,1 + 800002f0: 01400193 li gp,20 + 800002f4: 0bd31463 bne t1,t4,8000039c + +00000000800002f8 : + 800002f8: 00000213 li tp,0 + 800002fc: 800000b7 lui ra,0x80000 + 80000300: 0070df1b srliw t5,ra,0x7 + 80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000308: 00200293 li t0,2 + 8000030c: fe5218e3 bne tp,t0,800002fc + 80000310: 01000eb7 lui t4,0x1000 + 80000314: 01500193 li gp,21 + 80000318: 09df1263 bne t5,t4,8000039c + +000000008000031c : + 8000031c: 00000213 li tp,0 + 80000320: 800000b7 lui ra,0x80000 + 80000324: 00000013 nop + 80000328: 00e0df1b srliw t5,ra,0xe + 8000032c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000330: 00200293 li t0,2 + 80000334: fe5216e3 bne tp,t0,80000320 + 80000338: 00020eb7 lui t4,0x20 + 8000033c: 01600193 li gp,22 + 80000340: 05df1e63 bne t5,t4,8000039c + +0000000080000344 : + 80000344: 00000213 li tp,0 + 80000348: 800000b7 lui ra,0x80000 + 8000034c: 0010809b addiw ra,ra,1 + 80000350: 00000013 nop + 80000354: 00000013 nop + 80000358: 01f0df1b srliw t5,ra,0x1f + 8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000360: 00200293 li t0,2 + 80000364: fe5212e3 bne tp,t0,80000348 + 80000368: 00100e93 li t4,1 + 8000036c: 01700193 li gp,23 + 80000370: 03df1663 bne t5,t4,8000039c + +0000000080000374 : + 80000374: 01f0509b srliw ra,zero,0x1f + 80000378: 00000e93 li t4,0 + 8000037c: 01800193 li gp,24 + 80000380: 01d09e63 bne ra,t4,8000039c + +0000000080000384 : + 80000384: 01f00093 li ra,31 + 80000388: 01c0d01b srliw zero,ra,0x1c + 8000038c: 00000e93 li t4,0 + 80000390: 01900193 li gp,25 + 80000394: 01d01463 bne zero,t4,8000039c + 80000398: 00301c63 bne zero,gp,800003b0 + +000000008000039c : + 8000039c: 0ff0000f fence + 800003a0: 00018063 beqz gp,800003a0 + 800003a4: 00119193 slli gp,gp,0x1 + 800003a8: 0011e193 ori gp,gp,1 + 800003ac: 00000073 ecall + +00000000800003b0 : + 800003b0: 0ff0000f fence + 800003b4: 00100193 li gp,1 + 800003b8: 00000073 ecall + 800003bc: c0001073 unimp + 800003c0: 0000 unimp + 800003c2: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-srliw.elf b/test/riscv/tests/rv64ui-p-srliw.elf new file mode 100755 index 00000000..2dc12254 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-srliw.elf differ diff --git a/test/riscv/tests/rv64ui-p-srlw.dump b/test/riscv/tests/rv64ui-p-srlw.dump new file mode 100644 index 00000000..cf3f8377 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-srlw.dump @@ -0,0 +1,544 @@ + +rv64ui-p-srlw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 800000b7 lui ra,0x80000 + 80000100: 00000113 li sp,0 + 80000104: 0020df3b srlw t5,ra,sp + 80000108: 80000eb7 lui t4,0x80000 + 8000010c: 00200193 li gp,2 + 80000110: 57df1863 bne t5,t4,80000680 + +0000000080000114 : + 80000114: 800000b7 lui ra,0x80000 + 80000118: 00100113 li sp,1 + 8000011c: 0020df3b srlw t5,ra,sp + 80000120: 40000eb7 lui t4,0x40000 + 80000124: 00300193 li gp,3 + 80000128: 55df1c63 bne t5,t4,80000680 + +000000008000012c : + 8000012c: 800000b7 lui ra,0x80000 + 80000130: 00700113 li sp,7 + 80000134: 0020df3b srlw t5,ra,sp + 80000138: 01000eb7 lui t4,0x1000 + 8000013c: 00400193 li gp,4 + 80000140: 55df1063 bne t5,t4,80000680 + +0000000080000144 : + 80000144: 800000b7 lui ra,0x80000 + 80000148: 00e00113 li sp,14 + 8000014c: 0020df3b srlw t5,ra,sp + 80000150: 00020eb7 lui t4,0x20 + 80000154: 00500193 li gp,5 + 80000158: 53df1463 bne t5,t4,80000680 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 0010809b addiw ra,ra,1 + 80000164: 01f00113 li sp,31 + 80000168: 0020df3b srlw t5,ra,sp + 8000016c: 00100e93 li t4,1 + 80000170: 00600193 li gp,6 + 80000174: 51df1663 bne t5,t4,80000680 + +0000000080000178 : + 80000178: fff00093 li ra,-1 + 8000017c: 00000113 li sp,0 + 80000180: 0020df3b srlw t5,ra,sp + 80000184: fff00e93 li t4,-1 + 80000188: 00700193 li gp,7 + 8000018c: 4fdf1a63 bne t5,t4,80000680 + +0000000080000190 : + 80000190: fff00093 li ra,-1 + 80000194: 00100113 li sp,1 + 80000198: 0020df3b srlw t5,ra,sp + 8000019c: 80000eb7 lui t4,0x80000 + 800001a0: fffe8e9b addiw t4,t4,-1 + 800001a4: 00800193 li gp,8 + 800001a8: 4ddf1c63 bne t5,t4,80000680 + +00000000800001ac : + 800001ac: fff00093 li ra,-1 + 800001b0: 00700113 li sp,7 + 800001b4: 0020df3b srlw t5,ra,sp + 800001b8: 02000eb7 lui t4,0x2000 + 800001bc: fffe8e9b addiw t4,t4,-1 + 800001c0: 00900193 li gp,9 + 800001c4: 4bdf1e63 bne t5,t4,80000680 + +00000000800001c8 : + 800001c8: fff00093 li ra,-1 + 800001cc: 00e00113 li sp,14 + 800001d0: 0020df3b srlw t5,ra,sp + 800001d4: 00040eb7 lui t4,0x40 + 800001d8: fffe8e9b addiw t4,t4,-1 + 800001dc: 00a00193 li gp,10 + 800001e0: 4bdf1063 bne t5,t4,80000680 + +00000000800001e4 : + 800001e4: fff00093 li ra,-1 + 800001e8: 01f00113 li sp,31 + 800001ec: 0020df3b srlw t5,ra,sp + 800001f0: 00100e93 li t4,1 + 800001f4: 00b00193 li gp,11 + 800001f8: 49df1463 bne t5,t4,80000680 + +00000000800001fc : + 800001fc: 212120b7 lui ra,0x21212 + 80000200: 1210809b addiw ra,ra,289 + 80000204: 00000113 li sp,0 + 80000208: 0020df3b srlw t5,ra,sp + 8000020c: 21212eb7 lui t4,0x21212 + 80000210: 121e8e9b addiw t4,t4,289 + 80000214: 00c00193 li gp,12 + 80000218: 47df1463 bne t5,t4,80000680 + +000000008000021c : + 8000021c: 212120b7 lui ra,0x21212 + 80000220: 1210809b addiw ra,ra,289 + 80000224: 00100113 li sp,1 + 80000228: 0020df3b srlw t5,ra,sp + 8000022c: 10909eb7 lui t4,0x10909 + 80000230: 090e8e9b addiw t4,t4,144 + 80000234: 00d00193 li gp,13 + 80000238: 45df1463 bne t5,t4,80000680 + +000000008000023c : + 8000023c: 212120b7 lui ra,0x21212 + 80000240: 1210809b addiw ra,ra,289 + 80000244: 00700113 li sp,7 + 80000248: 0020df3b srlw t5,ra,sp + 8000024c: 00424eb7 lui t4,0x424 + 80000250: 242e8e9b addiw t4,t4,578 + 80000254: 00e00193 li gp,14 + 80000258: 43df1463 bne t5,t4,80000680 + +000000008000025c : + 8000025c: 212120b7 lui ra,0x21212 + 80000260: 1210809b addiw ra,ra,289 + 80000264: 00e00113 li sp,14 + 80000268: 0020df3b srlw t5,ra,sp + 8000026c: 00008eb7 lui t4,0x8 + 80000270: 484e8e9b addiw t4,t4,1156 + 80000274: 00f00193 li gp,15 + 80000278: 41df1463 bne t5,t4,80000680 + +000000008000027c : + 8000027c: 212120b7 lui ra,0x21212 + 80000280: 1210809b addiw ra,ra,289 + 80000284: 01f00113 li sp,31 + 80000288: 0020df3b srlw t5,ra,sp + 8000028c: 00000e93 li t4,0 + 80000290: 01000193 li gp,16 + 80000294: 3fdf1663 bne t5,t4,80000680 + +0000000080000298 : + 80000298: 212120b7 lui ra,0x21212 + 8000029c: 1210809b addiw ra,ra,289 + 800002a0: fe000113 li sp,-32 + 800002a4: 0020df3b srlw t5,ra,sp + 800002a8: 21212eb7 lui t4,0x21212 + 800002ac: 121e8e9b addiw t4,t4,289 + 800002b0: 01100193 li gp,17 + 800002b4: 3ddf1663 bne t5,t4,80000680 + +00000000800002b8 : + 800002b8: 212120b7 lui ra,0x21212 + 800002bc: 1210809b addiw ra,ra,289 + 800002c0: fe100113 li sp,-31 + 800002c4: 0020df3b srlw t5,ra,sp + 800002c8: 10909eb7 lui t4,0x10909 + 800002cc: 090e8e9b addiw t4,t4,144 + 800002d0: 01200193 li gp,18 + 800002d4: 3bdf1663 bne t5,t4,80000680 + +00000000800002d8 : + 800002d8: 212120b7 lui ra,0x21212 + 800002dc: 1210809b addiw ra,ra,289 + 800002e0: fe700113 li sp,-25 + 800002e4: 0020df3b srlw t5,ra,sp + 800002e8: 00424eb7 lui t4,0x424 + 800002ec: 242e8e9b addiw t4,t4,578 + 800002f0: 01300193 li gp,19 + 800002f4: 39df1663 bne t5,t4,80000680 + +00000000800002f8 : + 800002f8: 212120b7 lui ra,0x21212 + 800002fc: 1210809b addiw ra,ra,289 + 80000300: fee00113 li sp,-18 + 80000304: 0020df3b srlw t5,ra,sp + 80000308: 00008eb7 lui t4,0x8 + 8000030c: 484e8e9b addiw t4,t4,1156 + 80000310: 01400193 li gp,20 + 80000314: 37df1663 bne t5,t4,80000680 + +0000000080000318 : + 80000318: 212120b7 lui ra,0x21212 + 8000031c: 1210809b addiw ra,ra,289 + 80000320: fff00113 li sp,-1 + 80000324: 0020df3b srlw t5,ra,sp + 80000328: 00000e93 li t4,0 + 8000032c: 01500193 li gp,21 + 80000330: 35df1863 bne t5,t4,80000680 + +0000000080000334 : + 80000334: 800000b7 lui ra,0x80000 + 80000338: 00700113 li sp,7 + 8000033c: 0020d0bb srlw ra,ra,sp + 80000340: 01000eb7 lui t4,0x1000 + 80000344: 01600193 li gp,22 + 80000348: 33d09c63 bne ra,t4,80000680 + +000000008000034c : + 8000034c: 800000b7 lui ra,0x80000 + 80000350: 00e00113 li sp,14 + 80000354: 0020d13b srlw sp,ra,sp + 80000358: 00020eb7 lui t4,0x20 + 8000035c: 01700193 li gp,23 + 80000360: 33d11063 bne sp,t4,80000680 + +0000000080000364 : + 80000364: 00700093 li ra,7 + 80000368: 0010d0bb srlw ra,ra,ra + 8000036c: 00000e93 li t4,0 + 80000370: 01800193 li gp,24 + 80000374: 31d09663 bne ra,t4,80000680 + +0000000080000378 : + 80000378: 00000213 li tp,0 + 8000037c: 800000b7 lui ra,0x80000 + 80000380: 00700113 li sp,7 + 80000384: 0020df3b srlw t5,ra,sp + 80000388: 000f0313 mv t1,t5 + 8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000390: 00200293 li t0,2 + 80000394: fe5214e3 bne tp,t0,8000037c + 80000398: 01000eb7 lui t4,0x1000 + 8000039c: 01900193 li gp,25 + 800003a0: 2fd31063 bne t1,t4,80000680 + +00000000800003a4 : + 800003a4: 00000213 li tp,0 + 800003a8: 800000b7 lui ra,0x80000 + 800003ac: 00e00113 li sp,14 + 800003b0: 0020df3b srlw t5,ra,sp + 800003b4: 00000013 nop + 800003b8: 000f0313 mv t1,t5 + 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c0: 00200293 li t0,2 + 800003c4: fe5212e3 bne tp,t0,800003a8 + 800003c8: 00020eb7 lui t4,0x20 + 800003cc: 01a00193 li gp,26 + 800003d0: 2bd31863 bne t1,t4,80000680 + +00000000800003d4 : + 800003d4: 00000213 li tp,0 + 800003d8: 800000b7 lui ra,0x80000 + 800003dc: 01f00113 li sp,31 + 800003e0: 0020df3b srlw t5,ra,sp + 800003e4: 00000013 nop + 800003e8: 00000013 nop + 800003ec: 000f0313 mv t1,t5 + 800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f4: 00200293 li t0,2 + 800003f8: fe5210e3 bne tp,t0,800003d8 + 800003fc: 00100e93 li t4,1 + 80000400: 01b00193 li gp,27 + 80000404: 27d31e63 bne t1,t4,80000680 + +0000000080000408 : + 80000408: 00000213 li tp,0 + 8000040c: 800000b7 lui ra,0x80000 + 80000410: 00700113 li sp,7 + 80000414: 0020df3b srlw t5,ra,sp + 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000041c: 00200293 li t0,2 + 80000420: fe5216e3 bne tp,t0,8000040c + 80000424: 01000eb7 lui t4,0x1000 + 80000428: 01c00193 li gp,28 + 8000042c: 25df1a63 bne t5,t4,80000680 + +0000000080000430 : + 80000430: 00000213 li tp,0 + 80000434: 800000b7 lui ra,0x80000 + 80000438: 00e00113 li sp,14 + 8000043c: 00000013 nop + 80000440: 0020df3b srlw t5,ra,sp + 80000444: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000448: 00200293 li t0,2 + 8000044c: fe5214e3 bne tp,t0,80000434 + 80000450: 00020eb7 lui t4,0x20 + 80000454: 01d00193 li gp,29 + 80000458: 23df1463 bne t5,t4,80000680 + +000000008000045c : + 8000045c: 00000213 li tp,0 + 80000460: 800000b7 lui ra,0x80000 + 80000464: 01f00113 li sp,31 + 80000468: 00000013 nop + 8000046c: 00000013 nop + 80000470: 0020df3b srlw t5,ra,sp + 80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000478: 00200293 li t0,2 + 8000047c: fe5212e3 bne tp,t0,80000460 + 80000480: 00100e93 li t4,1 + 80000484: 01e00193 li gp,30 + 80000488: 1fdf1c63 bne t5,t4,80000680 + +000000008000048c : + 8000048c: 00000213 li tp,0 + 80000490: 800000b7 lui ra,0x80000 + 80000494: 00000013 nop + 80000498: 00700113 li sp,7 + 8000049c: 0020df3b srlw t5,ra,sp + 800004a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a4: 00200293 li t0,2 + 800004a8: fe5214e3 bne tp,t0,80000490 + 800004ac: 01000eb7 lui t4,0x1000 + 800004b0: 01f00193 li gp,31 + 800004b4: 1ddf1663 bne t5,t4,80000680 + +00000000800004b8 : + 800004b8: 00000213 li tp,0 + 800004bc: 800000b7 lui ra,0x80000 + 800004c0: 00000013 nop + 800004c4: 00e00113 li sp,14 + 800004c8: 00000013 nop + 800004cc: 0020df3b srlw t5,ra,sp + 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d4: 00200293 li t0,2 + 800004d8: fe5212e3 bne tp,t0,800004bc + 800004dc: 00020eb7 lui t4,0x20 + 800004e0: 02000193 li gp,32 + 800004e4: 19df1e63 bne t5,t4,80000680 + +00000000800004e8 : + 800004e8: 00000213 li tp,0 + 800004ec: 800000b7 lui ra,0x80000 + 800004f0: 00000013 nop + 800004f4: 00000013 nop + 800004f8: 01f00113 li sp,31 + 800004fc: 0020df3b srlw t5,ra,sp + 80000500: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000504: 00200293 li t0,2 + 80000508: fe5212e3 bne tp,t0,800004ec + 8000050c: 00100e93 li t4,1 + 80000510: 02100193 li gp,33 + 80000514: 17df1663 bne t5,t4,80000680 + +0000000080000518 : + 80000518: 00000213 li tp,0 + 8000051c: 00700113 li sp,7 + 80000520: 800000b7 lui ra,0x80000 + 80000524: 0020df3b srlw t5,ra,sp + 80000528: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000052c: 00200293 li t0,2 + 80000530: fe5216e3 bne tp,t0,8000051c + 80000534: 01000eb7 lui t4,0x1000 + 80000538: 02200193 li gp,34 + 8000053c: 15df1263 bne t5,t4,80000680 + +0000000080000540 : + 80000540: 00000213 li tp,0 + 80000544: 00e00113 li sp,14 + 80000548: 800000b7 lui ra,0x80000 + 8000054c: 00000013 nop + 80000550: 0020df3b srlw t5,ra,sp + 80000554: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000558: 00200293 li t0,2 + 8000055c: fe5214e3 bne tp,t0,80000544 + 80000560: 00020eb7 lui t4,0x20 + 80000564: 02300193 li gp,35 + 80000568: 11df1c63 bne t5,t4,80000680 + +000000008000056c : + 8000056c: 00000213 li tp,0 + 80000570: 01f00113 li sp,31 + 80000574: 800000b7 lui ra,0x80000 + 80000578: 00000013 nop + 8000057c: 00000013 nop + 80000580: 0020df3b srlw t5,ra,sp + 80000584: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000588: 00200293 li t0,2 + 8000058c: fe5212e3 bne tp,t0,80000570 + 80000590: 00100e93 li t4,1 + 80000594: 02400193 li gp,36 + 80000598: 0fdf1463 bne t5,t4,80000680 + +000000008000059c : + 8000059c: 00000213 li tp,0 + 800005a0: 00700113 li sp,7 + 800005a4: 00000013 nop + 800005a8: 800000b7 lui ra,0x80000 + 800005ac: 0020df3b srlw t5,ra,sp + 800005b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005b4: 00200293 li t0,2 + 800005b8: fe5214e3 bne tp,t0,800005a0 + 800005bc: 01000eb7 lui t4,0x1000 + 800005c0: 02500193 li gp,37 + 800005c4: 0bdf1e63 bne t5,t4,80000680 + +00000000800005c8 : + 800005c8: 00000213 li tp,0 + 800005cc: 00e00113 li sp,14 + 800005d0: 00000013 nop + 800005d4: 800000b7 lui ra,0x80000 + 800005d8: 00000013 nop + 800005dc: 0020df3b srlw t5,ra,sp + 800005e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005e4: 00200293 li t0,2 + 800005e8: fe5212e3 bne tp,t0,800005cc + 800005ec: 00020eb7 lui t4,0x20 + 800005f0: 02600193 li gp,38 + 800005f4: 09df1663 bne t5,t4,80000680 + +00000000800005f8 : + 800005f8: 00000213 li tp,0 + 800005fc: 01f00113 li sp,31 + 80000600: 00000013 nop + 80000604: 00000013 nop + 80000608: 800000b7 lui ra,0x80000 + 8000060c: 0020df3b srlw t5,ra,sp + 80000610: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000614: 00200293 li t0,2 + 80000618: fe5212e3 bne tp,t0,800005fc + 8000061c: 00100e93 li t4,1 + 80000620: 02700193 li gp,39 + 80000624: 05df1e63 bne t5,t4,80000680 + +0000000080000628 : + 80000628: 00f00093 li ra,15 + 8000062c: 0010513b srlw sp,zero,ra + 80000630: 00000e93 li t4,0 + 80000634: 02800193 li gp,40 + 80000638: 05d11463 bne sp,t4,80000680 + +000000008000063c : + 8000063c: 02000093 li ra,32 + 80000640: 0000d13b srlw sp,ra,zero + 80000644: 02000e93 li t4,32 + 80000648: 02900193 li gp,41 + 8000064c: 03d11a63 bne sp,t4,80000680 + +0000000080000650 : + 80000650: 000050bb srlw ra,zero,zero + 80000654: 00000e93 li t4,0 + 80000658: 02a00193 li gp,42 + 8000065c: 03d09263 bne ra,t4,80000680 + +0000000080000660 : + 80000660: 40000093 li ra,1024 + 80000664: 00001137 lui sp,0x1 + 80000668: 8001011b addiw sp,sp,-2048 + 8000066c: 0020d03b srlw zero,ra,sp + 80000670: 00000e93 li t4,0 + 80000674: 02b00193 li gp,43 + 80000678: 01d01463 bne zero,t4,80000680 + 8000067c: 00301c63 bne zero,gp,80000694 + +0000000080000680 : + 80000680: 0ff0000f fence + 80000684: 00018063 beqz gp,80000684 + 80000688: 00119193 slli gp,gp,0x1 + 8000068c: 0011e193 ori gp,gp,1 + 80000690: 00000073 ecall + +0000000080000694 : + 80000694: 0ff0000f fence + 80000698: 00100193 li gp,1 + 8000069c: 00000073 ecall + 800006a0: c0001073 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/test/riscv/tests/rv64ui-p-srlw.elf b/test/riscv/tests/rv64ui-p-srlw.elf new file mode 100755 index 00000000..04a9c213 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-srlw.elf differ diff --git a/test/riscv/tests/rv64ui-p-sub.dump b/test/riscv/tests/rv64ui-p-sub.dump new file mode 100644 index 00000000..34bda7b8 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sub.dump @@ -0,0 +1,481 @@ + +rv64ui-p-sub: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00000113 li sp,0 + 80000104: 40208f33 sub t5,ra,sp + 80000108: 00000e93 li t4,0 + 8000010c: 00200193 li gp,2 + 80000110: 4bdf1e63 bne t5,t4,800005cc + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 40208f33 sub t5,ra,sp + 80000120: 00000e93 li t4,0 + 80000124: 00300193 li gp,3 + 80000128: 4bdf1263 bne t5,t4,800005cc + +000000008000012c : + 8000012c: 00300093 li ra,3 + 80000130: 00700113 li sp,7 + 80000134: 40208f33 sub t5,ra,sp + 80000138: ffc00e93 li t4,-4 + 8000013c: 00400193 li gp,4 + 80000140: 49df1663 bne t5,t4,800005cc + +0000000080000144 : + 80000144: 00000093 li ra,0 + 80000148: ffff8137 lui sp,0xffff8 + 8000014c: 40208f33 sub t5,ra,sp + 80000150: 00008eb7 lui t4,0x8 + 80000154: 00500193 li gp,5 + 80000158: 47df1a63 bne t5,t4,800005cc + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00000113 li sp,0 + 80000164: 40208f33 sub t5,ra,sp + 80000168: 80000eb7 lui t4,0x80000 + 8000016c: 00600193 li gp,6 + 80000170: 45df1e63 bne t5,t4,800005cc + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: ffff8137 lui sp,0xffff8 + 8000017c: 40208f33 sub t5,ra,sp + 80000180: 80008eb7 lui t4,0x80008 + 80000184: 00700193 li gp,7 + 80000188: 45df1263 bne t5,t4,800005cc + +000000008000018c : + 8000018c: 00000093 li ra,0 + 80000190: 00008137 lui sp,0x8 + 80000194: fff1011b addiw sp,sp,-1 + 80000198: 40208f33 sub t5,ra,sp + 8000019c: ffff8eb7 lui t4,0xffff8 + 800001a0: 001e8e9b addiw t4,t4,1 + 800001a4: 00800193 li gp,8 + 800001a8: 43df1263 bne t5,t4,800005cc + +00000000800001ac : + 800001ac: 800000b7 lui ra,0x80000 + 800001b0: fff0809b addiw ra,ra,-1 + 800001b4: 00000113 li sp,0 + 800001b8: 40208f33 sub t5,ra,sp + 800001bc: 80000eb7 lui t4,0x80000 + 800001c0: fffe8e9b addiw t4,t4,-1 + 800001c4: 00900193 li gp,9 + 800001c8: 41df1263 bne t5,t4,800005cc + +00000000800001cc : + 800001cc: 800000b7 lui ra,0x80000 + 800001d0: fff0809b addiw ra,ra,-1 + 800001d4: 00008137 lui sp,0x8 + 800001d8: fff1011b addiw sp,sp,-1 + 800001dc: 40208f33 sub t5,ra,sp + 800001e0: 7fff8eb7 lui t4,0x7fff8 + 800001e4: 00a00193 li gp,10 + 800001e8: 3fdf1263 bne t5,t4,800005cc + +00000000800001ec : + 800001ec: 800000b7 lui ra,0x80000 + 800001f0: 00008137 lui sp,0x8 + 800001f4: fff1011b addiw sp,sp,-1 + 800001f8: 40208f33 sub t5,ra,sp + 800001fc: ffff0eb7 lui t4,0xffff0 + 80000200: fffe8e9b addiw t4,t4,-1 + 80000204: 00fe9e93 slli t4,t4,0xf + 80000208: 001e8e93 addi t4,t4,1 # ffffffffffff0001 <_end+0xffffffff7ffee001> + 8000020c: 00b00193 li gp,11 + 80000210: 3bdf1e63 bne t5,t4,800005cc + +0000000080000214 : + 80000214: 800000b7 lui ra,0x80000 + 80000218: fff0809b addiw ra,ra,-1 + 8000021c: ffff8137 lui sp,0xffff8 + 80000220: 40208f33 sub t5,ra,sp + 80000224: 00010eb7 lui t4,0x10 + 80000228: 001e8e9b addiw t4,t4,1 + 8000022c: 00fe9e93 slli t4,t4,0xf + 80000230: fffe8e93 addi t4,t4,-1 # ffff <_start-0x7fff0001> + 80000234: 00c00193 li gp,12 + 80000238: 39df1a63 bne t5,t4,800005cc + +000000008000023c : + 8000023c: 00000093 li ra,0 + 80000240: fff00113 li sp,-1 + 80000244: 40208f33 sub t5,ra,sp + 80000248: 00100e93 li t4,1 + 8000024c: 00d00193 li gp,13 + 80000250: 37df1e63 bne t5,t4,800005cc + +0000000080000254 : + 80000254: fff00093 li ra,-1 + 80000258: 00100113 li sp,1 + 8000025c: 40208f33 sub t5,ra,sp + 80000260: ffe00e93 li t4,-2 + 80000264: 00e00193 li gp,14 + 80000268: 37df1263 bne t5,t4,800005cc + +000000008000026c : + 8000026c: fff00093 li ra,-1 + 80000270: fff00113 li sp,-1 + 80000274: 40208f33 sub t5,ra,sp + 80000278: 00000e93 li t4,0 + 8000027c: 00f00193 li gp,15 + 80000280: 35df1663 bne t5,t4,800005cc + +0000000080000284 : + 80000284: 00d00093 li ra,13 + 80000288: 00b00113 li sp,11 + 8000028c: 402080b3 sub ra,ra,sp + 80000290: 00200e93 li t4,2 + 80000294: 01000193 li gp,16 + 80000298: 33d09a63 bne ra,t4,800005cc + +000000008000029c : + 8000029c: 00e00093 li ra,14 + 800002a0: 00b00113 li sp,11 + 800002a4: 40208133 sub sp,ra,sp + 800002a8: 00300e93 li t4,3 + 800002ac: 01100193 li gp,17 + 800002b0: 31d11e63 bne sp,t4,800005cc + +00000000800002b4 : + 800002b4: 00d00093 li ra,13 + 800002b8: 401080b3 sub ra,ra,ra + 800002bc: 00000e93 li t4,0 + 800002c0: 01200193 li gp,18 + 800002c4: 31d09463 bne ra,t4,800005cc + +00000000800002c8 : + 800002c8: 00000213 li tp,0 + 800002cc: 00d00093 li ra,13 + 800002d0: 00b00113 li sp,11 + 800002d4: 40208f33 sub t5,ra,sp + 800002d8: 000f0313 mv t1,t5 + 800002dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002e0: 00200293 li t0,2 + 800002e4: fe5214e3 bne tp,t0,800002cc + 800002e8: 00200e93 li t4,2 + 800002ec: 01300193 li gp,19 + 800002f0: 2dd31e63 bne t1,t4,800005cc + +00000000800002f4 : + 800002f4: 00000213 li tp,0 + 800002f8: 00e00093 li ra,14 + 800002fc: 00b00113 li sp,11 + 80000300: 40208f33 sub t5,ra,sp + 80000304: 00000013 nop + 80000308: 000f0313 mv t1,t5 + 8000030c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000310: 00200293 li t0,2 + 80000314: fe5212e3 bne tp,t0,800002f8 + 80000318: 00300e93 li t4,3 + 8000031c: 01400193 li gp,20 + 80000320: 2bd31663 bne t1,t4,800005cc + +0000000080000324 : + 80000324: 00000213 li tp,0 + 80000328: 00f00093 li ra,15 + 8000032c: 00b00113 li sp,11 + 80000330: 40208f33 sub t5,ra,sp + 80000334: 00000013 nop + 80000338: 00000013 nop + 8000033c: 000f0313 mv t1,t5 + 80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000344: 00200293 li t0,2 + 80000348: fe5210e3 bne tp,t0,80000328 + 8000034c: 00400e93 li t4,4 + 80000350: 01500193 li gp,21 + 80000354: 27d31c63 bne t1,t4,800005cc + +0000000080000358 : + 80000358: 00000213 li tp,0 + 8000035c: 00d00093 li ra,13 + 80000360: 00b00113 li sp,11 + 80000364: 40208f33 sub t5,ra,sp + 80000368: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000036c: 00200293 li t0,2 + 80000370: fe5216e3 bne tp,t0,8000035c + 80000374: 00200e93 li t4,2 + 80000378: 01600193 li gp,22 + 8000037c: 25df1863 bne t5,t4,800005cc + +0000000080000380 : + 80000380: 00000213 li tp,0 + 80000384: 00e00093 li ra,14 + 80000388: 00b00113 li sp,11 + 8000038c: 00000013 nop + 80000390: 40208f33 sub t5,ra,sp + 80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000398: 00200293 li t0,2 + 8000039c: fe5214e3 bne tp,t0,80000384 + 800003a0: 00300e93 li t4,3 + 800003a4: 01700193 li gp,23 + 800003a8: 23df1263 bne t5,t4,800005cc + +00000000800003ac : + 800003ac: 00000213 li tp,0 + 800003b0: 00f00093 li ra,15 + 800003b4: 00b00113 li sp,11 + 800003b8: 00000013 nop + 800003bc: 00000013 nop + 800003c0: 40208f33 sub t5,ra,sp + 800003c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c8: 00200293 li t0,2 + 800003cc: fe5212e3 bne tp,t0,800003b0 + 800003d0: 00400e93 li t4,4 + 800003d4: 01800193 li gp,24 + 800003d8: 1fdf1a63 bne t5,t4,800005cc + +00000000800003dc : + 800003dc: 00000213 li tp,0 + 800003e0: 00d00093 li ra,13 + 800003e4: 00000013 nop + 800003e8: 00b00113 li sp,11 + 800003ec: 40208f33 sub t5,ra,sp + 800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f4: 00200293 li t0,2 + 800003f8: fe5214e3 bne tp,t0,800003e0 + 800003fc: 00200e93 li t4,2 + 80000400: 01900193 li gp,25 + 80000404: 1ddf1463 bne t5,t4,800005cc + +0000000080000408 : + 80000408: 00000213 li tp,0 + 8000040c: 00e00093 li ra,14 + 80000410: 00000013 nop + 80000414: 00b00113 li sp,11 + 80000418: 00000013 nop + 8000041c: 40208f33 sub t5,ra,sp + 80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000424: 00200293 li t0,2 + 80000428: fe5212e3 bne tp,t0,8000040c + 8000042c: 00300e93 li t4,3 + 80000430: 01a00193 li gp,26 + 80000434: 19df1c63 bne t5,t4,800005cc + +0000000080000438 : + 80000438: 00000213 li tp,0 + 8000043c: 00f00093 li ra,15 + 80000440: 00000013 nop + 80000444: 00000013 nop + 80000448: 00b00113 li sp,11 + 8000044c: 40208f33 sub t5,ra,sp + 80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000454: 00200293 li t0,2 + 80000458: fe5212e3 bne tp,t0,8000043c + 8000045c: 00400e93 li t4,4 + 80000460: 01b00193 li gp,27 + 80000464: 17df1463 bne t5,t4,800005cc + +0000000080000468 : + 80000468: 00000213 li tp,0 + 8000046c: 00b00113 li sp,11 + 80000470: 00d00093 li ra,13 + 80000474: 40208f33 sub t5,ra,sp + 80000478: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000047c: 00200293 li t0,2 + 80000480: fe5216e3 bne tp,t0,8000046c + 80000484: 00200e93 li t4,2 + 80000488: 01c00193 li gp,28 + 8000048c: 15df1063 bne t5,t4,800005cc + +0000000080000490 : + 80000490: 00000213 li tp,0 + 80000494: 00b00113 li sp,11 + 80000498: 00e00093 li ra,14 + 8000049c: 00000013 nop + 800004a0: 40208f33 sub t5,ra,sp + 800004a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a8: 00200293 li t0,2 + 800004ac: fe5214e3 bne tp,t0,80000494 + 800004b0: 00300e93 li t4,3 + 800004b4: 01d00193 li gp,29 + 800004b8: 11df1a63 bne t5,t4,800005cc + +00000000800004bc : + 800004bc: 00000213 li tp,0 + 800004c0: 00b00113 li sp,11 + 800004c4: 00f00093 li ra,15 + 800004c8: 00000013 nop + 800004cc: 00000013 nop + 800004d0: 40208f33 sub t5,ra,sp + 800004d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d8: 00200293 li t0,2 + 800004dc: fe5212e3 bne tp,t0,800004c0 + 800004e0: 00400e93 li t4,4 + 800004e4: 01e00193 li gp,30 + 800004e8: 0fdf1263 bne t5,t4,800005cc + +00000000800004ec : + 800004ec: 00000213 li tp,0 + 800004f0: 00b00113 li sp,11 + 800004f4: 00000013 nop + 800004f8: 00d00093 li ra,13 + 800004fc: 40208f33 sub t5,ra,sp + 80000500: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000504: 00200293 li t0,2 + 80000508: fe5214e3 bne tp,t0,800004f0 + 8000050c: 00200e93 li t4,2 + 80000510: 01f00193 li gp,31 + 80000514: 0bdf1c63 bne t5,t4,800005cc + +0000000080000518 : + 80000518: 00000213 li tp,0 + 8000051c: 00b00113 li sp,11 + 80000520: 00000013 nop + 80000524: 00e00093 li ra,14 + 80000528: 00000013 nop + 8000052c: 40208f33 sub t5,ra,sp + 80000530: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000534: 00200293 li t0,2 + 80000538: fe5212e3 bne tp,t0,8000051c + 8000053c: 00300e93 li t4,3 + 80000540: 02000193 li gp,32 + 80000544: 09df1463 bne t5,t4,800005cc + +0000000080000548 : + 80000548: 00000213 li tp,0 + 8000054c: 00b00113 li sp,11 + 80000550: 00000013 nop + 80000554: 00000013 nop + 80000558: 00f00093 li ra,15 + 8000055c: 40208f33 sub t5,ra,sp + 80000560: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000564: 00200293 li t0,2 + 80000568: fe5212e3 bne tp,t0,8000054c + 8000056c: 00400e93 li t4,4 + 80000570: 02100193 li gp,33 + 80000574: 05df1c63 bne t5,t4,800005cc + +0000000080000578 : + 80000578: ff100093 li ra,-15 + 8000057c: 40100133 neg sp,ra + 80000580: 00f00e93 li t4,15 + 80000584: 02200193 li gp,34 + 80000588: 05d11263 bne sp,t4,800005cc + +000000008000058c : + 8000058c: 02000093 li ra,32 + 80000590: 40008133 sub sp,ra,zero + 80000594: 02000e93 li t4,32 + 80000598: 02300193 li gp,35 + 8000059c: 03d11863 bne sp,t4,800005cc + +00000000800005a0 : + 800005a0: 400000b3 neg ra,zero + 800005a4: 00000e93 li t4,0 + 800005a8: 02400193 li gp,36 + 800005ac: 03d09063 bne ra,t4,800005cc + +00000000800005b0 : + 800005b0: 01000093 li ra,16 + 800005b4: 01e00113 li sp,30 + 800005b8: 40208033 sub zero,ra,sp + 800005bc: 00000e93 li t4,0 + 800005c0: 02500193 li gp,37 + 800005c4: 01d01463 bne zero,t4,800005cc + 800005c8: 00301c63 bne zero,gp,800005e0 + +00000000800005cc : + 800005cc: 0ff0000f fence + 800005d0: 00018063 beqz gp,800005d0 + 800005d4: 00119193 slli gp,gp,0x1 + 800005d8: 0011e193 ori gp,gp,1 + 800005dc: 00000073 ecall + +00000000800005e0 : + 800005e0: 0ff0000f fence + 800005e4: 00100193 li gp,1 + 800005e8: 00000073 ecall + 800005ec: c0001073 unimp + 800005f0: 0000 unimp + 800005f2: 0000 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/test/riscv/tests/rv64ui-p-sub.elf b/test/riscv/tests/rv64ui-p-sub.elf new file mode 100755 index 00000000..04699b73 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sub.elf differ diff --git a/test/riscv/tests/rv64ui-p-subw.dump b/test/riscv/tests/rv64ui-p-subw.dump new file mode 100644 index 00000000..0a29bbfb --- /dev/null +++ b/test/riscv/tests/rv64ui-p-subw.dump @@ -0,0 +1,485 @@ + +rv64ui-p-subw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00000113 li sp,0 + 80000104: 40208f3b subw t5,ra,sp + 80000108: 00000e93 li t4,0 + 8000010c: 00200193 li gp,2 + 80000110: 4bdf1663 bne t5,t4,800005bc + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 40208f3b subw t5,ra,sp + 80000120: 00000e93 li t4,0 + 80000124: 00300193 li gp,3 + 80000128: 49df1a63 bne t5,t4,800005bc + +000000008000012c : + 8000012c: 00300093 li ra,3 + 80000130: 00700113 li sp,7 + 80000134: 40208f3b subw t5,ra,sp + 80000138: ffc00e93 li t4,-4 + 8000013c: 00400193 li gp,4 + 80000140: 47df1e63 bne t5,t4,800005bc + +0000000080000144 : + 80000144: 00000093 li ra,0 + 80000148: ffff8137 lui sp,0xffff8 + 8000014c: 40208f3b subw t5,ra,sp + 80000150: 00008eb7 lui t4,0x8 + 80000154: 00500193 li gp,5 + 80000158: 47df1263 bne t5,t4,800005bc + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00000113 li sp,0 + 80000164: 40208f3b subw t5,ra,sp + 80000168: 80000eb7 lui t4,0x80000 + 8000016c: 00600193 li gp,6 + 80000170: 45df1663 bne t5,t4,800005bc + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: ffff8137 lui sp,0xffff8 + 8000017c: 40208f3b subw t5,ra,sp + 80000180: 80008eb7 lui t4,0x80008 + 80000184: 00700193 li gp,7 + 80000188: 43df1a63 bne t5,t4,800005bc + +000000008000018c : + 8000018c: 00000093 li ra,0 + 80000190: 00008137 lui sp,0x8 + 80000194: fff1011b addiw sp,sp,-1 + 80000198: 40208f3b subw t5,ra,sp + 8000019c: ffff8eb7 lui t4,0xffff8 + 800001a0: 001e8e9b addiw t4,t4,1 + 800001a4: 00800193 li gp,8 + 800001a8: 41df1a63 bne t5,t4,800005bc + +00000000800001ac : + 800001ac: 800000b7 lui ra,0x80000 + 800001b0: fff0809b addiw ra,ra,-1 + 800001b4: 00000113 li sp,0 + 800001b8: 40208f3b subw t5,ra,sp + 800001bc: 80000eb7 lui t4,0x80000 + 800001c0: fffe8e9b addiw t4,t4,-1 + 800001c4: 00900193 li gp,9 + 800001c8: 3fdf1a63 bne t5,t4,800005bc + +00000000800001cc : + 800001cc: 800000b7 lui ra,0x80000 + 800001d0: fff0809b addiw ra,ra,-1 + 800001d4: 00008137 lui sp,0x8 + 800001d8: fff1011b addiw sp,sp,-1 + 800001dc: 40208f3b subw t5,ra,sp + 800001e0: 7fff8eb7 lui t4,0x7fff8 + 800001e4: 00a00193 li gp,10 + 800001e8: 3ddf1a63 bne t5,t4,800005bc + +00000000800001ec : + 800001ec: 800000b7 lui ra,0x80000 + 800001f0: 00008137 lui sp,0x8 + 800001f4: fff1011b addiw sp,sp,-1 + 800001f8: 40208f3b subw t5,ra,sp + 800001fc: 7fff8eb7 lui t4,0x7fff8 + 80000200: 001e8e9b addiw t4,t4,1 + 80000204: 00b00193 li gp,11 + 80000208: 3bdf1a63 bne t5,t4,800005bc + +000000008000020c : + 8000020c: 800000b7 lui ra,0x80000 + 80000210: fff0809b addiw ra,ra,-1 + 80000214: ffff8137 lui sp,0xffff8 + 80000218: 40208f3b subw t5,ra,sp + 8000021c: 80008eb7 lui t4,0x80008 + 80000220: fffe8e9b addiw t4,t4,-1 + 80000224: 00c00193 li gp,12 + 80000228: 39df1a63 bne t5,t4,800005bc + +000000008000022c : + 8000022c: 00000093 li ra,0 + 80000230: fff00113 li sp,-1 + 80000234: 40208f3b subw t5,ra,sp + 80000238: 00100e93 li t4,1 + 8000023c: 00d00193 li gp,13 + 80000240: 37df1e63 bne t5,t4,800005bc + +0000000080000244 : + 80000244: fff00093 li ra,-1 + 80000248: 00100113 li sp,1 + 8000024c: 40208f3b subw t5,ra,sp + 80000250: ffe00e93 li t4,-2 + 80000254: 00e00193 li gp,14 + 80000258: 37df1263 bne t5,t4,800005bc + +000000008000025c : + 8000025c: fff00093 li ra,-1 + 80000260: fff00113 li sp,-1 + 80000264: 40208f3b subw t5,ra,sp + 80000268: 00000e93 li t4,0 + 8000026c: 00f00193 li gp,15 + 80000270: 35df1663 bne t5,t4,800005bc + +0000000080000274 : + 80000274: 00d00093 li ra,13 + 80000278: 00b00113 li sp,11 + 8000027c: 402080bb subw ra,ra,sp + 80000280: 00200e93 li t4,2 + 80000284: 01000193 li gp,16 + 80000288: 33d09a63 bne ra,t4,800005bc + +000000008000028c : + 8000028c: 00e00093 li ra,14 + 80000290: 00b00113 li sp,11 + 80000294: 4020813b subw sp,ra,sp + 80000298: 00300e93 li t4,3 + 8000029c: 01100193 li gp,17 + 800002a0: 31d11e63 bne sp,t4,800005bc + +00000000800002a4 : + 800002a4: 00d00093 li ra,13 + 800002a8: 401080bb subw ra,ra,ra + 800002ac: 00000e93 li t4,0 + 800002b0: 01200193 li gp,18 + 800002b4: 31d09463 bne ra,t4,800005bc + +00000000800002b8 : + 800002b8: 00000213 li tp,0 + 800002bc: 00d00093 li ra,13 + 800002c0: 00b00113 li sp,11 + 800002c4: 40208f3b subw t5,ra,sp + 800002c8: 000f0313 mv t1,t5 + 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002d0: 00200293 li t0,2 + 800002d4: fe5214e3 bne tp,t0,800002bc + 800002d8: 00200e93 li t4,2 + 800002dc: 01300193 li gp,19 + 800002e0: 2dd31e63 bne t1,t4,800005bc + +00000000800002e4 : + 800002e4: 00000213 li tp,0 + 800002e8: 00e00093 li ra,14 + 800002ec: 00b00113 li sp,11 + 800002f0: 40208f3b subw t5,ra,sp + 800002f4: 00000013 nop + 800002f8: 000f0313 mv t1,t5 + 800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000300: 00200293 li t0,2 + 80000304: fe5212e3 bne tp,t0,800002e8 + 80000308: 00300e93 li t4,3 + 8000030c: 01400193 li gp,20 + 80000310: 2bd31663 bne t1,t4,800005bc + +0000000080000314 : + 80000314: 00000213 li tp,0 + 80000318: 00f00093 li ra,15 + 8000031c: 00b00113 li sp,11 + 80000320: 40208f3b subw t5,ra,sp + 80000324: 00000013 nop + 80000328: 00000013 nop + 8000032c: 000f0313 mv t1,t5 + 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000334: 00200293 li t0,2 + 80000338: fe5210e3 bne tp,t0,80000318 + 8000033c: 00400e93 li t4,4 + 80000340: 01500193 li gp,21 + 80000344: 27d31c63 bne t1,t4,800005bc + +0000000080000348 : + 80000348: 00000213 li tp,0 + 8000034c: 00d00093 li ra,13 + 80000350: 00b00113 li sp,11 + 80000354: 40208f3b subw t5,ra,sp + 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000035c: 00200293 li t0,2 + 80000360: fe5216e3 bne tp,t0,8000034c + 80000364: 00200e93 li t4,2 + 80000368: 01600193 li gp,22 + 8000036c: 25df1863 bne t5,t4,800005bc + +0000000080000370 : + 80000370: 00000213 li tp,0 + 80000374: 00e00093 li ra,14 + 80000378: 00b00113 li sp,11 + 8000037c: 00000013 nop + 80000380: 40208f3b subw t5,ra,sp + 80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000388: 00200293 li t0,2 + 8000038c: fe5214e3 bne tp,t0,80000374 + 80000390: 00300e93 li t4,3 + 80000394: 01700193 li gp,23 + 80000398: 23df1263 bne t5,t4,800005bc + +000000008000039c : + 8000039c: 00000213 li tp,0 + 800003a0: 00f00093 li ra,15 + 800003a4: 00b00113 li sp,11 + 800003a8: 00000013 nop + 800003ac: 00000013 nop + 800003b0: 40208f3b subw t5,ra,sp + 800003b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003b8: 00200293 li t0,2 + 800003bc: fe5212e3 bne tp,t0,800003a0 + 800003c0: 00400e93 li t4,4 + 800003c4: 01800193 li gp,24 + 800003c8: 1fdf1a63 bne t5,t4,800005bc + +00000000800003cc : + 800003cc: 00000213 li tp,0 + 800003d0: 00d00093 li ra,13 + 800003d4: 00000013 nop + 800003d8: 00b00113 li sp,11 + 800003dc: 40208f3b subw t5,ra,sp + 800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003e4: 00200293 li t0,2 + 800003e8: fe5214e3 bne tp,t0,800003d0 + 800003ec: 00200e93 li t4,2 + 800003f0: 01900193 li gp,25 + 800003f4: 1ddf1463 bne t5,t4,800005bc + +00000000800003f8 : + 800003f8: 00000213 li tp,0 + 800003fc: 00e00093 li ra,14 + 80000400: 00000013 nop + 80000404: 00b00113 li sp,11 + 80000408: 00000013 nop + 8000040c: 40208f3b subw t5,ra,sp + 80000410: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000414: 00200293 li t0,2 + 80000418: fe5212e3 bne tp,t0,800003fc + 8000041c: 00300e93 li t4,3 + 80000420: 01a00193 li gp,26 + 80000424: 19df1c63 bne t5,t4,800005bc + +0000000080000428 : + 80000428: 00000213 li tp,0 + 8000042c: 00f00093 li ra,15 + 80000430: 00000013 nop + 80000434: 00000013 nop + 80000438: 00b00113 li sp,11 + 8000043c: 40208f3b subw t5,ra,sp + 80000440: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000444: 00200293 li t0,2 + 80000448: fe5212e3 bne tp,t0,8000042c + 8000044c: 00400e93 li t4,4 + 80000450: 01b00193 li gp,27 + 80000454: 17df1463 bne t5,t4,800005bc + +0000000080000458 : + 80000458: 00000213 li tp,0 + 8000045c: 00b00113 li sp,11 + 80000460: 00d00093 li ra,13 + 80000464: 40208f3b subw t5,ra,sp + 80000468: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000046c: 00200293 li t0,2 + 80000470: fe5216e3 bne tp,t0,8000045c + 80000474: 00200e93 li t4,2 + 80000478: 01c00193 li gp,28 + 8000047c: 15df1063 bne t5,t4,800005bc + +0000000080000480 : + 80000480: 00000213 li tp,0 + 80000484: 00b00113 li sp,11 + 80000488: 00e00093 li ra,14 + 8000048c: 00000013 nop + 80000490: 40208f3b subw t5,ra,sp + 80000494: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000498: 00200293 li t0,2 + 8000049c: fe5214e3 bne tp,t0,80000484 + 800004a0: 00300e93 li t4,3 + 800004a4: 01d00193 li gp,29 + 800004a8: 11df1a63 bne t5,t4,800005bc + +00000000800004ac : + 800004ac: 00000213 li tp,0 + 800004b0: 00b00113 li sp,11 + 800004b4: 00f00093 li ra,15 + 800004b8: 00000013 nop + 800004bc: 00000013 nop + 800004c0: 40208f3b subw t5,ra,sp + 800004c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004c8: 00200293 li t0,2 + 800004cc: fe5212e3 bne tp,t0,800004b0 + 800004d0: 00400e93 li t4,4 + 800004d4: 01e00193 li gp,30 + 800004d8: 0fdf1263 bne t5,t4,800005bc + +00000000800004dc : + 800004dc: 00000213 li tp,0 + 800004e0: 00b00113 li sp,11 + 800004e4: 00000013 nop + 800004e8: 00d00093 li ra,13 + 800004ec: 40208f3b subw t5,ra,sp + 800004f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004f4: 00200293 li t0,2 + 800004f8: fe5214e3 bne tp,t0,800004e0 + 800004fc: 00200e93 li t4,2 + 80000500: 01f00193 li gp,31 + 80000504: 0bdf1c63 bne t5,t4,800005bc + +0000000080000508 : + 80000508: 00000213 li tp,0 + 8000050c: 00b00113 li sp,11 + 80000510: 00000013 nop + 80000514: 00e00093 li ra,14 + 80000518: 00000013 nop + 8000051c: 40208f3b subw t5,ra,sp + 80000520: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000524: 00200293 li t0,2 + 80000528: fe5212e3 bne tp,t0,8000050c + 8000052c: 00300e93 li t4,3 + 80000530: 02000193 li gp,32 + 80000534: 09df1463 bne t5,t4,800005bc + +0000000080000538 : + 80000538: 00000213 li tp,0 + 8000053c: 00b00113 li sp,11 + 80000540: 00000013 nop + 80000544: 00000013 nop + 80000548: 00f00093 li ra,15 + 8000054c: 40208f3b subw t5,ra,sp + 80000550: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000554: 00200293 li t0,2 + 80000558: fe5212e3 bne tp,t0,8000053c + 8000055c: 00400e93 li t4,4 + 80000560: 02100193 li gp,33 + 80000564: 05df1c63 bne t5,t4,800005bc + +0000000080000568 : + 80000568: ff100093 li ra,-15 + 8000056c: 4010013b negw sp,ra + 80000570: 00f00e93 li t4,15 + 80000574: 02200193 li gp,34 + 80000578: 05d11263 bne sp,t4,800005bc + +000000008000057c : + 8000057c: 02000093 li ra,32 + 80000580: 4000813b subw sp,ra,zero + 80000584: 02000e93 li t4,32 + 80000588: 02300193 li gp,35 + 8000058c: 03d11863 bne sp,t4,800005bc + +0000000080000590 : + 80000590: 400000bb negw ra,zero + 80000594: 00000e93 li t4,0 + 80000598: 02400193 li gp,36 + 8000059c: 03d09063 bne ra,t4,800005bc + +00000000800005a0 : + 800005a0: 01000093 li ra,16 + 800005a4: 01e00113 li sp,30 + 800005a8: 4020803b subw zero,ra,sp + 800005ac: 00000e93 li t4,0 + 800005b0: 02500193 li gp,37 + 800005b4: 01d01463 bne zero,t4,800005bc + 800005b8: 00301c63 bne zero,gp,800005d0 + +00000000800005bc : + 800005bc: 0ff0000f fence + 800005c0: 00018063 beqz gp,800005c0 + 800005c4: 00119193 slli gp,gp,0x1 + 800005c8: 0011e193 ori gp,gp,1 + 800005cc: 00000073 ecall + +00000000800005d0 : + 800005d0: 0ff0000f fence + 800005d4: 00100193 li gp,1 + 800005d8: 00000073 ecall + 800005dc: c0001073 unimp + 800005e0: 0000 unimp + 800005e2: 0000 unimp + 800005e4: 0000 unimp + 800005e6: 0000 unimp + 800005e8: 0000 unimp + 800005ea: 0000 unimp + 800005ec: 0000 unimp + 800005ee: 0000 unimp + 800005f0: 0000 unimp + 800005f2: 0000 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/test/riscv/tests/rv64ui-p-subw.elf b/test/riscv/tests/rv64ui-p-subw.elf new file mode 100755 index 00000000..569998ee Binary files /dev/null and b/test/riscv/tests/rv64ui-p-subw.elf differ diff --git a/test/riscv/tests/rv64ui-p-sw.dump b/test/riscv/tests/rv64ui-p-sw.dump new file mode 100644 index 00000000..a80b9958 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-sw.dump @@ -0,0 +1,476 @@ + +rv64ui-p-sw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00002097 auipc ra,0x2 + 80000100: f0408093 addi ra,ra,-252 # 80002000 + 80000104: 00aa0137 lui sp,0xaa0 + 80000108: 0aa1011b addiw sp,sp,170 + 8000010c: 0020a023 sw sp,0(ra) + 80000110: 0000af03 lw t5,0(ra) + 80000114: 00aa0eb7 lui t4,0xaa0 + 80000118: 0aae8e9b addiw t4,t4,170 + 8000011c: 00200193 li gp,2 + 80000120: 47df1063 bne t5,t4,80000580 + +0000000080000124 : + 80000124: 00002097 auipc ra,0x2 + 80000128: edc08093 addi ra,ra,-292 # 80002000 + 8000012c: aa00b137 lui sp,0xaa00b + 80000130: a001011b addiw sp,sp,-1536 + 80000134: 0020a223 sw sp,4(ra) + 80000138: 0040af03 lw t5,4(ra) + 8000013c: aa00beb7 lui t4,0xaa00b + 80000140: a00e8e9b addiw t4,t4,-1536 + 80000144: 00300193 li gp,3 + 80000148: 43df1c63 bne t5,t4,80000580 + +000000008000014c : + 8000014c: 00002097 auipc ra,0x2 + 80000150: eb408093 addi ra,ra,-332 # 80002000 + 80000154: 0aa01137 lui sp,0xaa01 + 80000158: aa01011b addiw sp,sp,-1376 + 8000015c: 0020a423 sw sp,8(ra) + 80000160: 0080af03 lw t5,8(ra) + 80000164: 0aa01eb7 lui t4,0xaa01 + 80000168: aa0e8e9b addiw t4,t4,-1376 + 8000016c: 00400193 li gp,4 + 80000170: 41df1863 bne t5,t4,80000580 + +0000000080000174 : + 80000174: 00002097 auipc ra,0x2 + 80000178: e8c08093 addi ra,ra,-372 # 80002000 + 8000017c: a00aa137 lui sp,0xa00aa + 80000180: 00a1011b addiw sp,sp,10 + 80000184: 0020a623 sw sp,12(ra) + 80000188: 00c0af03 lw t5,12(ra) + 8000018c: a00aaeb7 lui t4,0xa00aa + 80000190: 00ae8e9b addiw t4,t4,10 + 80000194: 00500193 li gp,5 + 80000198: 3fdf1463 bne t5,t4,80000580 + +000000008000019c : + 8000019c: 00002097 auipc ra,0x2 + 800001a0: e8008093 addi ra,ra,-384 # 8000201c + 800001a4: 00aa0137 lui sp,0xaa0 + 800001a8: 0aa1011b addiw sp,sp,170 + 800001ac: fe20aa23 sw sp,-12(ra) + 800001b0: ff40af03 lw t5,-12(ra) + 800001b4: 00aa0eb7 lui t4,0xaa0 + 800001b8: 0aae8e9b addiw t4,t4,170 + 800001bc: 00600193 li gp,6 + 800001c0: 3ddf1063 bne t5,t4,80000580 + +00000000800001c4 : + 800001c4: 00002097 auipc ra,0x2 + 800001c8: e5808093 addi ra,ra,-424 # 8000201c + 800001cc: aa00b137 lui sp,0xaa00b + 800001d0: a001011b addiw sp,sp,-1536 + 800001d4: fe20ac23 sw sp,-8(ra) + 800001d8: ff80af03 lw t5,-8(ra) + 800001dc: aa00beb7 lui t4,0xaa00b + 800001e0: a00e8e9b addiw t4,t4,-1536 + 800001e4: 00700193 li gp,7 + 800001e8: 39df1c63 bne t5,t4,80000580 + +00000000800001ec : + 800001ec: 00002097 auipc ra,0x2 + 800001f0: e3008093 addi ra,ra,-464 # 8000201c + 800001f4: 0aa01137 lui sp,0xaa01 + 800001f8: aa01011b addiw sp,sp,-1376 + 800001fc: fe20ae23 sw sp,-4(ra) + 80000200: ffc0af03 lw t5,-4(ra) + 80000204: 0aa01eb7 lui t4,0xaa01 + 80000208: aa0e8e9b addiw t4,t4,-1376 + 8000020c: 00800193 li gp,8 + 80000210: 37df1863 bne t5,t4,80000580 + +0000000080000214 : + 80000214: 00002097 auipc ra,0x2 + 80000218: e0808093 addi ra,ra,-504 # 8000201c + 8000021c: a00aa137 lui sp,0xa00aa + 80000220: 00a1011b addiw sp,sp,10 + 80000224: 0020a023 sw sp,0(ra) + 80000228: 0000af03 lw t5,0(ra) + 8000022c: a00aaeb7 lui t4,0xa00aa + 80000230: 00ae8e9b addiw t4,t4,10 + 80000234: 00900193 li gp,9 + 80000238: 35df1463 bne t5,t4,80000580 + +000000008000023c : + 8000023c: 00002097 auipc ra,0x2 + 80000240: de408093 addi ra,ra,-540 # 80002020 + 80000244: 12345137 lui sp,0x12345 + 80000248: 6781011b addiw sp,sp,1656 + 8000024c: fe008213 addi tp,ra,-32 + 80000250: 02222023 sw sp,32(tp) # 20 <_start-0x7fffffe0> + 80000254: 0000a283 lw t0,0(ra) + 80000258: 12345eb7 lui t4,0x12345 + 8000025c: 678e8e9b addiw t4,t4,1656 + 80000260: 00a00193 li gp,10 + 80000264: 31d29e63 bne t0,t4,80000580 + +0000000080000268 : + 80000268: 00002097 auipc ra,0x2 + 8000026c: db808093 addi ra,ra,-584 # 80002020 + 80000270: 58213137 lui sp,0x58213 + 80000274: 0981011b addiw sp,sp,152 + 80000278: ffd08093 addi ra,ra,-3 + 8000027c: 0020a3a3 sw sp,7(ra) + 80000280: 00002217 auipc tp,0x2 + 80000284: da420213 addi tp,tp,-604 # 80002024 + 80000288: 00022283 lw t0,0(tp) # 0 <_start-0x80000000> + 8000028c: 58213eb7 lui t4,0x58213 + 80000290: 098e8e9b addiw t4,t4,152 + 80000294: 00b00193 li gp,11 + 80000298: 2fd29463 bne t0,t4,80000580 + +000000008000029c : + 8000029c: 00c00193 li gp,12 + 800002a0: 00000213 li tp,0 + 800002a4: aabbd0b7 lui ra,0xaabbd + 800002a8: cdd0809b addiw ra,ra,-803 + 800002ac: 00002117 auipc sp,0x2 + 800002b0: d5410113 addi sp,sp,-684 # 80002000 + 800002b4: 00112023 sw ra,0(sp) + 800002b8: 00012f03 lw t5,0(sp) + 800002bc: aabbdeb7 lui t4,0xaabbd + 800002c0: cdde8e9b addiw t4,t4,-803 + 800002c4: 2bdf1e63 bne t5,t4,80000580 + 800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002cc: 00200293 li t0,2 + 800002d0: fc521ae3 bne tp,t0,800002a4 + +00000000800002d4 : + 800002d4: 00d00193 li gp,13 + 800002d8: 00000213 li tp,0 + 800002dc: daabc0b7 lui ra,0xdaabc + 800002e0: ccd0809b addiw ra,ra,-819 + 800002e4: 00002117 auipc sp,0x2 + 800002e8: d1c10113 addi sp,sp,-740 # 80002000 + 800002ec: 00000013 nop + 800002f0: 00112223 sw ra,4(sp) + 800002f4: 00412f03 lw t5,4(sp) + 800002f8: daabceb7 lui t4,0xdaabc + 800002fc: ccde8e9b addiw t4,t4,-819 + 80000300: 29df1063 bne t5,t4,80000580 + 80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000308: 00200293 li t0,2 + 8000030c: fc5218e3 bne tp,t0,800002dc + +0000000080000310 : + 80000310: 00e00193 li gp,14 + 80000314: 00000213 li tp,0 + 80000318: ddaac0b7 lui ra,0xddaac + 8000031c: bcc0809b addiw ra,ra,-1076 + 80000320: 00002117 auipc sp,0x2 + 80000324: ce010113 addi sp,sp,-800 # 80002000 + 80000328: 00000013 nop + 8000032c: 00000013 nop + 80000330: 00112423 sw ra,8(sp) + 80000334: 00812f03 lw t5,8(sp) + 80000338: ddaaceb7 lui t4,0xddaac + 8000033c: bcce8e9b addiw t4,t4,-1076 + 80000340: 25df1063 bne t5,t4,80000580 + 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000348: 00200293 li t0,2 + 8000034c: fc5216e3 bne tp,t0,80000318 + +0000000080000350 : + 80000350: 00f00193 li gp,15 + 80000354: 00000213 li tp,0 + 80000358: cddab0b7 lui ra,0xcddab + 8000035c: bbc0809b addiw ra,ra,-1092 + 80000360: 00000013 nop + 80000364: 00002117 auipc sp,0x2 + 80000368: c9c10113 addi sp,sp,-868 # 80002000 + 8000036c: 00112623 sw ra,12(sp) + 80000370: 00c12f03 lw t5,12(sp) + 80000374: cddabeb7 lui t4,0xcddab + 80000378: bbce8e9b addiw t4,t4,-1092 + 8000037c: 21df1263 bne t5,t4,80000580 + 80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000384: 00200293 li t0,2 + 80000388: fc5218e3 bne tp,t0,80000358 + +000000008000038c : + 8000038c: 01000193 li gp,16 + 80000390: 00000213 li tp,0 + 80000394: ccddb0b7 lui ra,0xccddb + 80000398: abb0809b addiw ra,ra,-1349 + 8000039c: 00000013 nop + 800003a0: 00002117 auipc sp,0x2 + 800003a4: c6010113 addi sp,sp,-928 # 80002000 + 800003a8: 00000013 nop + 800003ac: 00112823 sw ra,16(sp) + 800003b0: 01012f03 lw t5,16(sp) + 800003b4: ccddbeb7 lui t4,0xccddb + 800003b8: abbe8e9b addiw t4,t4,-1349 + 800003bc: 1ddf1263 bne t5,t4,80000580 + 800003c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c4: 00200293 li t0,2 + 800003c8: fc5216e3 bne tp,t0,80000394 + +00000000800003cc : + 800003cc: 01100193 li gp,17 + 800003d0: 00000213 li tp,0 + 800003d4: bccde0b7 lui ra,0xbccde + 800003d8: aab0809b addiw ra,ra,-1365 + 800003dc: 00000013 nop + 800003e0: 00000013 nop + 800003e4: 00002117 auipc sp,0x2 + 800003e8: c1c10113 addi sp,sp,-996 # 80002000 + 800003ec: 00112a23 sw ra,20(sp) + 800003f0: 01412f03 lw t5,20(sp) + 800003f4: bccdeeb7 lui t4,0xbccde + 800003f8: aabe8e9b addiw t4,t4,-1365 + 800003fc: 19df1263 bne t5,t4,80000580 + 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000404: 00200293 li t0,2 + 80000408: fc5216e3 bne tp,t0,800003d4 + +000000008000040c : + 8000040c: 01200193 li gp,18 + 80000410: 00000213 li tp,0 + 80000414: 00002117 auipc sp,0x2 + 80000418: bec10113 addi sp,sp,-1044 # 80002000 + 8000041c: 001120b7 lui ra,0x112 + 80000420: 2330809b addiw ra,ra,563 + 80000424: 00112023 sw ra,0(sp) + 80000428: 00012f03 lw t5,0(sp) + 8000042c: 00112eb7 lui t4,0x112 + 80000430: 233e8e9b addiw t4,t4,563 + 80000434: 15df1663 bne t5,t4,80000580 + 80000438: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000043c: 00200293 li t0,2 + 80000440: fc521ae3 bne tp,t0,80000414 + +0000000080000444 : + 80000444: 01300193 li gp,19 + 80000448: 00000213 li tp,0 + 8000044c: 00002117 auipc sp,0x2 + 80000450: bb410113 addi sp,sp,-1100 # 80002000 + 80000454: 300110b7 lui ra,0x30011 + 80000458: 2230809b addiw ra,ra,547 + 8000045c: 00000013 nop + 80000460: 00112223 sw ra,4(sp) + 80000464: 00412f03 lw t5,4(sp) + 80000468: 30011eb7 lui t4,0x30011 + 8000046c: 223e8e9b addiw t4,t4,547 + 80000470: 11df1863 bne t5,t4,80000580 + 80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000478: 00200293 li t0,2 + 8000047c: fc5218e3 bne tp,t0,8000044c + +0000000080000480 : + 80000480: 01400193 li gp,20 + 80000484: 00000213 li tp,0 + 80000488: 00002117 auipc sp,0x2 + 8000048c: b7810113 addi sp,sp,-1160 # 80002000 + 80000490: 330010b7 lui ra,0x33001 + 80000494: 1220809b addiw ra,ra,290 + 80000498: 00000013 nop + 8000049c: 00000013 nop + 800004a0: 00112423 sw ra,8(sp) + 800004a4: 00812f03 lw t5,8(sp) + 800004a8: 33001eb7 lui t4,0x33001 + 800004ac: 122e8e9b addiw t4,t4,290 + 800004b0: 0ddf1863 bne t5,t4,80000580 + 800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004b8: 00200293 li t0,2 + 800004bc: fc5216e3 bne tp,t0,80000488 + +00000000800004c0 : + 800004c0: 01500193 li gp,21 + 800004c4: 00000213 li tp,0 + 800004c8: 00002117 auipc sp,0x2 + 800004cc: b3810113 addi sp,sp,-1224 # 80002000 + 800004d0: 00000013 nop + 800004d4: 233000b7 lui ra,0x23300 + 800004d8: 1120809b addiw ra,ra,274 + 800004dc: 00112623 sw ra,12(sp) + 800004e0: 00c12f03 lw t5,12(sp) + 800004e4: 23300eb7 lui t4,0x23300 + 800004e8: 112e8e9b addiw t4,t4,274 + 800004ec: 09df1a63 bne t5,t4,80000580 + 800004f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004f4: 00200293 li t0,2 + 800004f8: fc5218e3 bne tp,t0,800004c8 + +00000000800004fc : + 800004fc: 01600193 li gp,22 + 80000500: 00000213 li tp,0 + 80000504: 00002117 auipc sp,0x2 + 80000508: afc10113 addi sp,sp,-1284 # 80002000 + 8000050c: 00000013 nop + 80000510: 223300b7 lui ra,0x22330 + 80000514: 0110809b addiw ra,ra,17 + 80000518: 00000013 nop + 8000051c: 00112823 sw ra,16(sp) + 80000520: 01012f03 lw t5,16(sp) + 80000524: 22330eb7 lui t4,0x22330 + 80000528: 011e8e9b addiw t4,t4,17 + 8000052c: 05df1a63 bne t5,t4,80000580 + 80000530: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000534: 00200293 li t0,2 + 80000538: fc5216e3 bne tp,t0,80000504 + +000000008000053c : + 8000053c: 01700193 li gp,23 + 80000540: 00000213 li tp,0 + 80000544: 00002117 auipc sp,0x2 + 80000548: abc10113 addi sp,sp,-1348 # 80002000 + 8000054c: 00000013 nop + 80000550: 00000013 nop + 80000554: 122330b7 lui ra,0x12233 + 80000558: 0010809b addiw ra,ra,1 + 8000055c: 00112a23 sw ra,20(sp) + 80000560: 01412f03 lw t5,20(sp) + 80000564: 12233eb7 lui t4,0x12233 + 80000568: 001e8e9b addiw t4,t4,1 + 8000056c: 01df1a63 bne t5,t4,80000580 + 80000570: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000574: 00200293 li t0,2 + 80000578: fc5216e3 bne tp,t0,80000544 + 8000057c: 00301c63 bne zero,gp,80000594 + +0000000080000580 : + 80000580: 0ff0000f fence + 80000584: 00018063 beqz gp,80000584 + 80000588: 00119193 slli gp,gp,0x1 + 8000058c: 0011e193 ori gp,gp,1 + 80000590: 00000073 ecall + +0000000080000594 : + 80000594: 0ff0000f fence + 80000598: 00100193 li gp,1 + 8000059c: 00000073 ecall + 800005a0: c0001073 unimp + 800005a4: 0000 unimp + 800005a6: 0000 unimp + 800005a8: 0000 unimp + 800005aa: 0000 unimp + 800005ac: 0000 unimp + 800005ae: 0000 unimp + 800005b0: 0000 unimp + 800005b2: 0000 unimp + 800005b4: 0000 unimp + 800005b6: 0000 unimp + 800005b8: 0000 unimp + 800005ba: 0000 unimp + 800005bc: 0000 unimp + 800005be: 0000 unimp + 800005c0: 0000 unimp + 800005c2: 0000 unimp + +Disassembly of section .data: + +0000000080002000 : + 80002000: deadbeef jal t4,7ffdd5ea <_start-0x22a16> + +0000000080002004 : + 80002004: deadbeef jal t4,7ffdd5ee <_start-0x22a12> + +0000000080002008 : + 80002008: deadbeef jal t4,7ffdd5f2 <_start-0x22a0e> + +000000008000200c : + 8000200c: deadbeef jal t4,7ffdd5f6 <_start-0x22a0a> + +0000000080002010 : + 80002010: deadbeef jal t4,7ffdd5fa <_start-0x22a06> + +0000000080002014 : + 80002014: deadbeef jal t4,7ffdd5fe <_start-0x22a02> + +0000000080002018 : + 80002018: deadbeef jal t4,7ffdd602 <_start-0x229fe> + +000000008000201c : + 8000201c: deadbeef jal t4,7ffdd606 <_start-0x229fa> + +0000000080002020 : + 80002020: deadbeef jal t4,7ffdd60a <_start-0x229f6> + +0000000080002024 : + 80002024: deadbeef jal t4,7ffdd60e <_start-0x229f2> + 80002028: 0000 unimp + 8000202a: 0000 unimp + 8000202c: 0000 unimp + 8000202e: 0000 unimp diff --git a/test/riscv/tests/rv64ui-p-sw.elf b/test/riscv/tests/rv64ui-p-sw.elf new file mode 100755 index 00000000..0b7daaa8 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-sw.elf differ diff --git a/test/riscv/tests/rv64ui-p-xor.dump b/test/riscv/tests/rv64ui-p-xor.dump new file mode 100644 index 00000000..2f6d21b3 --- /dev/null +++ b/test/riscv/tests/rv64ui-p-xor.dump @@ -0,0 +1,527 @@ + +rv64ui-p-xor: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 000100b7 lui ra,0x10 + 80000100: f010809b addiw ra,ra,-255 + 80000104: 01009093 slli ra,ra,0x10 + 80000108: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 8000010c: 0f0f1137 lui sp,0xf0f1 + 80000110: f0f1011b addiw sp,sp,-241 + 80000114: 0020cf33 xor t5,ra,sp + 80000118: 000f0eb7 lui t4,0xf0 + 8000011c: 0ffe8e9b addiw t4,t4,255 + 80000120: 00ce9e93 slli t4,t4,0xc + 80000124: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80000128: 00200193 li gp,2 + 8000012c: 59df1c63 bne t5,t4,800006c4 + +0000000080000130 : + 80000130: 0ff010b7 lui ra,0xff01 + 80000134: ff00809b addiw ra,ra,-16 + 80000138: 000f1137 lui sp,0xf1 + 8000013c: f0f1011b addiw sp,sp,-241 + 80000140: 00c11113 slli sp,sp,0xc + 80000144: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80000148: 0020cf33 xor t5,ra,sp + 8000014c: 00010eb7 lui t4,0x10 + 80000150: f01e8e9b addiw t4,t4,-255 + 80000154: 010e9e93 slli t4,t4,0x10 + 80000158: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 8000015c: 00300193 li gp,3 + 80000160: 57df1263 bne t5,t4,800006c4 + +0000000080000164 : + 80000164: 00ff00b7 lui ra,0xff0 + 80000168: 0ff0809b addiw ra,ra,255 + 8000016c: 0f0f1137 lui sp,0xf0f1 + 80000170: f0f1011b addiw sp,sp,-241 + 80000174: 0020cf33 xor t5,ra,sp + 80000178: 0ff01eb7 lui t4,0xff01 + 8000017c: ff0e8e9b addiw t4,t4,-16 + 80000180: 00400193 li gp,4 + 80000184: 55df1063 bne t5,t4,800006c4 + +0000000080000188 : + 80000188: 000f00b7 lui ra,0xf0 + 8000018c: 0ff0809b addiw ra,ra,255 + 80000190: 00c09093 slli ra,ra,0xc + 80000194: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1> + 80000198: 000f1137 lui sp,0xf1 + 8000019c: f0f1011b addiw sp,sp,-241 + 800001a0: 00c11113 slli sp,sp,0xc + 800001a4: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 800001a8: 0020cf33 xor t5,ra,sp + 800001ac: 00ff0eb7 lui t4,0xff0 + 800001b0: 0ffe8e9b addiw t4,t4,255 + 800001b4: 00500193 li gp,5 + 800001b8: 51df1663 bne t5,t4,800006c4 + +00000000800001bc : + 800001bc: 000100b7 lui ra,0x10 + 800001c0: f010809b addiw ra,ra,-255 + 800001c4: 01009093 slli ra,ra,0x10 + 800001c8: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 800001cc: 0f0f1137 lui sp,0xf0f1 + 800001d0: f0f1011b addiw sp,sp,-241 + 800001d4: 0020c0b3 xor ra,ra,sp + 800001d8: 000f0eb7 lui t4,0xf0 + 800001dc: 0ffe8e9b addiw t4,t4,255 + 800001e0: 00ce9e93 slli t4,t4,0xc + 800001e4: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 800001e8: 00600193 li gp,6 + 800001ec: 4dd09c63 bne ra,t4,800006c4 + +00000000800001f0 : + 800001f0: 000100b7 lui ra,0x10 + 800001f4: f010809b addiw ra,ra,-255 + 800001f8: 01009093 slli ra,ra,0x10 + 800001fc: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000200: 0f0f1137 lui sp,0xf0f1 + 80000204: f0f1011b addiw sp,sp,-241 + 80000208: 0020c133 xor sp,ra,sp + 8000020c: 000f0eb7 lui t4,0xf0 + 80000210: 0ffe8e9b addiw t4,t4,255 + 80000214: 00ce9e93 slli t4,t4,0xc + 80000218: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 8000021c: 00700193 li gp,7 + 80000220: 4bd11263 bne sp,t4,800006c4 + +0000000080000224 : + 80000224: 000100b7 lui ra,0x10 + 80000228: f010809b addiw ra,ra,-255 + 8000022c: 01009093 slli ra,ra,0x10 + 80000230: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000234: 0010c0b3 xor ra,ra,ra + 80000238: 00000e93 li t4,0 + 8000023c: 00800193 li gp,8 + 80000240: 49d09263 bne ra,t4,800006c4 + +0000000080000244 : + 80000244: 00000213 li tp,0 + 80000248: 000100b7 lui ra,0x10 + 8000024c: f010809b addiw ra,ra,-255 + 80000250: 01009093 slli ra,ra,0x10 + 80000254: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000258: 0f0f1137 lui sp,0xf0f1 + 8000025c: f0f1011b addiw sp,sp,-241 + 80000260: 0020cf33 xor t5,ra,sp + 80000264: 000f0313 mv t1,t5 + 80000268: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000026c: 00200293 li t0,2 + 80000270: fc521ce3 bne tp,t0,80000248 + 80000274: 000f0eb7 lui t4,0xf0 + 80000278: 0ffe8e9b addiw t4,t4,255 + 8000027c: 00ce9e93 slli t4,t4,0xc + 80000280: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80000284: 00900193 li gp,9 + 80000288: 43d31e63 bne t1,t4,800006c4 + +000000008000028c : + 8000028c: 00000213 li tp,0 + 80000290: 0ff010b7 lui ra,0xff01 + 80000294: ff00809b addiw ra,ra,-16 + 80000298: 000f1137 lui sp,0xf1 + 8000029c: f0f1011b addiw sp,sp,-241 + 800002a0: 00c11113 slli sp,sp,0xc + 800002a4: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 800002a8: 0020cf33 xor t5,ra,sp + 800002ac: 00000013 nop + 800002b0: 000f0313 mv t1,t5 + 800002b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002b8: 00200293 li t0,2 + 800002bc: fc521ae3 bne tp,t0,80000290 + 800002c0: 00010eb7 lui t4,0x10 + 800002c4: f01e8e9b addiw t4,t4,-255 + 800002c8: 010e9e93 slli t4,t4,0x10 + 800002cc: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 800002d0: 00a00193 li gp,10 + 800002d4: 3fd31863 bne t1,t4,800006c4 + +00000000800002d8 : + 800002d8: 00000213 li tp,0 + 800002dc: 00ff00b7 lui ra,0xff0 + 800002e0: 0ff0809b addiw ra,ra,255 + 800002e4: 0f0f1137 lui sp,0xf0f1 + 800002e8: f0f1011b addiw sp,sp,-241 + 800002ec: 0020cf33 xor t5,ra,sp + 800002f0: 00000013 nop + 800002f4: 00000013 nop + 800002f8: 000f0313 mv t1,t5 + 800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000300: 00200293 li t0,2 + 80000304: fc521ce3 bne tp,t0,800002dc + 80000308: 0ff01eb7 lui t4,0xff01 + 8000030c: ff0e8e9b addiw t4,t4,-16 + 80000310: 00b00193 li gp,11 + 80000314: 3bd31863 bne t1,t4,800006c4 + +0000000080000318 : + 80000318: 00000213 li tp,0 + 8000031c: 000100b7 lui ra,0x10 + 80000320: f010809b addiw ra,ra,-255 + 80000324: 01009093 slli ra,ra,0x10 + 80000328: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 8000032c: 0f0f1137 lui sp,0xf0f1 + 80000330: f0f1011b addiw sp,sp,-241 + 80000334: 0020cf33 xor t5,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: 0ffe8e9b addiw t4,t4,255 + 8000034c: 00ce9e93 slli t4,t4,0xc + 80000350: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80000354: 00c00193 li gp,12 + 80000358: 37df1663 bne t5,t4,800006c4 + +000000008000035c : + 8000035c: 00000213 li tp,0 + 80000360: 0ff010b7 lui ra,0xff01 + 80000364: ff00809b addiw ra,ra,-16 + 80000368: 000f1137 lui sp,0xf1 + 8000036c: f0f1011b addiw sp,sp,-241 + 80000370: 00c11113 slli sp,sp,0xc + 80000374: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80000378: 00000013 nop + 8000037c: 0020cf33 xor t5,ra,sp + 80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000384: 00200293 li t0,2 + 80000388: fc521ce3 bne tp,t0,80000360 + 8000038c: 00010eb7 lui t4,0x10 + 80000390: f01e8e9b addiw t4,t4,-255 + 80000394: 010e9e93 slli t4,t4,0x10 + 80000398: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 8000039c: 00d00193 li gp,13 + 800003a0: 33df1263 bne t5,t4,800006c4 + +00000000800003a4 : + 800003a4: 00000213 li tp,0 + 800003a8: 00ff00b7 lui ra,0xff0 + 800003ac: 0ff0809b addiw ra,ra,255 + 800003b0: 0f0f1137 lui sp,0xf0f1 + 800003b4: f0f1011b addiw sp,sp,-241 + 800003b8: 00000013 nop + 800003bc: 00000013 nop + 800003c0: 0020cf33 xor t5,ra,sp + 800003c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c8: 00200293 li t0,2 + 800003cc: fc521ee3 bne tp,t0,800003a8 + 800003d0: 0ff01eb7 lui t4,0xff01 + 800003d4: ff0e8e9b addiw t4,t4,-16 + 800003d8: 00e00193 li gp,14 + 800003dc: 2fdf1463 bne t5,t4,800006c4 + +00000000800003e0 : + 800003e0: 00000213 li tp,0 + 800003e4: 000100b7 lui ra,0x10 + 800003e8: f010809b addiw ra,ra,-255 + 800003ec: 01009093 slli ra,ra,0x10 + 800003f0: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 800003f4: 00000013 nop + 800003f8: 0f0f1137 lui sp,0xf0f1 + 800003fc: f0f1011b addiw sp,sp,-241 + 80000400: 0020cf33 xor t5,ra,sp + 80000404: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000408: 00200293 li t0,2 + 8000040c: fc521ce3 bne tp,t0,800003e4 + 80000410: 000f0eb7 lui t4,0xf0 + 80000414: 0ffe8e9b addiw t4,t4,255 + 80000418: 00ce9e93 slli t4,t4,0xc + 8000041c: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 80000420: 00f00193 li gp,15 + 80000424: 2bdf1063 bne t5,t4,800006c4 + +0000000080000428 : + 80000428: 00000213 li tp,0 + 8000042c: 0ff010b7 lui ra,0xff01 + 80000430: ff00809b addiw ra,ra,-16 + 80000434: 00000013 nop + 80000438: 000f1137 lui sp,0xf1 + 8000043c: f0f1011b addiw sp,sp,-241 + 80000440: 00c11113 slli sp,sp,0xc + 80000444: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80000448: 00000013 nop + 8000044c: 0020cf33 xor t5,ra,sp + 80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000454: 00200293 li t0,2 + 80000458: fc521ae3 bne tp,t0,8000042c + 8000045c: 00010eb7 lui t4,0x10 + 80000460: f01e8e9b addiw t4,t4,-255 + 80000464: 010e9e93 slli t4,t4,0x10 + 80000468: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 8000046c: 01000193 li gp,16 + 80000470: 25df1a63 bne t5,t4,800006c4 + +0000000080000474 : + 80000474: 00000213 li tp,0 + 80000478: 00ff00b7 lui ra,0xff0 + 8000047c: 0ff0809b addiw ra,ra,255 + 80000480: 00000013 nop + 80000484: 00000013 nop + 80000488: 0f0f1137 lui sp,0xf0f1 + 8000048c: f0f1011b addiw sp,sp,-241 + 80000490: 0020cf33 xor t5,ra,sp + 80000494: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000498: 00200293 li t0,2 + 8000049c: fc521ee3 bne tp,t0,80000478 + 800004a0: 0ff01eb7 lui t4,0xff01 + 800004a4: ff0e8e9b addiw t4,t4,-16 + 800004a8: 01100193 li gp,17 + 800004ac: 21df1c63 bne t5,t4,800006c4 + +00000000800004b0 : + 800004b0: 00000213 li tp,0 + 800004b4: 0f0f1137 lui sp,0xf0f1 + 800004b8: f0f1011b addiw sp,sp,-241 + 800004bc: 000100b7 lui ra,0x10 + 800004c0: f010809b addiw ra,ra,-255 + 800004c4: 01009093 slli ra,ra,0x10 + 800004c8: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 800004cc: 0020cf33 xor t5,ra,sp + 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d4: 00200293 li t0,2 + 800004d8: fc521ee3 bne tp,t0,800004b4 + 800004dc: 000f0eb7 lui t4,0xf0 + 800004e0: 0ffe8e9b addiw t4,t4,255 + 800004e4: 00ce9e93 slli t4,t4,0xc + 800004e8: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 800004ec: 01200193 li gp,18 + 800004f0: 1ddf1a63 bne t5,t4,800006c4 + +00000000800004f4 : + 800004f4: 00000213 li tp,0 + 800004f8: 000f1137 lui sp,0xf1 + 800004fc: f0f1011b addiw sp,sp,-241 + 80000500: 00c11113 slli sp,sp,0xc + 80000504: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 80000508: 0ff010b7 lui ra,0xff01 + 8000050c: ff00809b addiw ra,ra,-16 + 80000510: 00000013 nop + 80000514: 0020cf33 xor t5,ra,sp + 80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000051c: 00200293 li t0,2 + 80000520: fc521ce3 bne tp,t0,800004f8 + 80000524: 00010eb7 lui t4,0x10 + 80000528: f01e8e9b addiw t4,t4,-255 + 8000052c: 010e9e93 slli t4,t4,0x10 + 80000530: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80000534: 01300193 li gp,19 + 80000538: 19df1663 bne t5,t4,800006c4 + +000000008000053c : + 8000053c: 00000213 li tp,0 + 80000540: 0f0f1137 lui sp,0xf0f1 + 80000544: f0f1011b addiw sp,sp,-241 + 80000548: 00ff00b7 lui ra,0xff0 + 8000054c: 0ff0809b addiw ra,ra,255 + 80000550: 00000013 nop + 80000554: 00000013 nop + 80000558: 0020cf33 xor t5,ra,sp + 8000055c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000560: 00200293 li t0,2 + 80000564: fc521ee3 bne tp,t0,80000540 + 80000568: 0ff01eb7 lui t4,0xff01 + 8000056c: ff0e8e9b addiw t4,t4,-16 + 80000570: 01400193 li gp,20 + 80000574: 15df1863 bne t5,t4,800006c4 + +0000000080000578 : + 80000578: 00000213 li tp,0 + 8000057c: 0f0f1137 lui sp,0xf0f1 + 80000580: f0f1011b addiw sp,sp,-241 + 80000584: 00000013 nop + 80000588: 000100b7 lui ra,0x10 + 8000058c: f010809b addiw ra,ra,-255 + 80000590: 01009093 slli ra,ra,0x10 + 80000594: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000598: 0020cf33 xor t5,ra,sp + 8000059c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005a0: 00200293 li t0,2 + 800005a4: fc521ce3 bne tp,t0,8000057c + 800005a8: 000f0eb7 lui t4,0xf0 + 800005ac: 0ffe8e9b addiw t4,t4,255 + 800005b0: 00ce9e93 slli t4,t4,0xc + 800005b4: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> + 800005b8: 01500193 li gp,21 + 800005bc: 11df1463 bne t5,t4,800006c4 + +00000000800005c0 : + 800005c0: 00000213 li tp,0 + 800005c4: 000f1137 lui sp,0xf1 + 800005c8: f0f1011b addiw sp,sp,-241 + 800005cc: 00c11113 slli sp,sp,0xc + 800005d0: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10> + 800005d4: 00000013 nop + 800005d8: 0ff010b7 lui ra,0xff01 + 800005dc: ff00809b addiw ra,ra,-16 + 800005e0: 00000013 nop + 800005e4: 0020cf33 xor t5,ra,sp + 800005e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005ec: 00200293 li t0,2 + 800005f0: fc521ae3 bne tp,t0,800005c4 + 800005f4: 00010eb7 lui t4,0x10 + 800005f8: f01e8e9b addiw t4,t4,-255 + 800005fc: 010e9e93 slli t4,t4,0x10 + 80000600: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 80000604: 01600193 li gp,22 + 80000608: 0bdf1e63 bne t5,t4,800006c4 + +000000008000060c : + 8000060c: 00000213 li tp,0 + 80000610: 0f0f1137 lui sp,0xf0f1 + 80000614: f0f1011b addiw sp,sp,-241 + 80000618: 00000013 nop + 8000061c: 00000013 nop + 80000620: 00ff00b7 lui ra,0xff0 + 80000624: 0ff0809b addiw ra,ra,255 + 80000628: 0020cf33 xor t5,ra,sp + 8000062c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000630: 00200293 li t0,2 + 80000634: fc521ee3 bne tp,t0,80000610 + 80000638: 0ff01eb7 lui t4,0xff01 + 8000063c: ff0e8e9b addiw t4,t4,-16 + 80000640: 01700193 li gp,23 + 80000644: 09df1063 bne t5,t4,800006c4 + +0000000080000648 : + 80000648: 000100b7 lui ra,0x10 + 8000064c: f010809b addiw ra,ra,-255 + 80000650: 01009093 slli ra,ra,0x10 + 80000654: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100> + 80000658: 00104133 xor sp,zero,ra + 8000065c: 00010eb7 lui t4,0x10 + 80000660: f01e8e9b addiw t4,t4,-255 + 80000664: 010e9e93 slli t4,t4,0x10 + 80000668: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> + 8000066c: 01800193 li gp,24 + 80000670: 05d11a63 bne sp,t4,800006c4 + +0000000080000674 : + 80000674: 00ff00b7 lui ra,0xff0 + 80000678: 0ff0809b addiw ra,ra,255 + 8000067c: 0000c133 xor sp,ra,zero + 80000680: 00ff0eb7 lui t4,0xff0 + 80000684: 0ffe8e9b addiw t4,t4,255 + 80000688: 01900193 li gp,25 + 8000068c: 03d11c63 bne sp,t4,800006c4 + +0000000080000690 : + 80000690: 000040b3 xor ra,zero,zero + 80000694: 00000e93 li t4,0 + 80000698: 01a00193 li gp,26 + 8000069c: 03d09463 bne ra,t4,800006c4 + +00000000800006a0 : + 800006a0: 111110b7 lui ra,0x11111 + 800006a4: 1110809b addiw ra,ra,273 + 800006a8: 22222137 lui sp,0x22222 + 800006ac: 2221011b addiw sp,sp,546 + 800006b0: 0020c033 xor zero,ra,sp + 800006b4: 00000e93 li t4,0 + 800006b8: 01b00193 li gp,27 + 800006bc: 01d01463 bne zero,t4,800006c4 + 800006c0: 00301c63 bne zero,gp,800006d8 + +00000000800006c4 : + 800006c4: 0ff0000f fence + 800006c8: 00018063 beqz gp,800006c8 + 800006cc: 00119193 slli gp,gp,0x1 + 800006d0: 0011e193 ori gp,gp,1 + 800006d4: 00000073 ecall + +00000000800006d8 : + 800006d8: 0ff0000f fence + 800006dc: 00100193 li gp,1 + 800006e0: 00000073 ecall + 800006e4: c0001073 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/test/riscv/tests/rv64ui-p-xor.elf b/test/riscv/tests/rv64ui-p-xor.elf new file mode 100755 index 00000000..e610fc9c Binary files /dev/null and b/test/riscv/tests/rv64ui-p-xor.elf differ diff --git a/test/riscv/tests/rv64ui-p-xori.dump b/test/riscv/tests/rv64ui-p-xori.dump new file mode 100644 index 00000000..12f6997d --- /dev/null +++ b/test/riscv/tests/rv64ui-p-xori.dump @@ -0,0 +1,238 @@ + +rv64ui-p-xori: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00ff10b7 lui ra,0xff1 + 80000100: f000809b addiw ra,ra,-256 + 80000104: f0f0cf13 xori t5,ra,-241 + 80000108: ff00feb7 lui t4,0xff00f + 8000010c: 00fe8e9b addiw t4,t4,15 + 80000110: 00200193 li gp,2 + 80000114: 1ddf1663 bne t5,t4,800002e0 + +0000000080000118 : + 80000118: 0ff010b7 lui ra,0xff01 + 8000011c: ff00809b addiw ra,ra,-16 + 80000120: 0f00cf13 xori t5,ra,240 + 80000124: 0ff01eb7 lui t4,0xff01 + 80000128: f00e8e9b addiw t4,t4,-256 + 8000012c: 00300193 li gp,3 + 80000130: 1bdf1863 bne t5,t4,800002e0 + +0000000080000134 : + 80000134: 00ff10b7 lui ra,0xff1 + 80000138: 8ff0809b addiw ra,ra,-1793 + 8000013c: 70f0cf13 xori t5,ra,1807 + 80000140: 00ff1eb7 lui t4,0xff1 + 80000144: ff0e8e9b addiw t4,t4,-16 + 80000148: 00400193 li gp,4 + 8000014c: 19df1a63 bne t5,t4,800002e0 + +0000000080000150 : + 80000150: f00ff0b7 lui ra,0xf00ff + 80000154: 00f0809b addiw ra,ra,15 + 80000158: 0f00cf13 xori t5,ra,240 + 8000015c: f00ffeb7 lui t4,0xf00ff + 80000160: 0ffe8e9b addiw t4,t4,255 + 80000164: 00500193 li gp,5 + 80000168: 17df1c63 bne t5,t4,800002e0 + +000000008000016c : + 8000016c: ff00f0b7 lui ra,0xff00f + 80000170: 7000809b addiw ra,ra,1792 + 80000174: 70f0c093 xori ra,ra,1807 + 80000178: ff00feb7 lui t4,0xff00f + 8000017c: 00fe8e9b addiw t4,t4,15 + 80000180: 00600193 li gp,6 + 80000184: 15d09e63 bne ra,t4,800002e0 + +0000000080000188 : + 80000188: 00000213 li tp,0 + 8000018c: 0ff010b7 lui ra,0xff01 + 80000190: ff00809b addiw ra,ra,-16 + 80000194: 0f00cf13 xori t5,ra,240 + 80000198: 000f0313 mv t1,t5 + 8000019c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800001a0: 00200293 li t0,2 + 800001a4: fe5214e3 bne tp,t0,8000018c + 800001a8: 0ff01eb7 lui t4,0xff01 + 800001ac: f00e8e9b addiw t4,t4,-256 + 800001b0: 00700193 li gp,7 + 800001b4: 13d31663 bne t1,t4,800002e0 + +00000000800001b8 : + 800001b8: 00000213 li tp,0 + 800001bc: 00ff10b7 lui ra,0xff1 + 800001c0: 8ff0809b addiw ra,ra,-1793 + 800001c4: 70f0cf13 xori t5,ra,1807 + 800001c8: 00000013 nop + 800001cc: 000f0313 mv t1,t5 + 800001d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800001d4: 00200293 li t0,2 + 800001d8: fe5212e3 bne tp,t0,800001bc + 800001dc: 00ff1eb7 lui t4,0xff1 + 800001e0: ff0e8e9b addiw t4,t4,-16 + 800001e4: 00800193 li gp,8 + 800001e8: 0fd31c63 bne t1,t4,800002e0 + +00000000800001ec : + 800001ec: 00000213 li tp,0 + 800001f0: f00ff0b7 lui ra,0xf00ff + 800001f4: 00f0809b addiw ra,ra,15 + 800001f8: 0f00cf13 xori t5,ra,240 + 800001fc: 00000013 nop + 80000200: 00000013 nop + 80000204: 000f0313 mv t1,t5 + 80000208: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000020c: 00200293 li t0,2 + 80000210: fe5210e3 bne tp,t0,800001f0 + 80000214: f00ffeb7 lui t4,0xf00ff + 80000218: 0ffe8e9b addiw t4,t4,255 + 8000021c: 00900193 li gp,9 + 80000220: 0dd31063 bne t1,t4,800002e0 + +0000000080000224 : + 80000224: 00000213 li tp,0 + 80000228: 0ff010b7 lui ra,0xff01 + 8000022c: ff00809b addiw ra,ra,-16 + 80000230: 0f00cf13 xori t5,ra,240 + 80000234: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000238: 00200293 li t0,2 + 8000023c: fe5216e3 bne tp,t0,80000228 + 80000240: 0ff01eb7 lui t4,0xff01 + 80000244: f00e8e9b addiw t4,t4,-256 + 80000248: 00a00193 li gp,10 + 8000024c: 09df1a63 bne t5,t4,800002e0 + +0000000080000250 : + 80000250: 00000213 li tp,0 + 80000254: 00ff10b7 lui ra,0xff1 + 80000258: fff0809b addiw ra,ra,-1 + 8000025c: 00000013 nop + 80000260: 00f0cf13 xori t5,ra,15 + 80000264: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000268: 00200293 li t0,2 + 8000026c: fe5214e3 bne tp,t0,80000254 + 80000270: 00ff1eb7 lui t4,0xff1 + 80000274: ff0e8e9b addiw t4,t4,-16 + 80000278: 00b00193 li gp,11 + 8000027c: 07df1263 bne t5,t4,800002e0 + +0000000080000280 : + 80000280: 00000213 li tp,0 + 80000284: f00ff0b7 lui ra,0xf00ff + 80000288: 00f0809b addiw ra,ra,15 + 8000028c: 00000013 nop + 80000290: 00000013 nop + 80000294: 0f00cf13 xori t5,ra,240 + 80000298: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000029c: 00200293 li t0,2 + 800002a0: fe5212e3 bne tp,t0,80000284 + 800002a4: f00ffeb7 lui t4,0xf00ff + 800002a8: 0ffe8e9b addiw t4,t4,255 + 800002ac: 00c00193 li gp,12 + 800002b0: 03df1863 bne t5,t4,800002e0 + +00000000800002b4 : + 800002b4: 0f004093 xori ra,zero,240 + 800002b8: 0f000e93 li t4,240 + 800002bc: 00d00193 li gp,13 + 800002c0: 03d09063 bne ra,t4,800002e0 + +00000000800002c4 : + 800002c4: 00ff00b7 lui ra,0xff0 + 800002c8: 0ff0809b addiw ra,ra,255 + 800002cc: 70f0c013 xori zero,ra,1807 + 800002d0: 00000e93 li t4,0 + 800002d4: 00e00193 li gp,14 + 800002d8: 01d01463 bne zero,t4,800002e0 + 800002dc: 00301c63 bne zero,gp,800002f4 + +00000000800002e0 : + 800002e0: 0ff0000f fence + 800002e4: 00018063 beqz gp,800002e4 + 800002e8: 00119193 slli gp,gp,0x1 + 800002ec: 0011e193 ori gp,gp,1 + 800002f0: 00000073 ecall + +00000000800002f4 : + 800002f4: 0ff0000f fence + 800002f8: 00100193 li gp,1 + 800002fc: 00000073 ecall + 80000300: c0001073 unimp diff --git a/test/riscv/tests/rv64ui-p-xori.elf b/test/riscv/tests/rv64ui-p-xori.elf new file mode 100755 index 00000000..4e8f1fd3 Binary files /dev/null and b/test/riscv/tests/rv64ui-p-xori.elf differ diff --git a/test/riscv/tests/rv64um-p-div.dump b/test/riscv/tests/rv64um-p-div.dump new file mode 100644 index 00000000..b117c5cd --- /dev/null +++ b/test/riscv/tests/rv64um-p-div.dump @@ -0,0 +1,195 @@ + +rv64um-p-div: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 01400093 li ra,20 + 80000100: 00600113 li sp,6 + 80000104: 0220cf33 div t5,ra,sp + 80000108: 00300e93 li t4,3 + 8000010c: 00200193 li gp,2 + 80000110: 0ddf1e63 bne t5,t4,800001ec + +0000000080000114 : + 80000114: fec00093 li ra,-20 + 80000118: 00600113 li sp,6 + 8000011c: 0220cf33 div t5,ra,sp + 80000120: ffd00e93 li t4,-3 + 80000124: 00300193 li gp,3 + 80000128: 0ddf1263 bne t5,t4,800001ec + +000000008000012c : + 8000012c: 01400093 li ra,20 + 80000130: ffa00113 li sp,-6 + 80000134: 0220cf33 div t5,ra,sp + 80000138: ffd00e93 li t4,-3 + 8000013c: 00400193 li gp,4 + 80000140: 0bdf1663 bne t5,t4,800001ec + +0000000080000144 : + 80000144: fec00093 li ra,-20 + 80000148: ffa00113 li sp,-6 + 8000014c: 0220cf33 div t5,ra,sp + 80000150: 00300e93 li t4,3 + 80000154: 00500193 li gp,5 + 80000158: 09df1a63 bne t5,t4,800001ec + +000000008000015c : + 8000015c: fff0009b addiw ra,zero,-1 + 80000160: 03f09093 slli ra,ra,0x3f + 80000164: 00100113 li sp,1 + 80000168: 0220cf33 div t5,ra,sp + 8000016c: fff00e9b addiw t4,zero,-1 + 80000170: 03fe9e93 slli t4,t4,0x3f + 80000174: 00600193 li gp,6 + 80000178: 07df1a63 bne t5,t4,800001ec + +000000008000017c : + 8000017c: fff0009b addiw ra,zero,-1 + 80000180: 03f09093 slli ra,ra,0x3f + 80000184: fff00113 li sp,-1 + 80000188: 0220cf33 div t5,ra,sp + 8000018c: fff00e9b addiw t4,zero,-1 + 80000190: 03fe9e93 slli t4,t4,0x3f + 80000194: 00700193 li gp,7 + 80000198: 05df1a63 bne t5,t4,800001ec + +000000008000019c : + 8000019c: fff0009b addiw ra,zero,-1 + 800001a0: 03f09093 slli ra,ra,0x3f + 800001a4: 00000113 li sp,0 + 800001a8: 0220cf33 div t5,ra,sp + 800001ac: fff00e93 li t4,-1 + 800001b0: 00800193 li gp,8 + 800001b4: 03df1c63 bne t5,t4,800001ec + +00000000800001b8 : + 800001b8: 00100093 li ra,1 + 800001bc: 00000113 li sp,0 + 800001c0: 0220cf33 div t5,ra,sp + 800001c4: fff00e93 li t4,-1 + 800001c8: 00900193 li gp,9 + 800001cc: 03df1063 bne t5,t4,800001ec + +00000000800001d0 : + 800001d0: 00000093 li ra,0 + 800001d4: 00000113 li sp,0 + 800001d8: 0220cf33 div t5,ra,sp + 800001dc: fff00e93 li t4,-1 + 800001e0: 00a00193 li gp,10 + 800001e4: 01df1463 bne t5,t4,800001ec + 800001e8: 00301c63 bne zero,gp,80000200 + +00000000800001ec : + 800001ec: 0ff0000f fence + 800001f0: 00018063 beqz gp,800001f0 + 800001f4: 00119193 slli gp,gp,0x1 + 800001f8: 0011e193 ori gp,gp,1 + 800001fc: 00000073 ecall + +0000000080000200 : + 80000200: 0ff0000f fence + 80000204: 00100193 li gp,1 + 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/test/riscv/tests/rv64um-p-div.elf b/test/riscv/tests/rv64um-p-div.elf new file mode 100755 index 00000000..f8df5452 Binary files /dev/null and b/test/riscv/tests/rv64um-p-div.elf differ diff --git a/test/riscv/tests/rv64um-p-divu.dump b/test/riscv/tests/rv64um-p-divu.dump new file mode 100644 index 00000000..f987025d --- /dev/null +++ b/test/riscv/tests/rv64um-p-divu.dump @@ -0,0 +1,189 @@ + +rv64um-p-divu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 01400093 li ra,20 + 80000100: 00600113 li sp,6 + 80000104: 0220df33 divu t5,ra,sp + 80000108: 00300e93 li t4,3 + 8000010c: 00200193 li gp,2 + 80000110: 0fdf1a63 bne t5,t4,80000204 + +0000000080000114 : + 80000114: fec00093 li ra,-20 + 80000118: 00600113 li sp,6 + 8000011c: 0220df33 divu t5,ra,sp + 80000120: 02aabeb7 lui t4,0x2aab + 80000124: aabe8e9b addiw t4,t4,-1365 + 80000128: 00ce9e93 slli t4,t4,0xc + 8000012c: aabe8e93 addi t4,t4,-1365 # 2aaaaab <_start-0x7d555555> + 80000130: 00ce9e93 slli t4,t4,0xc + 80000134: aabe8e93 addi t4,t4,-1365 + 80000138: 00ce9e93 slli t4,t4,0xc + 8000013c: aa7e8e93 addi t4,t4,-1369 + 80000140: 00300193 li gp,3 + 80000144: 0ddf1063 bne t5,t4,80000204 + +0000000080000148 : + 80000148: 01400093 li ra,20 + 8000014c: ffa00113 li sp,-6 + 80000150: 0220df33 divu t5,ra,sp + 80000154: 00000e93 li t4,0 + 80000158: 00400193 li gp,4 + 8000015c: 0bdf1463 bne t5,t4,80000204 + +0000000080000160 : + 80000160: fec00093 li ra,-20 + 80000164: ffa00113 li sp,-6 + 80000168: 0220df33 divu t5,ra,sp + 8000016c: 00000e93 li t4,0 + 80000170: 00500193 li gp,5 + 80000174: 09df1863 bne t5,t4,80000204 + +0000000080000178 : + 80000178: fff0009b addiw ra,zero,-1 + 8000017c: 03f09093 slli ra,ra,0x3f + 80000180: 00100113 li sp,1 + 80000184: 0220df33 divu t5,ra,sp + 80000188: fff00e9b addiw t4,zero,-1 + 8000018c: 03fe9e93 slli t4,t4,0x3f + 80000190: 00600193 li gp,6 + 80000194: 07df1863 bne t5,t4,80000204 + +0000000080000198 : + 80000198: fff0009b addiw ra,zero,-1 + 8000019c: 03f09093 slli ra,ra,0x3f + 800001a0: fff00113 li sp,-1 + 800001a4: 0220df33 divu t5,ra,sp + 800001a8: 00000e93 li t4,0 + 800001ac: 00700193 li gp,7 + 800001b0: 05df1a63 bne t5,t4,80000204 + +00000000800001b4 : + 800001b4: fff0009b addiw ra,zero,-1 + 800001b8: 03f09093 slli ra,ra,0x3f + 800001bc: 00000113 li sp,0 + 800001c0: 0220df33 divu t5,ra,sp + 800001c4: fff00e93 li t4,-1 + 800001c8: 00800193 li gp,8 + 800001cc: 03df1c63 bne t5,t4,80000204 + +00000000800001d0 : + 800001d0: 00100093 li ra,1 + 800001d4: 00000113 li sp,0 + 800001d8: 0220df33 divu t5,ra,sp + 800001dc: fff00e93 li t4,-1 + 800001e0: 00900193 li gp,9 + 800001e4: 03df1063 bne t5,t4,80000204 + +00000000800001e8 : + 800001e8: 00000093 li ra,0 + 800001ec: 00000113 li sp,0 + 800001f0: 0220df33 divu t5,ra,sp + 800001f4: fff00e93 li t4,-1 + 800001f8: 00a00193 li gp,10 + 800001fc: 01df1463 bne t5,t4,80000204 + 80000200: 00301c63 bne zero,gp,80000218 + +0000000080000204 : + 80000204: 0ff0000f fence + 80000208: 00018063 beqz gp,80000208 + 8000020c: 00119193 slli gp,gp,0x1 + 80000210: 0011e193 ori gp,gp,1 + 80000214: 00000073 ecall + +0000000080000218 : + 80000218: 0ff0000f fence + 8000021c: 00100193 li gp,1 + 80000220: 00000073 ecall + 80000224: c0001073 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/test/riscv/tests/rv64um-p-divu.elf b/test/riscv/tests/rv64um-p-divu.elf new file mode 100755 index 00000000..d02748e3 Binary files /dev/null and b/test/riscv/tests/rv64um-p-divu.elf differ diff --git a/test/riscv/tests/rv64um-p-divuw.dump b/test/riscv/tests/rv64um-p-divuw.dump new file mode 100644 index 00000000..576f2638 --- /dev/null +++ b/test/riscv/tests/rv64um-p-divuw.dump @@ -0,0 +1,197 @@ + +rv64um-p-divuw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 01400093 li ra,20 + 80000100: 00600113 li sp,6 + 80000104: 0220df3b divuw t5,ra,sp + 80000108: 00300e93 li t4,3 + 8000010c: 00200193 li gp,2 + 80000110: 0ddf1a63 bne t5,t4,800001e4 + +0000000080000114 : + 80000114: 0010009b addiw ra,zero,1 + 80000118: 02009093 slli ra,ra,0x20 + 8000011c: fec08093 addi ra,ra,-20 + 80000120: 00600113 li sp,6 + 80000124: 0220df3b divuw t5,ra,sp + 80000128: 2aaabeb7 lui t4,0x2aaab + 8000012c: aa7e8e9b addiw t4,t4,-1369 + 80000130: 00300193 li gp,3 + 80000134: 0bdf1863 bne t5,t4,800001e4 + +0000000080000138 : + 80000138: 01400093 li ra,20 + 8000013c: ffa00113 li sp,-6 + 80000140: 0220df3b divuw t5,ra,sp + 80000144: 00000e93 li t4,0 + 80000148: 00400193 li gp,4 + 8000014c: 09df1c63 bne t5,t4,800001e4 + +0000000080000150 : + 80000150: fec00093 li ra,-20 + 80000154: ffa00113 li sp,-6 + 80000158: 0220df3b divuw t5,ra,sp + 8000015c: 00000e93 li t4,0 + 80000160: 00500193 li gp,5 + 80000164: 09df1063 bne t5,t4,800001e4 + +0000000080000168 : + 80000168: 800000b7 lui ra,0x80000 + 8000016c: 00100113 li sp,1 + 80000170: 0220df3b divuw t5,ra,sp + 80000174: 80000eb7 lui t4,0x80000 + 80000178: 00600193 li gp,6 + 8000017c: 07df1463 bne t5,t4,800001e4 + +0000000080000180 : + 80000180: 800000b7 lui ra,0x80000 + 80000184: fff00113 li sp,-1 + 80000188: 0220df3b divuw t5,ra,sp + 8000018c: 00000e93 li t4,0 + 80000190: 00700193 li gp,7 + 80000194: 05df1863 bne t5,t4,800001e4 + +0000000080000198 : + 80000198: 800000b7 lui ra,0x80000 + 8000019c: 00000113 li sp,0 + 800001a0: 0220df3b divuw t5,ra,sp + 800001a4: fff00e93 li t4,-1 + 800001a8: 00800193 li gp,8 + 800001ac: 03df1c63 bne t5,t4,800001e4 + +00000000800001b0 : + 800001b0: 00100093 li ra,1 + 800001b4: 00000113 li sp,0 + 800001b8: 0220df3b divuw t5,ra,sp + 800001bc: fff00e93 li t4,-1 + 800001c0: 00900193 li gp,9 + 800001c4: 03df1063 bne t5,t4,800001e4 + +00000000800001c8 : + 800001c8: 00000093 li ra,0 + 800001cc: 00000113 li sp,0 + 800001d0: 0220df3b divuw t5,ra,sp + 800001d4: fff00e93 li t4,-1 + 800001d8: 00a00193 li gp,10 + 800001dc: 01df1463 bne t5,t4,800001e4 + 800001e0: 00301c63 bne zero,gp,800001f8 + +00000000800001e4 : + 800001e4: 0ff0000f fence + 800001e8: 00018063 beqz gp,800001e8 + 800001ec: 00119193 slli gp,gp,0x1 + 800001f0: 0011e193 ori gp,gp,1 + 800001f4: 00000073 ecall + +00000000800001f8 : + 800001f8: 0ff0000f fence + 800001fc: 00100193 li gp,1 + 80000200: 00000073 ecall + 80000204: c0001073 unimp + 80000208: 0000 unimp + 8000020a: 0000 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 + 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/test/riscv/tests/rv64um-p-divuw.elf b/test/riscv/tests/rv64um-p-divuw.elf new file mode 100755 index 00000000..b0da149b Binary files /dev/null and b/test/riscv/tests/rv64um-p-divuw.elf differ diff --git a/test/riscv/tests/rv64um-p-divw.dump b/test/riscv/tests/rv64um-p-divw.dump new file mode 100644 index 00000000..2d331a94 --- /dev/null +++ b/test/riscv/tests/rv64um-p-divw.dump @@ -0,0 +1,168 @@ + +rv64um-p-divw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 01400093 li ra,20 + 80000100: 00600113 li sp,6 + 80000104: 0220cf3b divw t5,ra,sp + 80000108: 00300e93 li t4,3 + 8000010c: 00200193 li gp,2 + 80000110: 0ddf1463 bne t5,t4,800001d8 + +0000000080000114 : + 80000114: fec00093 li ra,-20 + 80000118: 00600113 li sp,6 + 8000011c: 0220cf3b divw t5,ra,sp + 80000120: ffd00e93 li t4,-3 + 80000124: 00300193 li gp,3 + 80000128: 0bdf1863 bne t5,t4,800001d8 + +000000008000012c : + 8000012c: 01400093 li ra,20 + 80000130: ffa00113 li sp,-6 + 80000134: 0220cf3b divw t5,ra,sp + 80000138: ffd00e93 li t4,-3 + 8000013c: 00400193 li gp,4 + 80000140: 09df1c63 bne t5,t4,800001d8 + +0000000080000144 : + 80000144: fec00093 li ra,-20 + 80000148: ffa00113 li sp,-6 + 8000014c: 0220cf3b divw t5,ra,sp + 80000150: 00300e93 li t4,3 + 80000154: 00500193 li gp,5 + 80000158: 09df1063 bne t5,t4,800001d8 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00100113 li sp,1 + 80000164: 0220cf3b divw t5,ra,sp + 80000168: 80000eb7 lui t4,0x80000 + 8000016c: 00600193 li gp,6 + 80000170: 07df1463 bne t5,t4,800001d8 + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: fff00113 li sp,-1 + 8000017c: 0220cf3b divw t5,ra,sp + 80000180: 80000eb7 lui t4,0x80000 + 80000184: 00700193 li gp,7 + 80000188: 05df1863 bne t5,t4,800001d8 + +000000008000018c : + 8000018c: 800000b7 lui ra,0x80000 + 80000190: 00000113 li sp,0 + 80000194: 0220cf3b divw t5,ra,sp + 80000198: fff00e93 li t4,-1 + 8000019c: 00800193 li gp,8 + 800001a0: 03df1c63 bne t5,t4,800001d8 + +00000000800001a4 : + 800001a4: 00100093 li ra,1 + 800001a8: 00000113 li sp,0 + 800001ac: 0220cf3b divw t5,ra,sp + 800001b0: fff00e93 li t4,-1 + 800001b4: 00900193 li gp,9 + 800001b8: 03df1063 bne t5,t4,800001d8 + +00000000800001bc : + 800001bc: 00000093 li ra,0 + 800001c0: 00000113 li sp,0 + 800001c4: 0220cf3b divw t5,ra,sp + 800001c8: fff00e93 li t4,-1 + 800001cc: 00a00193 li gp,10 + 800001d0: 01df1463 bne t5,t4,800001d8 + 800001d4: 00301c63 bne zero,gp,800001ec + +00000000800001d8 : + 800001d8: 0ff0000f fence + 800001dc: 00018063 beqz gp,800001dc + 800001e0: 00119193 slli gp,gp,0x1 + 800001e4: 0011e193 ori gp,gp,1 + 800001e8: 00000073 ecall + +00000000800001ec : + 800001ec: 0ff0000f fence + 800001f0: 00100193 li gp,1 + 800001f4: 00000073 ecall + 800001f8: c0001073 unimp + 800001fc: 0000 unimp + 800001fe: 0000 unimp + 80000200: 0000 unimp + 80000202: 0000 unimp diff --git a/test/riscv/tests/rv64um-p-divw.elf b/test/riscv/tests/rv64um-p-divw.elf new file mode 100755 index 00000000..eb2e0f58 Binary files /dev/null and b/test/riscv/tests/rv64um-p-divw.elf differ diff --git a/test/riscv/tests/rv64um-p-mul.dump b/test/riscv/tests/rv64um-p-mul.dump new file mode 100644 index 00000000..b546f6c9 --- /dev/null +++ b/test/riscv/tests/rv64um-p-mul.dump @@ -0,0 +1,474 @@ + +rv64um-p-mul: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 000080b7 lui ra,0x8 + 80000100: e000809b addiw ra,ra,-512 + 80000104: 06db7137 lui sp,0x6db7 + 80000108: db71011b addiw sp,sp,-585 + 8000010c: 00c11113 slli sp,sp,0xc + 80000110: db710113 addi sp,sp,-585 # 6db6db7 <_start-0x79249249> + 80000114: 00c11113 slli sp,sp,0xc + 80000118: db710113 addi sp,sp,-585 + 8000011c: 00c11113 slli sp,sp,0xc + 80000120: db710113 addi sp,sp,-585 + 80000124: 02208f33 mul t5,ra,sp + 80000128: 00001eb7 lui t4,0x1 + 8000012c: 200e8e9b addiw t4,t4,512 + 80000130: 02000193 li gp,32 + 80000134: 49df1a63 bne t5,t4,800005c8 + +0000000080000138 : + 80000138: 000080b7 lui ra,0x8 + 8000013c: fc00809b addiw ra,ra,-64 + 80000140: 06db7137 lui sp,0x6db7 + 80000144: db71011b addiw sp,sp,-585 + 80000148: 00c11113 slli sp,sp,0xc + 8000014c: db710113 addi sp,sp,-585 # 6db6db7 <_start-0x79249249> + 80000150: 00c11113 slli sp,sp,0xc + 80000154: db710113 addi sp,sp,-585 + 80000158: 00c11113 slli sp,sp,0xc + 8000015c: db710113 addi sp,sp,-585 + 80000160: 02208f33 mul t5,ra,sp + 80000164: 00001eb7 lui t4,0x1 + 80000168: 240e8e9b addiw t4,t4,576 + 8000016c: 02100193 li gp,33 + 80000170: 45df1c63 bne t5,t4,800005c8 + +0000000080000174 : + 80000174: 00000093 li ra,0 + 80000178: 00000113 li sp,0 + 8000017c: 02208f33 mul t5,ra,sp + 80000180: 00000e93 li t4,0 + 80000184: 00200193 li gp,2 + 80000188: 45df1063 bne t5,t4,800005c8 + +000000008000018c : + 8000018c: 00100093 li ra,1 + 80000190: 00100113 li sp,1 + 80000194: 02208f33 mul t5,ra,sp + 80000198: 00100e93 li t4,1 + 8000019c: 00300193 li gp,3 + 800001a0: 43df1463 bne t5,t4,800005c8 + +00000000800001a4 : + 800001a4: 00300093 li ra,3 + 800001a8: 00700113 li sp,7 + 800001ac: 02208f33 mul t5,ra,sp + 800001b0: 01500e93 li t4,21 + 800001b4: 00400193 li gp,4 + 800001b8: 41df1863 bne t5,t4,800005c8 + +00000000800001bc : + 800001bc: 00000093 li ra,0 + 800001c0: ffff8137 lui sp,0xffff8 + 800001c4: 02208f33 mul t5,ra,sp + 800001c8: 00000e93 li t4,0 + 800001cc: 00500193 li gp,5 + 800001d0: 3fdf1c63 bne t5,t4,800005c8 + +00000000800001d4 : + 800001d4: 800000b7 lui ra,0x80000 + 800001d8: 00000113 li sp,0 + 800001dc: 02208f33 mul t5,ra,sp + 800001e0: 00000e93 li t4,0 + 800001e4: 00600193 li gp,6 + 800001e8: 3fdf1063 bne t5,t4,800005c8 + +00000000800001ec : + 800001ec: 800000b7 lui ra,0x80000 + 800001f0: ffff8137 lui sp,0xffff8 + 800001f4: 02208f33 mul t5,ra,sp + 800001f8: 00100e9b addiw t4,zero,1 + 800001fc: 02ee9e93 slli t4,t4,0x2e + 80000200: 00700193 li gp,7 + 80000204: 3ddf1263 bne t5,t4,800005c8 + +0000000080000208 : + 80000208: faaab0b7 lui ra,0xfaaab + 8000020c: aab0809b addiw ra,ra,-1365 + 80000210: 00c09093 slli ra,ra,0xc + 80000214: aab08093 addi ra,ra,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab> + 80000218: 00c09093 slli ra,ra,0xc + 8000021c: aab08093 addi ra,ra,-1365 + 80000220: 00c09093 slli ra,ra,0xc + 80000224: aab08093 addi ra,ra,-1365 + 80000228: 00030137 lui sp,0x30 + 8000022c: e7d1011b addiw sp,sp,-387 + 80000230: 02208f33 mul t5,ra,sp + 80000234: 00010eb7 lui t4,0x10 + 80000238: f7fe8e9b addiw t4,t4,-129 + 8000023c: 01e00193 li gp,30 + 80000240: 39df1463 bne t5,t4,800005c8 + +0000000080000244 : + 80000244: 000300b7 lui ra,0x30 + 80000248: e7d0809b addiw ra,ra,-387 + 8000024c: faaab137 lui sp,0xfaaab + 80000250: aab1011b addiw sp,sp,-1365 + 80000254: 00c11113 slli sp,sp,0xc + 80000258: aab10113 addi sp,sp,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab> + 8000025c: 00c11113 slli sp,sp,0xc + 80000260: aab10113 addi sp,sp,-1365 + 80000264: 00c11113 slli sp,sp,0xc + 80000268: aab10113 addi sp,sp,-1365 + 8000026c: 02208f33 mul t5,ra,sp + 80000270: 00010eb7 lui t4,0x10 + 80000274: f7fe8e9b addiw t4,t4,-129 + 80000278: 01f00193 li gp,31 + 8000027c: 35df1663 bne t5,t4,800005c8 + +0000000080000280 : + 80000280: 00d00093 li ra,13 + 80000284: 00b00113 li sp,11 + 80000288: 022080b3 mul ra,ra,sp + 8000028c: 08f00e93 li t4,143 + 80000290: 00800193 li gp,8 + 80000294: 33d09a63 bne ra,t4,800005c8 + +0000000080000298 : + 80000298: 00e00093 li ra,14 + 8000029c: 00b00113 li sp,11 + 800002a0: 02208133 mul sp,ra,sp + 800002a4: 09a00e93 li t4,154 + 800002a8: 00900193 li gp,9 + 800002ac: 31d11e63 bne sp,t4,800005c8 + +00000000800002b0 : + 800002b0: 00d00093 li ra,13 + 800002b4: 021080b3 mul ra,ra,ra + 800002b8: 0a900e93 li t4,169 + 800002bc: 00a00193 li gp,10 + 800002c0: 31d09463 bne ra,t4,800005c8 + +00000000800002c4 : + 800002c4: 00000213 li tp,0 + 800002c8: 00d00093 li ra,13 + 800002cc: 00b00113 li sp,11 + 800002d0: 02208f33 mul t5,ra,sp + 800002d4: 000f0313 mv t1,t5 + 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002dc: 00200293 li t0,2 + 800002e0: fe5214e3 bne tp,t0,800002c8 + 800002e4: 08f00e93 li t4,143 + 800002e8: 00b00193 li gp,11 + 800002ec: 2dd31e63 bne t1,t4,800005c8 + +00000000800002f0 : + 800002f0: 00000213 li tp,0 + 800002f4: 00e00093 li ra,14 + 800002f8: 00b00113 li sp,11 + 800002fc: 02208f33 mul t5,ra,sp + 80000300: 00000013 nop + 80000304: 000f0313 mv t1,t5 + 80000308: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000030c: 00200293 li t0,2 + 80000310: fe5212e3 bne tp,t0,800002f4 + 80000314: 09a00e93 li t4,154 + 80000318: 00c00193 li gp,12 + 8000031c: 2bd31663 bne t1,t4,800005c8 + +0000000080000320 : + 80000320: 00000213 li tp,0 + 80000324: 00f00093 li ra,15 + 80000328: 00b00113 li sp,11 + 8000032c: 02208f33 mul t5,ra,sp + 80000330: 00000013 nop + 80000334: 00000013 nop + 80000338: 000f0313 mv t1,t5 + 8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000340: 00200293 li t0,2 + 80000344: fe5210e3 bne tp,t0,80000324 + 80000348: 0a500e93 li t4,165 + 8000034c: 00d00193 li gp,13 + 80000350: 27d31c63 bne t1,t4,800005c8 + +0000000080000354 : + 80000354: 00000213 li tp,0 + 80000358: 00d00093 li ra,13 + 8000035c: 00b00113 li sp,11 + 80000360: 02208f33 mul t5,ra,sp + 80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000368: 00200293 li t0,2 + 8000036c: fe5216e3 bne tp,t0,80000358 + 80000370: 08f00e93 li t4,143 + 80000374: 00e00193 li gp,14 + 80000378: 25df1863 bne t5,t4,800005c8 + +000000008000037c : + 8000037c: 00000213 li tp,0 + 80000380: 00e00093 li ra,14 + 80000384: 00b00113 li sp,11 + 80000388: 00000013 nop + 8000038c: 02208f33 mul t5,ra,sp + 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000394: 00200293 li t0,2 + 80000398: fe5214e3 bne tp,t0,80000380 + 8000039c: 09a00e93 li t4,154 + 800003a0: 00f00193 li gp,15 + 800003a4: 23df1263 bne t5,t4,800005c8 + +00000000800003a8 : + 800003a8: 00000213 li tp,0 + 800003ac: 00f00093 li ra,15 + 800003b0: 00b00113 li sp,11 + 800003b4: 00000013 nop + 800003b8: 00000013 nop + 800003bc: 02208f33 mul t5,ra,sp + 800003c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c4: 00200293 li t0,2 + 800003c8: fe5212e3 bne tp,t0,800003ac + 800003cc: 0a500e93 li t4,165 + 800003d0: 01000193 li gp,16 + 800003d4: 1fdf1a63 bne t5,t4,800005c8 + +00000000800003d8 : + 800003d8: 00000213 li tp,0 + 800003dc: 00d00093 li ra,13 + 800003e0: 00000013 nop + 800003e4: 00b00113 li sp,11 + 800003e8: 02208f33 mul t5,ra,sp + 800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f0: 00200293 li t0,2 + 800003f4: fe5214e3 bne tp,t0,800003dc + 800003f8: 08f00e93 li t4,143 + 800003fc: 01100193 li gp,17 + 80000400: 1ddf1463 bne t5,t4,800005c8 + +0000000080000404 : + 80000404: 00000213 li tp,0 + 80000408: 00e00093 li ra,14 + 8000040c: 00000013 nop + 80000410: 00b00113 li sp,11 + 80000414: 00000013 nop + 80000418: 02208f33 mul t5,ra,sp + 8000041c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000420: 00200293 li t0,2 + 80000424: fe5212e3 bne tp,t0,80000408 + 80000428: 09a00e93 li t4,154 + 8000042c: 01200193 li gp,18 + 80000430: 19df1c63 bne t5,t4,800005c8 + +0000000080000434 : + 80000434: 00000213 li tp,0 + 80000438: 00f00093 li ra,15 + 8000043c: 00000013 nop + 80000440: 00000013 nop + 80000444: 00b00113 li sp,11 + 80000448: 02208f33 mul t5,ra,sp + 8000044c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000450: 00200293 li t0,2 + 80000454: fe5212e3 bne tp,t0,80000438 + 80000458: 0a500e93 li t4,165 + 8000045c: 01300193 li gp,19 + 80000460: 17df1463 bne t5,t4,800005c8 + +0000000080000464 : + 80000464: 00000213 li tp,0 + 80000468: 00b00113 li sp,11 + 8000046c: 00d00093 li ra,13 + 80000470: 02208f33 mul t5,ra,sp + 80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000478: 00200293 li t0,2 + 8000047c: fe5216e3 bne tp,t0,80000468 + 80000480: 08f00e93 li t4,143 + 80000484: 01400193 li gp,20 + 80000488: 15df1063 bne t5,t4,800005c8 + +000000008000048c : + 8000048c: 00000213 li tp,0 + 80000490: 00b00113 li sp,11 + 80000494: 00e00093 li ra,14 + 80000498: 00000013 nop + 8000049c: 02208f33 mul t5,ra,sp + 800004a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a4: 00200293 li t0,2 + 800004a8: fe5214e3 bne tp,t0,80000490 + 800004ac: 09a00e93 li t4,154 + 800004b0: 01500193 li gp,21 + 800004b4: 11df1a63 bne t5,t4,800005c8 + +00000000800004b8 : + 800004b8: 00000213 li tp,0 + 800004bc: 00b00113 li sp,11 + 800004c0: 00f00093 li ra,15 + 800004c4: 00000013 nop + 800004c8: 00000013 nop + 800004cc: 02208f33 mul t5,ra,sp + 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d4: 00200293 li t0,2 + 800004d8: fe5212e3 bne tp,t0,800004bc + 800004dc: 0a500e93 li t4,165 + 800004e0: 01600193 li gp,22 + 800004e4: 0fdf1263 bne t5,t4,800005c8 + +00000000800004e8 : + 800004e8: 00000213 li tp,0 + 800004ec: 00b00113 li sp,11 + 800004f0: 00000013 nop + 800004f4: 00d00093 li ra,13 + 800004f8: 02208f33 mul t5,ra,sp + 800004fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000500: 00200293 li t0,2 + 80000504: fe5214e3 bne tp,t0,800004ec + 80000508: 08f00e93 li t4,143 + 8000050c: 01700193 li gp,23 + 80000510: 0bdf1c63 bne t5,t4,800005c8 + +0000000080000514 : + 80000514: 00000213 li tp,0 + 80000518: 00b00113 li sp,11 + 8000051c: 00000013 nop + 80000520: 00e00093 li ra,14 + 80000524: 00000013 nop + 80000528: 02208f33 mul t5,ra,sp + 8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000530: 00200293 li t0,2 + 80000534: fe5212e3 bne tp,t0,80000518 + 80000538: 09a00e93 li t4,154 + 8000053c: 01800193 li gp,24 + 80000540: 09df1463 bne t5,t4,800005c8 + +0000000080000544 : + 80000544: 00000213 li tp,0 + 80000548: 00b00113 li sp,11 + 8000054c: 00000013 nop + 80000550: 00000013 nop + 80000554: 00f00093 li ra,15 + 80000558: 02208f33 mul t5,ra,sp + 8000055c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000560: 00200293 li t0,2 + 80000564: fe5212e3 bne tp,t0,80000548 + 80000568: 0a500e93 li t4,165 + 8000056c: 01900193 li gp,25 + 80000570: 05df1c63 bne t5,t4,800005c8 + +0000000080000574 : + 80000574: 01f00093 li ra,31 + 80000578: 02100133 mul sp,zero,ra + 8000057c: 00000e93 li t4,0 + 80000580: 01a00193 li gp,26 + 80000584: 05d11263 bne sp,t4,800005c8 + +0000000080000588 : + 80000588: 02000093 li ra,32 + 8000058c: 02008133 mul sp,ra,zero + 80000590: 00000e93 li t4,0 + 80000594: 01b00193 li gp,27 + 80000598: 03d11863 bne sp,t4,800005c8 + +000000008000059c : + 8000059c: 020000b3 mul ra,zero,zero + 800005a0: 00000e93 li t4,0 + 800005a4: 01c00193 li gp,28 + 800005a8: 03d09063 bne ra,t4,800005c8 + +00000000800005ac : + 800005ac: 02100093 li ra,33 + 800005b0: 02200113 li sp,34 + 800005b4: 02208033 mul zero,ra,sp + 800005b8: 00000e93 li t4,0 + 800005bc: 01d00193 li gp,29 + 800005c0: 01d01463 bne zero,t4,800005c8 + 800005c4: 00301c63 bne zero,gp,800005dc + +00000000800005c8 : + 800005c8: 0ff0000f fence + 800005cc: 00018063 beqz gp,800005cc + 800005d0: 00119193 slli gp,gp,0x1 + 800005d4: 0011e193 ori gp,gp,1 + 800005d8: 00000073 ecall + +00000000800005dc : + 800005dc: 0ff0000f fence + 800005e0: 00100193 li gp,1 + 800005e4: 00000073 ecall + 800005e8: c0001073 unimp + 800005ec: 0000 unimp + 800005ee: 0000 unimp + 800005f0: 0000 unimp + 800005f2: 0000 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/test/riscv/tests/rv64um-p-mul.elf b/test/riscv/tests/rv64um-p-mul.elf new file mode 100755 index 00000000..7107505a Binary files /dev/null and b/test/riscv/tests/rv64um-p-mul.elf differ diff --git a/test/riscv/tests/rv64um-p-mulh.dump b/test/riscv/tests/rv64um-p-mulh.dump new file mode 100644 index 00000000..59475e6d --- /dev/null +++ b/test/riscv/tests/rv64um-p-mulh.dump @@ -0,0 +1,456 @@ + +rv64um-p-mulh: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00000113 li sp,0 + 80000104: 02209f33 mulh t5,ra,sp + 80000108: 00000e93 li t4,0 + 8000010c: 00200193 li gp,2 + 80000110: 47df1063 bne t5,t4,80000570 + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 02209f33 mulh t5,ra,sp + 80000120: 00000e93 li t4,0 + 80000124: 00300193 li gp,3 + 80000128: 45df1463 bne t5,t4,80000570 + +000000008000012c : + 8000012c: 00300093 li ra,3 + 80000130: 00700113 li sp,7 + 80000134: 02209f33 mulh t5,ra,sp + 80000138: 00000e93 li t4,0 + 8000013c: 00400193 li gp,4 + 80000140: 43df1863 bne t5,t4,80000570 + +0000000080000144 : + 80000144: 00000093 li ra,0 + 80000148: ffff8137 lui sp,0xffff8 + 8000014c: 02209f33 mulh t5,ra,sp + 80000150: 00000e93 li t4,0 + 80000154: 00500193 li gp,5 + 80000158: 41df1c63 bne t5,t4,80000570 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00000113 li sp,0 + 80000164: 02209f33 mulh t5,ra,sp + 80000168: 00000e93 li t4,0 + 8000016c: 00600193 li gp,6 + 80000170: 41df1063 bne t5,t4,80000570 + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: ffff8137 lui sp,0xffff8 + 8000017c: 02209f33 mulh t5,ra,sp + 80000180: 00000e93 li t4,0 + 80000184: 00700193 li gp,7 + 80000188: 3fdf1463 bne t5,t4,80000570 + +000000008000018c : + 8000018c: 00d0009b addiw ra,zero,13 + 80000190: 02009093 slli ra,ra,0x20 + 80000194: 00b0011b addiw sp,zero,11 + 80000198: 02011113 slli sp,sp,0x20 + 8000019c: 022090b3 mulh ra,ra,sp + 800001a0: 08f00e93 li t4,143 + 800001a4: 00800193 li gp,8 + 800001a8: 3dd09463 bne ra,t4,80000570 + +00000000800001ac : + 800001ac: 0070009b addiw ra,zero,7 + 800001b0: 02109093 slli ra,ra,0x21 + 800001b4: 00b0011b addiw sp,zero,11 + 800001b8: 02011113 slli sp,sp,0x20 + 800001bc: 02209133 mulh sp,ra,sp + 800001c0: 09a00e93 li t4,154 + 800001c4: 00900193 li gp,9 + 800001c8: 3bd11463 bne sp,t4,80000570 + +00000000800001cc : + 800001cc: 00d0009b addiw ra,zero,13 + 800001d0: 02009093 slli ra,ra,0x20 + 800001d4: 021090b3 mulh ra,ra,ra + 800001d8: 0a900e93 li t4,169 + 800001dc: 00a00193 li gp,10 + 800001e0: 39d09863 bne ra,t4,80000570 + +00000000800001e4 : + 800001e4: 00000213 li tp,0 + 800001e8: 00d0009b addiw ra,zero,13 + 800001ec: 02009093 slli ra,ra,0x20 + 800001f0: 00b0011b addiw sp,zero,11 + 800001f4: 02011113 slli sp,sp,0x20 + 800001f8: 02209f33 mulh t5,ra,sp + 800001fc: 000f0313 mv t1,t5 + 80000200: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000204: 00200293 li t0,2 + 80000208: fe5210e3 bne tp,t0,800001e8 + 8000020c: 08f00e93 li t4,143 + 80000210: 00b00193 li gp,11 + 80000214: 35d31e63 bne t1,t4,80000570 + +0000000080000218 : + 80000218: 00000213 li tp,0 + 8000021c: 0070009b addiw ra,zero,7 + 80000220: 02109093 slli ra,ra,0x21 + 80000224: 00b0011b addiw sp,zero,11 + 80000228: 02011113 slli sp,sp,0x20 + 8000022c: 02209f33 mulh t5,ra,sp + 80000230: 00000013 nop + 80000234: 000f0313 mv t1,t5 + 80000238: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000023c: 00200293 li t0,2 + 80000240: fc521ee3 bne tp,t0,8000021c + 80000244: 09a00e93 li t4,154 + 80000248: 00c00193 li gp,12 + 8000024c: 33d31263 bne t1,t4,80000570 + +0000000080000250 : + 80000250: 00000213 li tp,0 + 80000254: 00f0009b addiw ra,zero,15 + 80000258: 02009093 slli ra,ra,0x20 + 8000025c: 00b0011b addiw sp,zero,11 + 80000260: 02011113 slli sp,sp,0x20 + 80000264: 02209f33 mulh t5,ra,sp + 80000268: 00000013 nop + 8000026c: 00000013 nop + 80000270: 000f0313 mv t1,t5 + 80000274: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000278: 00200293 li t0,2 + 8000027c: fc521ce3 bne tp,t0,80000254 + 80000280: 0a500e93 li t4,165 + 80000284: 00d00193 li gp,13 + 80000288: 2fd31463 bne t1,t4,80000570 + +000000008000028c : + 8000028c: 00000213 li tp,0 + 80000290: 00d0009b addiw ra,zero,13 + 80000294: 02009093 slli ra,ra,0x20 + 80000298: 00b0011b addiw sp,zero,11 + 8000029c: 02011113 slli sp,sp,0x20 + 800002a0: 02209f33 mulh t5,ra,sp + 800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a8: 00200293 li t0,2 + 800002ac: fe5212e3 bne tp,t0,80000290 + 800002b0: 08f00e93 li t4,143 + 800002b4: 00e00193 li gp,14 + 800002b8: 2bdf1c63 bne t5,t4,80000570 + +00000000800002bc : + 800002bc: 00000213 li tp,0 + 800002c0: 0070009b addiw ra,zero,7 + 800002c4: 02109093 slli ra,ra,0x21 + 800002c8: 00b0011b addiw sp,zero,11 + 800002cc: 02011113 slli sp,sp,0x20 + 800002d0: 00000013 nop + 800002d4: 02209f33 mulh t5,ra,sp + 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002dc: 00200293 li t0,2 + 800002e0: fe5210e3 bne tp,t0,800002c0 + 800002e4: 09a00e93 li t4,154 + 800002e8: 00f00193 li gp,15 + 800002ec: 29df1263 bne t5,t4,80000570 + +00000000800002f0 : + 800002f0: 00000213 li tp,0 + 800002f4: 00f0009b addiw ra,zero,15 + 800002f8: 02009093 slli ra,ra,0x20 + 800002fc: 00b0011b addiw sp,zero,11 + 80000300: 02011113 slli sp,sp,0x20 + 80000304: 00000013 nop + 80000308: 00000013 nop + 8000030c: 02209f33 mulh t5,ra,sp + 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000314: 00200293 li t0,2 + 80000318: fc521ee3 bne tp,t0,800002f4 + 8000031c: 0a500e93 li t4,165 + 80000320: 01000193 li gp,16 + 80000324: 25df1663 bne t5,t4,80000570 + +0000000080000328 : + 80000328: 00000213 li tp,0 + 8000032c: 00d0009b addiw ra,zero,13 + 80000330: 02009093 slli ra,ra,0x20 + 80000334: 00000013 nop + 80000338: 00b0011b addiw sp,zero,11 + 8000033c: 02011113 slli sp,sp,0x20 + 80000340: 02209f33 mulh t5,ra,sp + 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000348: 00200293 li t0,2 + 8000034c: fe5210e3 bne tp,t0,8000032c + 80000350: 08f00e93 li t4,143 + 80000354: 01100193 li gp,17 + 80000358: 21df1c63 bne t5,t4,80000570 + +000000008000035c : + 8000035c: 00000213 li tp,0 + 80000360: 0070009b addiw ra,zero,7 + 80000364: 02109093 slli ra,ra,0x21 + 80000368: 00000013 nop + 8000036c: 00b0011b addiw sp,zero,11 + 80000370: 02011113 slli sp,sp,0x20 + 80000374: 00000013 nop + 80000378: 02209f33 mulh t5,ra,sp + 8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000380: 00200293 li t0,2 + 80000384: fc521ee3 bne tp,t0,80000360 + 80000388: 09a00e93 li t4,154 + 8000038c: 01200193 li gp,18 + 80000390: 1fdf1063 bne t5,t4,80000570 + +0000000080000394 : + 80000394: 00000213 li tp,0 + 80000398: 00f0009b addiw ra,zero,15 + 8000039c: 02009093 slli ra,ra,0x20 + 800003a0: 00000013 nop + 800003a4: 00000013 nop + 800003a8: 00b0011b addiw sp,zero,11 + 800003ac: 02011113 slli sp,sp,0x20 + 800003b0: 02209f33 mulh t5,ra,sp + 800003b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003b8: 00200293 li t0,2 + 800003bc: fc521ee3 bne tp,t0,80000398 + 800003c0: 0a500e93 li t4,165 + 800003c4: 01300193 li gp,19 + 800003c8: 1bdf1463 bne t5,t4,80000570 + +00000000800003cc : + 800003cc: 00000213 li tp,0 + 800003d0: 00b0011b addiw sp,zero,11 + 800003d4: 02011113 slli sp,sp,0x20 + 800003d8: 00d0009b addiw ra,zero,13 + 800003dc: 02009093 slli ra,ra,0x20 + 800003e0: 02209f33 mulh t5,ra,sp + 800003e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003e8: 00200293 li t0,2 + 800003ec: fe5212e3 bne tp,t0,800003d0 + 800003f0: 08f00e93 li t4,143 + 800003f4: 01400193 li gp,20 + 800003f8: 17df1c63 bne t5,t4,80000570 + +00000000800003fc : + 800003fc: 00000213 li tp,0 + 80000400: 00b0011b addiw sp,zero,11 + 80000404: 02011113 slli sp,sp,0x20 + 80000408: 0070009b addiw ra,zero,7 + 8000040c: 02109093 slli ra,ra,0x21 + 80000410: 00000013 nop + 80000414: 02209f33 mulh t5,ra,sp + 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000041c: 00200293 li t0,2 + 80000420: fe5210e3 bne tp,t0,80000400 + 80000424: 09a00e93 li t4,154 + 80000428: 01500193 li gp,21 + 8000042c: 15df1263 bne t5,t4,80000570 + +0000000080000430 : + 80000430: 00000213 li tp,0 + 80000434: 00b0011b addiw sp,zero,11 + 80000438: 02011113 slli sp,sp,0x20 + 8000043c: 00f0009b addiw ra,zero,15 + 80000440: 02009093 slli ra,ra,0x20 + 80000444: 00000013 nop + 80000448: 00000013 nop + 8000044c: 02209f33 mulh t5,ra,sp + 80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000454: 00200293 li t0,2 + 80000458: fc521ee3 bne tp,t0,80000434 + 8000045c: 0a500e93 li t4,165 + 80000460: 01600193 li gp,22 + 80000464: 11df1663 bne t5,t4,80000570 + +0000000080000468 : + 80000468: 00000213 li tp,0 + 8000046c: 00b0011b addiw sp,zero,11 + 80000470: 02011113 slli sp,sp,0x20 + 80000474: 00000013 nop + 80000478: 00d0009b addiw ra,zero,13 + 8000047c: 02009093 slli ra,ra,0x20 + 80000480: 02209f33 mulh t5,ra,sp + 80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000488: 00200293 li t0,2 + 8000048c: fe5210e3 bne tp,t0,8000046c + 80000490: 08f00e93 li t4,143 + 80000494: 01700193 li gp,23 + 80000498: 0ddf1c63 bne t5,t4,80000570 + +000000008000049c : + 8000049c: 00000213 li tp,0 + 800004a0: 00b0011b addiw sp,zero,11 + 800004a4: 02011113 slli sp,sp,0x20 + 800004a8: 00000013 nop + 800004ac: 0070009b addiw ra,zero,7 + 800004b0: 02109093 slli ra,ra,0x21 + 800004b4: 00000013 nop + 800004b8: 02209f33 mulh t5,ra,sp + 800004bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004c0: 00200293 li t0,2 + 800004c4: fc521ee3 bne tp,t0,800004a0 + 800004c8: 09a00e93 li t4,154 + 800004cc: 01800193 li gp,24 + 800004d0: 0bdf1063 bne t5,t4,80000570 + +00000000800004d4 : + 800004d4: 00000213 li tp,0 + 800004d8: 00b0011b addiw sp,zero,11 + 800004dc: 02011113 slli sp,sp,0x20 + 800004e0: 00000013 nop + 800004e4: 00000013 nop + 800004e8: 00f0009b addiw ra,zero,15 + 800004ec: 02009093 slli ra,ra,0x20 + 800004f0: 02209f33 mulh t5,ra,sp + 800004f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004f8: 00200293 li t0,2 + 800004fc: fc521ee3 bne tp,t0,800004d8 + 80000500: 0a500e93 li t4,165 + 80000504: 01900193 li gp,25 + 80000508: 07df1463 bne t5,t4,80000570 + +000000008000050c : + 8000050c: 01f0009b addiw ra,zero,31 + 80000510: 02009093 slli ra,ra,0x20 + 80000514: 02101133 mulh sp,zero,ra + 80000518: 00000e93 li t4,0 + 8000051c: 01a00193 li gp,26 + 80000520: 05d11863 bne sp,t4,80000570 + +0000000080000524 : + 80000524: 0010009b addiw ra,zero,1 + 80000528: 02509093 slli ra,ra,0x25 + 8000052c: 02009133 mulh sp,ra,zero + 80000530: 00000e93 li t4,0 + 80000534: 01b00193 li gp,27 + 80000538: 03d11c63 bne sp,t4,80000570 + +000000008000053c : + 8000053c: 020010b3 mulh ra,zero,zero + 80000540: 00000e93 li t4,0 + 80000544: 01c00193 li gp,28 + 80000548: 03d09463 bne ra,t4,80000570 + +000000008000054c : + 8000054c: 0210009b addiw ra,zero,33 + 80000550: 02009093 slli ra,ra,0x20 + 80000554: 0110011b addiw sp,zero,17 + 80000558: 02111113 slli sp,sp,0x21 + 8000055c: 02209033 mulh zero,ra,sp + 80000560: 00000e93 li t4,0 + 80000564: 01d00193 li gp,29 + 80000568: 01d01463 bne zero,t4,80000570 + 8000056c: 00301c63 bne zero,gp,80000584 + +0000000080000570 : + 80000570: 0ff0000f fence + 80000574: 00018063 beqz gp,80000574 + 80000578: 00119193 slli gp,gp,0x1 + 8000057c: 0011e193 ori gp,gp,1 + 80000580: 00000073 ecall + +0000000080000584 : + 80000584: 0ff0000f fence + 80000588: 00100193 li gp,1 + 8000058c: 00000073 ecall + 80000590: c0001073 unimp + 80000594: 0000 unimp + 80000596: 0000 unimp + 80000598: 0000 unimp + 8000059a: 0000 unimp + 8000059c: 0000 unimp + 8000059e: 0000 unimp + 800005a0: 0000 unimp + 800005a2: 0000 unimp + 800005a4: 0000 unimp + 800005a6: 0000 unimp + 800005a8: 0000 unimp + 800005aa: 0000 unimp + 800005ac: 0000 unimp + 800005ae: 0000 unimp + 800005b0: 0000 unimp + 800005b2: 0000 unimp + 800005b4: 0000 unimp + 800005b6: 0000 unimp + 800005b8: 0000 unimp + 800005ba: 0000 unimp + 800005bc: 0000 unimp + 800005be: 0000 unimp + 800005c0: 0000 unimp + 800005c2: 0000 unimp diff --git a/test/riscv/tests/rv64um-p-mulh.elf b/test/riscv/tests/rv64um-p-mulh.elf new file mode 100755 index 00000000..f44264b4 Binary files /dev/null and b/test/riscv/tests/rv64um-p-mulh.elf differ diff --git a/test/riscv/tests/rv64um-p-mulhsu.dump b/test/riscv/tests/rv64um-p-mulhsu.dump new file mode 100644 index 00000000..56d5b6da --- /dev/null +++ b/test/riscv/tests/rv64um-p-mulhsu.dump @@ -0,0 +1,456 @@ + +rv64um-p-mulhsu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00000113 li sp,0 + 80000104: 0220af33 mulhsu t5,ra,sp + 80000108: 00000e93 li t4,0 + 8000010c: 00200193 li gp,2 + 80000110: 47df1063 bne t5,t4,80000570 + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 0220af33 mulhsu t5,ra,sp + 80000120: 00000e93 li t4,0 + 80000124: 00300193 li gp,3 + 80000128: 45df1463 bne t5,t4,80000570 + +000000008000012c : + 8000012c: 00300093 li ra,3 + 80000130: 00700113 li sp,7 + 80000134: 0220af33 mulhsu t5,ra,sp + 80000138: 00000e93 li t4,0 + 8000013c: 00400193 li gp,4 + 80000140: 43df1863 bne t5,t4,80000570 + +0000000080000144 : + 80000144: 00000093 li ra,0 + 80000148: ffff8137 lui sp,0xffff8 + 8000014c: 0220af33 mulhsu t5,ra,sp + 80000150: 00000e93 li t4,0 + 80000154: 00500193 li gp,5 + 80000158: 41df1c63 bne t5,t4,80000570 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00000113 li sp,0 + 80000164: 0220af33 mulhsu t5,ra,sp + 80000168: 00000e93 li t4,0 + 8000016c: 00600193 li gp,6 + 80000170: 41df1063 bne t5,t4,80000570 + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: ffff8137 lui sp,0xffff8 + 8000017c: 0220af33 mulhsu t5,ra,sp + 80000180: 80000eb7 lui t4,0x80000 + 80000184: 00700193 li gp,7 + 80000188: 3fdf1463 bne t5,t4,80000570 + +000000008000018c : + 8000018c: 00d0009b addiw ra,zero,13 + 80000190: 02009093 slli ra,ra,0x20 + 80000194: 00b0011b addiw sp,zero,11 + 80000198: 02011113 slli sp,sp,0x20 + 8000019c: 0220a0b3 mulhsu ra,ra,sp + 800001a0: 08f00e93 li t4,143 + 800001a4: 00800193 li gp,8 + 800001a8: 3dd09463 bne ra,t4,80000570 + +00000000800001ac : + 800001ac: 0070009b addiw ra,zero,7 + 800001b0: 02109093 slli ra,ra,0x21 + 800001b4: 00b0011b addiw sp,zero,11 + 800001b8: 02011113 slli sp,sp,0x20 + 800001bc: 0220a133 mulhsu sp,ra,sp + 800001c0: 09a00e93 li t4,154 + 800001c4: 00900193 li gp,9 + 800001c8: 3bd11463 bne sp,t4,80000570 + +00000000800001cc : + 800001cc: 00d0009b addiw ra,zero,13 + 800001d0: 02009093 slli ra,ra,0x20 + 800001d4: 0210a0b3 mulhsu ra,ra,ra + 800001d8: 0a900e93 li t4,169 + 800001dc: 00a00193 li gp,10 + 800001e0: 39d09863 bne ra,t4,80000570 + +00000000800001e4 : + 800001e4: 00000213 li tp,0 + 800001e8: 00d0009b addiw ra,zero,13 + 800001ec: 02009093 slli ra,ra,0x20 + 800001f0: 00b0011b addiw sp,zero,11 + 800001f4: 02011113 slli sp,sp,0x20 + 800001f8: 0220af33 mulhsu t5,ra,sp + 800001fc: 000f0313 mv t1,t5 + 80000200: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000204: 00200293 li t0,2 + 80000208: fe5210e3 bne tp,t0,800001e8 + 8000020c: 08f00e93 li t4,143 + 80000210: 00b00193 li gp,11 + 80000214: 35d31e63 bne t1,t4,80000570 + +0000000080000218 : + 80000218: 00000213 li tp,0 + 8000021c: 0070009b addiw ra,zero,7 + 80000220: 02109093 slli ra,ra,0x21 + 80000224: 00b0011b addiw sp,zero,11 + 80000228: 02011113 slli sp,sp,0x20 + 8000022c: 0220af33 mulhsu t5,ra,sp + 80000230: 00000013 nop + 80000234: 000f0313 mv t1,t5 + 80000238: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000023c: 00200293 li t0,2 + 80000240: fc521ee3 bne tp,t0,8000021c + 80000244: 09a00e93 li t4,154 + 80000248: 00c00193 li gp,12 + 8000024c: 33d31263 bne t1,t4,80000570 + +0000000080000250 : + 80000250: 00000213 li tp,0 + 80000254: 00f0009b addiw ra,zero,15 + 80000258: 02009093 slli ra,ra,0x20 + 8000025c: 00b0011b addiw sp,zero,11 + 80000260: 02011113 slli sp,sp,0x20 + 80000264: 0220af33 mulhsu t5,ra,sp + 80000268: 00000013 nop + 8000026c: 00000013 nop + 80000270: 000f0313 mv t1,t5 + 80000274: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000278: 00200293 li t0,2 + 8000027c: fc521ce3 bne tp,t0,80000254 + 80000280: 0a500e93 li t4,165 + 80000284: 00d00193 li gp,13 + 80000288: 2fd31463 bne t1,t4,80000570 + +000000008000028c : + 8000028c: 00000213 li tp,0 + 80000290: 00d0009b addiw ra,zero,13 + 80000294: 02009093 slli ra,ra,0x20 + 80000298: 00b0011b addiw sp,zero,11 + 8000029c: 02011113 slli sp,sp,0x20 + 800002a0: 0220af33 mulhsu t5,ra,sp + 800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a8: 00200293 li t0,2 + 800002ac: fe5212e3 bne tp,t0,80000290 + 800002b0: 08f00e93 li t4,143 + 800002b4: 00e00193 li gp,14 + 800002b8: 2bdf1c63 bne t5,t4,80000570 + +00000000800002bc : + 800002bc: 00000213 li tp,0 + 800002c0: 0070009b addiw ra,zero,7 + 800002c4: 02109093 slli ra,ra,0x21 + 800002c8: 00b0011b addiw sp,zero,11 + 800002cc: 02011113 slli sp,sp,0x20 + 800002d0: 00000013 nop + 800002d4: 0220af33 mulhsu t5,ra,sp + 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002dc: 00200293 li t0,2 + 800002e0: fe5210e3 bne tp,t0,800002c0 + 800002e4: 09a00e93 li t4,154 + 800002e8: 00f00193 li gp,15 + 800002ec: 29df1263 bne t5,t4,80000570 + +00000000800002f0 : + 800002f0: 00000213 li tp,0 + 800002f4: 00f0009b addiw ra,zero,15 + 800002f8: 02009093 slli ra,ra,0x20 + 800002fc: 00b0011b addiw sp,zero,11 + 80000300: 02011113 slli sp,sp,0x20 + 80000304: 00000013 nop + 80000308: 00000013 nop + 8000030c: 0220af33 mulhsu t5,ra,sp + 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000314: 00200293 li t0,2 + 80000318: fc521ee3 bne tp,t0,800002f4 + 8000031c: 0a500e93 li t4,165 + 80000320: 01000193 li gp,16 + 80000324: 25df1663 bne t5,t4,80000570 + +0000000080000328 : + 80000328: 00000213 li tp,0 + 8000032c: 00d0009b addiw ra,zero,13 + 80000330: 02009093 slli ra,ra,0x20 + 80000334: 00000013 nop + 80000338: 00b0011b addiw sp,zero,11 + 8000033c: 02011113 slli sp,sp,0x20 + 80000340: 0220af33 mulhsu t5,ra,sp + 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000348: 00200293 li t0,2 + 8000034c: fe5210e3 bne tp,t0,8000032c + 80000350: 08f00e93 li t4,143 + 80000354: 01100193 li gp,17 + 80000358: 21df1c63 bne t5,t4,80000570 + +000000008000035c : + 8000035c: 00000213 li tp,0 + 80000360: 0070009b addiw ra,zero,7 + 80000364: 02109093 slli ra,ra,0x21 + 80000368: 00000013 nop + 8000036c: 00b0011b addiw sp,zero,11 + 80000370: 02011113 slli sp,sp,0x20 + 80000374: 00000013 nop + 80000378: 0220af33 mulhsu t5,ra,sp + 8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000380: 00200293 li t0,2 + 80000384: fc521ee3 bne tp,t0,80000360 + 80000388: 09a00e93 li t4,154 + 8000038c: 01200193 li gp,18 + 80000390: 1fdf1063 bne t5,t4,80000570 + +0000000080000394 : + 80000394: 00000213 li tp,0 + 80000398: 00f0009b addiw ra,zero,15 + 8000039c: 02009093 slli ra,ra,0x20 + 800003a0: 00000013 nop + 800003a4: 00000013 nop + 800003a8: 00b0011b addiw sp,zero,11 + 800003ac: 02011113 slli sp,sp,0x20 + 800003b0: 0220af33 mulhsu t5,ra,sp + 800003b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003b8: 00200293 li t0,2 + 800003bc: fc521ee3 bne tp,t0,80000398 + 800003c0: 0a500e93 li t4,165 + 800003c4: 01300193 li gp,19 + 800003c8: 1bdf1463 bne t5,t4,80000570 + +00000000800003cc : + 800003cc: 00000213 li tp,0 + 800003d0: 00b0011b addiw sp,zero,11 + 800003d4: 02011113 slli sp,sp,0x20 + 800003d8: 00d0009b addiw ra,zero,13 + 800003dc: 02009093 slli ra,ra,0x20 + 800003e0: 0220af33 mulhsu t5,ra,sp + 800003e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003e8: 00200293 li t0,2 + 800003ec: fe5212e3 bne tp,t0,800003d0 + 800003f0: 08f00e93 li t4,143 + 800003f4: 01400193 li gp,20 + 800003f8: 17df1c63 bne t5,t4,80000570 + +00000000800003fc : + 800003fc: 00000213 li tp,0 + 80000400: 00b0011b addiw sp,zero,11 + 80000404: 02011113 slli sp,sp,0x20 + 80000408: 0070009b addiw ra,zero,7 + 8000040c: 02109093 slli ra,ra,0x21 + 80000410: 00000013 nop + 80000414: 0220af33 mulhsu t5,ra,sp + 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000041c: 00200293 li t0,2 + 80000420: fe5210e3 bne tp,t0,80000400 + 80000424: 09a00e93 li t4,154 + 80000428: 01500193 li gp,21 + 8000042c: 15df1263 bne t5,t4,80000570 + +0000000080000430 : + 80000430: 00000213 li tp,0 + 80000434: 00b0011b addiw sp,zero,11 + 80000438: 02011113 slli sp,sp,0x20 + 8000043c: 00f0009b addiw ra,zero,15 + 80000440: 02009093 slli ra,ra,0x20 + 80000444: 00000013 nop + 80000448: 00000013 nop + 8000044c: 0220af33 mulhsu t5,ra,sp + 80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000454: 00200293 li t0,2 + 80000458: fc521ee3 bne tp,t0,80000434 + 8000045c: 0a500e93 li t4,165 + 80000460: 01600193 li gp,22 + 80000464: 11df1663 bne t5,t4,80000570 + +0000000080000468 : + 80000468: 00000213 li tp,0 + 8000046c: 00b0011b addiw sp,zero,11 + 80000470: 02011113 slli sp,sp,0x20 + 80000474: 00000013 nop + 80000478: 00d0009b addiw ra,zero,13 + 8000047c: 02009093 slli ra,ra,0x20 + 80000480: 0220af33 mulhsu t5,ra,sp + 80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000488: 00200293 li t0,2 + 8000048c: fe5210e3 bne tp,t0,8000046c + 80000490: 08f00e93 li t4,143 + 80000494: 01700193 li gp,23 + 80000498: 0ddf1c63 bne t5,t4,80000570 + +000000008000049c : + 8000049c: 00000213 li tp,0 + 800004a0: 00b0011b addiw sp,zero,11 + 800004a4: 02011113 slli sp,sp,0x20 + 800004a8: 00000013 nop + 800004ac: 0070009b addiw ra,zero,7 + 800004b0: 02109093 slli ra,ra,0x21 + 800004b4: 00000013 nop + 800004b8: 0220af33 mulhsu t5,ra,sp + 800004bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004c0: 00200293 li t0,2 + 800004c4: fc521ee3 bne tp,t0,800004a0 + 800004c8: 09a00e93 li t4,154 + 800004cc: 01800193 li gp,24 + 800004d0: 0bdf1063 bne t5,t4,80000570 + +00000000800004d4 : + 800004d4: 00000213 li tp,0 + 800004d8: 00b0011b addiw sp,zero,11 + 800004dc: 02011113 slli sp,sp,0x20 + 800004e0: 00000013 nop + 800004e4: 00000013 nop + 800004e8: 00f0009b addiw ra,zero,15 + 800004ec: 02009093 slli ra,ra,0x20 + 800004f0: 0220af33 mulhsu t5,ra,sp + 800004f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004f8: 00200293 li t0,2 + 800004fc: fc521ee3 bne tp,t0,800004d8 + 80000500: 0a500e93 li t4,165 + 80000504: 01900193 li gp,25 + 80000508: 07df1463 bne t5,t4,80000570 + +000000008000050c : + 8000050c: 01f0009b addiw ra,zero,31 + 80000510: 02009093 slli ra,ra,0x20 + 80000514: 02102133 mulhsu sp,zero,ra + 80000518: 00000e93 li t4,0 + 8000051c: 01a00193 li gp,26 + 80000520: 05d11863 bne sp,t4,80000570 + +0000000080000524 : + 80000524: 0010009b addiw ra,zero,1 + 80000528: 02509093 slli ra,ra,0x25 + 8000052c: 0200a133 mulhsu sp,ra,zero + 80000530: 00000e93 li t4,0 + 80000534: 01b00193 li gp,27 + 80000538: 03d11c63 bne sp,t4,80000570 + +000000008000053c : + 8000053c: 020020b3 mulhsu ra,zero,zero + 80000540: 00000e93 li t4,0 + 80000544: 01c00193 li gp,28 + 80000548: 03d09463 bne ra,t4,80000570 + +000000008000054c : + 8000054c: 0210009b addiw ra,zero,33 + 80000550: 02009093 slli ra,ra,0x20 + 80000554: 0110011b addiw sp,zero,17 + 80000558: 02111113 slli sp,sp,0x21 + 8000055c: 0220a033 mulhsu zero,ra,sp + 80000560: 00000e93 li t4,0 + 80000564: 01d00193 li gp,29 + 80000568: 01d01463 bne zero,t4,80000570 + 8000056c: 00301c63 bne zero,gp,80000584 + +0000000080000570 : + 80000570: 0ff0000f fence + 80000574: 00018063 beqz gp,80000574 + 80000578: 00119193 slli gp,gp,0x1 + 8000057c: 0011e193 ori gp,gp,1 + 80000580: 00000073 ecall + +0000000080000584 : + 80000584: 0ff0000f fence + 80000588: 00100193 li gp,1 + 8000058c: 00000073 ecall + 80000590: c0001073 unimp + 80000594: 0000 unimp + 80000596: 0000 unimp + 80000598: 0000 unimp + 8000059a: 0000 unimp + 8000059c: 0000 unimp + 8000059e: 0000 unimp + 800005a0: 0000 unimp + 800005a2: 0000 unimp + 800005a4: 0000 unimp + 800005a6: 0000 unimp + 800005a8: 0000 unimp + 800005aa: 0000 unimp + 800005ac: 0000 unimp + 800005ae: 0000 unimp + 800005b0: 0000 unimp + 800005b2: 0000 unimp + 800005b4: 0000 unimp + 800005b6: 0000 unimp + 800005b8: 0000 unimp + 800005ba: 0000 unimp + 800005bc: 0000 unimp + 800005be: 0000 unimp + 800005c0: 0000 unimp + 800005c2: 0000 unimp diff --git a/test/riscv/tests/rv64um-p-mulhsu.elf b/test/riscv/tests/rv64um-p-mulhsu.elf new file mode 100755 index 00000000..93efb0b3 Binary files /dev/null and b/test/riscv/tests/rv64um-p-mulhsu.elf differ diff --git a/test/riscv/tests/rv64um-p-mulhu.dump b/test/riscv/tests/rv64um-p-mulhu.dump new file mode 100644 index 00000000..82860e14 --- /dev/null +++ b/test/riscv/tests/rv64um-p-mulhu.dump @@ -0,0 +1,492 @@ + +rv64um-p-mulhu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00000113 li sp,0 + 80000104: 0220bf33 mulhu t5,ra,sp + 80000108: 00000e93 li t4,0 + 8000010c: 00200193 li gp,2 + 80000110: 4fdf1063 bne t5,t4,800005f0 + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 0220bf33 mulhu t5,ra,sp + 80000120: 00000e93 li t4,0 + 80000124: 00300193 li gp,3 + 80000128: 4ddf1463 bne t5,t4,800005f0 + +000000008000012c : + 8000012c: 00300093 li ra,3 + 80000130: 00700113 li sp,7 + 80000134: 0220bf33 mulhu t5,ra,sp + 80000138: 00000e93 li t4,0 + 8000013c: 00400193 li gp,4 + 80000140: 4bdf1863 bne t5,t4,800005f0 + +0000000080000144 : + 80000144: 00000093 li ra,0 + 80000148: ffff8137 lui sp,0xffff8 + 8000014c: 0220bf33 mulhu t5,ra,sp + 80000150: 00000e93 li t4,0 + 80000154: 00500193 li gp,5 + 80000158: 49df1c63 bne t5,t4,800005f0 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00000113 li sp,0 + 80000164: 0220bf33 mulhu t5,ra,sp + 80000168: 00000e93 li t4,0 + 8000016c: 00600193 li gp,6 + 80000170: 49df1063 bne t5,t4,800005f0 + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: ffff8137 lui sp,0xffff8 + 8000017c: 0220bf33 mulhu t5,ra,sp + 80000180: ffff0eb7 lui t4,0xffff0 + 80000184: fffe8e9b addiw t4,t4,-1 + 80000188: 00fe9e93 slli t4,t4,0xf + 8000018c: 00700193 li gp,7 + 80000190: 47df1063 bne t5,t4,800005f0 + +0000000080000194 : + 80000194: faaab0b7 lui ra,0xfaaab + 80000198: aab0809b addiw ra,ra,-1365 + 8000019c: 00c09093 slli ra,ra,0xc + 800001a0: aab08093 addi ra,ra,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab> + 800001a4: 00c09093 slli ra,ra,0xc + 800001a8: aab08093 addi ra,ra,-1365 + 800001ac: 00c09093 slli ra,ra,0xc + 800001b0: aab08093 addi ra,ra,-1365 + 800001b4: 00030137 lui sp,0x30 + 800001b8: e7d1011b addiw sp,sp,-387 + 800001bc: 0220bf33 mulhu t5,ra,sp + 800001c0: 00020eb7 lui t4,0x20 + 800001c4: efee8e9b addiw t4,t4,-258 + 800001c8: 01e00193 li gp,30 + 800001cc: 43df1263 bne t5,t4,800005f0 + +00000000800001d0 : + 800001d0: 000300b7 lui ra,0x30 + 800001d4: e7d0809b addiw ra,ra,-387 + 800001d8: faaab137 lui sp,0xfaaab + 800001dc: aab1011b addiw sp,sp,-1365 + 800001e0: 00c11113 slli sp,sp,0xc + 800001e4: aab10113 addi sp,sp,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab> + 800001e8: 00c11113 slli sp,sp,0xc + 800001ec: aab10113 addi sp,sp,-1365 + 800001f0: 00c11113 slli sp,sp,0xc + 800001f4: aab10113 addi sp,sp,-1365 + 800001f8: 0220bf33 mulhu t5,ra,sp + 800001fc: 00020eb7 lui t4,0x20 + 80000200: efee8e9b addiw t4,t4,-258 + 80000204: 01f00193 li gp,31 + 80000208: 3fdf1463 bne t5,t4,800005f0 + +000000008000020c : + 8000020c: 00d0009b addiw ra,zero,13 + 80000210: 02009093 slli ra,ra,0x20 + 80000214: 00b0011b addiw sp,zero,11 + 80000218: 02011113 slli sp,sp,0x20 + 8000021c: 0220b0b3 mulhu ra,ra,sp + 80000220: 08f00e93 li t4,143 + 80000224: 00800193 li gp,8 + 80000228: 3dd09463 bne ra,t4,800005f0 + +000000008000022c : + 8000022c: 0070009b addiw ra,zero,7 + 80000230: 02109093 slli ra,ra,0x21 + 80000234: 00b0011b addiw sp,zero,11 + 80000238: 02011113 slli sp,sp,0x20 + 8000023c: 0220b133 mulhu sp,ra,sp + 80000240: 09a00e93 li t4,154 + 80000244: 00900193 li gp,9 + 80000248: 3bd11463 bne sp,t4,800005f0 + +000000008000024c : + 8000024c: 00d0009b addiw ra,zero,13 + 80000250: 02009093 slli ra,ra,0x20 + 80000254: 0210b0b3 mulhu ra,ra,ra + 80000258: 0a900e93 li t4,169 + 8000025c: 00a00193 li gp,10 + 80000260: 39d09863 bne ra,t4,800005f0 + +0000000080000264 : + 80000264: 00000213 li tp,0 + 80000268: 00d0009b addiw ra,zero,13 + 8000026c: 02009093 slli ra,ra,0x20 + 80000270: 00b0011b addiw sp,zero,11 + 80000274: 02011113 slli sp,sp,0x20 + 80000278: 0220bf33 mulhu t5,ra,sp + 8000027c: 000f0313 mv t1,t5 + 80000280: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000284: 00200293 li t0,2 + 80000288: fe5210e3 bne tp,t0,80000268 + 8000028c: 08f00e93 li t4,143 + 80000290: 00b00193 li gp,11 + 80000294: 35d31e63 bne t1,t4,800005f0 + +0000000080000298 : + 80000298: 00000213 li tp,0 + 8000029c: 0070009b addiw ra,zero,7 + 800002a0: 02109093 slli ra,ra,0x21 + 800002a4: 00b0011b addiw sp,zero,11 + 800002a8: 02011113 slli sp,sp,0x20 + 800002ac: 0220bf33 mulhu t5,ra,sp + 800002b0: 00000013 nop + 800002b4: 000f0313 mv t1,t5 + 800002b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002bc: 00200293 li t0,2 + 800002c0: fc521ee3 bne tp,t0,8000029c + 800002c4: 09a00e93 li t4,154 + 800002c8: 00c00193 li gp,12 + 800002cc: 33d31263 bne t1,t4,800005f0 + +00000000800002d0 : + 800002d0: 00000213 li tp,0 + 800002d4: 00f0009b addiw ra,zero,15 + 800002d8: 02009093 slli ra,ra,0x20 + 800002dc: 00b0011b addiw sp,zero,11 + 800002e0: 02011113 slli sp,sp,0x20 + 800002e4: 0220bf33 mulhu t5,ra,sp + 800002e8: 00000013 nop + 800002ec: 00000013 nop + 800002f0: 000f0313 mv t1,t5 + 800002f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002f8: 00200293 li t0,2 + 800002fc: fc521ce3 bne tp,t0,800002d4 + 80000300: 0a500e93 li t4,165 + 80000304: 00d00193 li gp,13 + 80000308: 2fd31463 bne t1,t4,800005f0 + +000000008000030c : + 8000030c: 00000213 li tp,0 + 80000310: 00d0009b addiw ra,zero,13 + 80000314: 02009093 slli ra,ra,0x20 + 80000318: 00b0011b addiw sp,zero,11 + 8000031c: 02011113 slli sp,sp,0x20 + 80000320: 0220bf33 mulhu t5,ra,sp + 80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000328: 00200293 li t0,2 + 8000032c: fe5212e3 bne tp,t0,80000310 + 80000330: 08f00e93 li t4,143 + 80000334: 00e00193 li gp,14 + 80000338: 2bdf1c63 bne t5,t4,800005f0 + +000000008000033c : + 8000033c: 00000213 li tp,0 + 80000340: 0070009b addiw ra,zero,7 + 80000344: 02109093 slli ra,ra,0x21 + 80000348: 00b0011b addiw sp,zero,11 + 8000034c: 02011113 slli sp,sp,0x20 + 80000350: 00000013 nop + 80000354: 0220bf33 mulhu t5,ra,sp + 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000035c: 00200293 li t0,2 + 80000360: fe5210e3 bne tp,t0,80000340 + 80000364: 09a00e93 li t4,154 + 80000368: 00f00193 li gp,15 + 8000036c: 29df1263 bne t5,t4,800005f0 + +0000000080000370 : + 80000370: 00000213 li tp,0 + 80000374: 00f0009b addiw ra,zero,15 + 80000378: 02009093 slli ra,ra,0x20 + 8000037c: 00b0011b addiw sp,zero,11 + 80000380: 02011113 slli sp,sp,0x20 + 80000384: 00000013 nop + 80000388: 00000013 nop + 8000038c: 0220bf33 mulhu t5,ra,sp + 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000394: 00200293 li t0,2 + 80000398: fc521ee3 bne tp,t0,80000374 + 8000039c: 0a500e93 li t4,165 + 800003a0: 01000193 li gp,16 + 800003a4: 25df1663 bne t5,t4,800005f0 + +00000000800003a8 : + 800003a8: 00000213 li tp,0 + 800003ac: 00d0009b addiw ra,zero,13 + 800003b0: 02009093 slli ra,ra,0x20 + 800003b4: 00000013 nop + 800003b8: 00b0011b addiw sp,zero,11 + 800003bc: 02011113 slli sp,sp,0x20 + 800003c0: 0220bf33 mulhu t5,ra,sp + 800003c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c8: 00200293 li t0,2 + 800003cc: fe5210e3 bne tp,t0,800003ac + 800003d0: 08f00e93 li t4,143 + 800003d4: 01100193 li gp,17 + 800003d8: 21df1c63 bne t5,t4,800005f0 + +00000000800003dc : + 800003dc: 00000213 li tp,0 + 800003e0: 0070009b addiw ra,zero,7 + 800003e4: 02109093 slli ra,ra,0x21 + 800003e8: 00000013 nop + 800003ec: 00b0011b addiw sp,zero,11 + 800003f0: 02011113 slli sp,sp,0x20 + 800003f4: 00000013 nop + 800003f8: 0220bf33 mulhu t5,ra,sp + 800003fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000400: 00200293 li t0,2 + 80000404: fc521ee3 bne tp,t0,800003e0 + 80000408: 09a00e93 li t4,154 + 8000040c: 01200193 li gp,18 + 80000410: 1fdf1063 bne t5,t4,800005f0 + +0000000080000414 : + 80000414: 00000213 li tp,0 + 80000418: 00f0009b addiw ra,zero,15 + 8000041c: 02009093 slli ra,ra,0x20 + 80000420: 00000013 nop + 80000424: 00000013 nop + 80000428: 00b0011b addiw sp,zero,11 + 8000042c: 02011113 slli sp,sp,0x20 + 80000430: 0220bf33 mulhu t5,ra,sp + 80000434: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000438: 00200293 li t0,2 + 8000043c: fc521ee3 bne tp,t0,80000418 + 80000440: 0a500e93 li t4,165 + 80000444: 01300193 li gp,19 + 80000448: 1bdf1463 bne t5,t4,800005f0 + +000000008000044c : + 8000044c: 00000213 li tp,0 + 80000450: 00b0011b addiw sp,zero,11 + 80000454: 02011113 slli sp,sp,0x20 + 80000458: 00d0009b addiw ra,zero,13 + 8000045c: 02009093 slli ra,ra,0x20 + 80000460: 0220bf33 mulhu t5,ra,sp + 80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000468: 00200293 li t0,2 + 8000046c: fe5212e3 bne tp,t0,80000450 + 80000470: 08f00e93 li t4,143 + 80000474: 01400193 li gp,20 + 80000478: 17df1c63 bne t5,t4,800005f0 + +000000008000047c : + 8000047c: 00000213 li tp,0 + 80000480: 00b0011b addiw sp,zero,11 + 80000484: 02011113 slli sp,sp,0x20 + 80000488: 0070009b addiw ra,zero,7 + 8000048c: 02109093 slli ra,ra,0x21 + 80000490: 00000013 nop + 80000494: 0220bf33 mulhu t5,ra,sp + 80000498: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000049c: 00200293 li t0,2 + 800004a0: fe5210e3 bne tp,t0,80000480 + 800004a4: 09a00e93 li t4,154 + 800004a8: 01500193 li gp,21 + 800004ac: 15df1263 bne t5,t4,800005f0 + +00000000800004b0 : + 800004b0: 00000213 li tp,0 + 800004b4: 00b0011b addiw sp,zero,11 + 800004b8: 02011113 slli sp,sp,0x20 + 800004bc: 00f0009b addiw ra,zero,15 + 800004c0: 02009093 slli ra,ra,0x20 + 800004c4: 00000013 nop + 800004c8: 00000013 nop + 800004cc: 0220bf33 mulhu t5,ra,sp + 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d4: 00200293 li t0,2 + 800004d8: fc521ee3 bne tp,t0,800004b4 + 800004dc: 0a500e93 li t4,165 + 800004e0: 01600193 li gp,22 + 800004e4: 11df1663 bne t5,t4,800005f0 + +00000000800004e8 : + 800004e8: 00000213 li tp,0 + 800004ec: 00b0011b addiw sp,zero,11 + 800004f0: 02011113 slli sp,sp,0x20 + 800004f4: 00000013 nop + 800004f8: 00d0009b addiw ra,zero,13 + 800004fc: 02009093 slli ra,ra,0x20 + 80000500: 0220bf33 mulhu t5,ra,sp + 80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000508: 00200293 li t0,2 + 8000050c: fe5210e3 bne tp,t0,800004ec + 80000510: 08f00e93 li t4,143 + 80000514: 01700193 li gp,23 + 80000518: 0ddf1c63 bne t5,t4,800005f0 + +000000008000051c : + 8000051c: 00000213 li tp,0 + 80000520: 00b0011b addiw sp,zero,11 + 80000524: 02011113 slli sp,sp,0x20 + 80000528: 00000013 nop + 8000052c: 0070009b addiw ra,zero,7 + 80000530: 02109093 slli ra,ra,0x21 + 80000534: 00000013 nop + 80000538: 0220bf33 mulhu t5,ra,sp + 8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000540: 00200293 li t0,2 + 80000544: fc521ee3 bne tp,t0,80000520 + 80000548: 09a00e93 li t4,154 + 8000054c: 01800193 li gp,24 + 80000550: 0bdf1063 bne t5,t4,800005f0 + +0000000080000554 : + 80000554: 00000213 li tp,0 + 80000558: 00b0011b addiw sp,zero,11 + 8000055c: 02011113 slli sp,sp,0x20 + 80000560: 00000013 nop + 80000564: 00000013 nop + 80000568: 00f0009b addiw ra,zero,15 + 8000056c: 02009093 slli ra,ra,0x20 + 80000570: 0220bf33 mulhu t5,ra,sp + 80000574: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000578: 00200293 li t0,2 + 8000057c: fc521ee3 bne tp,t0,80000558 + 80000580: 0a500e93 li t4,165 + 80000584: 01900193 li gp,25 + 80000588: 07df1463 bne t5,t4,800005f0 + +000000008000058c : + 8000058c: 01f0009b addiw ra,zero,31 + 80000590: 02009093 slli ra,ra,0x20 + 80000594: 02103133 mulhu sp,zero,ra + 80000598: 00000e93 li t4,0 + 8000059c: 01a00193 li gp,26 + 800005a0: 05d11863 bne sp,t4,800005f0 + +00000000800005a4 : + 800005a4: 0010009b addiw ra,zero,1 + 800005a8: 02509093 slli ra,ra,0x25 + 800005ac: 0200b133 mulhu sp,ra,zero + 800005b0: 00000e93 li t4,0 + 800005b4: 01b00193 li gp,27 + 800005b8: 03d11c63 bne sp,t4,800005f0 + +00000000800005bc : + 800005bc: 020030b3 mulhu ra,zero,zero + 800005c0: 00000e93 li t4,0 + 800005c4: 01c00193 li gp,28 + 800005c8: 03d09463 bne ra,t4,800005f0 + +00000000800005cc : + 800005cc: 0210009b addiw ra,zero,33 + 800005d0: 02009093 slli ra,ra,0x20 + 800005d4: 0110011b addiw sp,zero,17 + 800005d8: 02111113 slli sp,sp,0x21 + 800005dc: 0220b033 mulhu zero,ra,sp + 800005e0: 00000e93 li t4,0 + 800005e4: 01d00193 li gp,29 + 800005e8: 01d01463 bne zero,t4,800005f0 + 800005ec: 00301c63 bne zero,gp,80000604 + +00000000800005f0 : + 800005f0: 0ff0000f fence + 800005f4: 00018063 beqz gp,800005f4 + 800005f8: 00119193 slli gp,gp,0x1 + 800005fc: 0011e193 ori gp,gp,1 + 80000600: 00000073 ecall + +0000000080000604 : + 80000604: 0ff0000f fence + 80000608: 00100193 li gp,1 + 8000060c: 00000073 ecall + 80000610: c0001073 unimp + 80000614: 0000 unimp + 80000616: 0000 unimp + 80000618: 0000 unimp + 8000061a: 0000 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/test/riscv/tests/rv64um-p-mulhu.elf b/test/riscv/tests/rv64um-p-mulhu.elf new file mode 100755 index 00000000..f2b74120 Binary files /dev/null and b/test/riscv/tests/rv64um-p-mulhu.elf differ diff --git a/test/riscv/tests/rv64um-p-mulw.dump b/test/riscv/tests/rv64um-p-mulw.dump new file mode 100644 index 00000000..c9c2d8de --- /dev/null +++ b/test/riscv/tests/rv64um-p-mulw.dump @@ -0,0 +1,399 @@ + +rv64um-p-mulw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 00000093 li ra,0 + 80000100: 00000113 li sp,0 + 80000104: 02208f3b mulw t5,ra,sp + 80000108: 00000e93 li t4,0 + 8000010c: 00200193 li gp,2 + 80000110: 3ddf1263 bne t5,t4,800004d4 + +0000000080000114 : + 80000114: 00100093 li ra,1 + 80000118: 00100113 li sp,1 + 8000011c: 02208f3b mulw t5,ra,sp + 80000120: 00100e93 li t4,1 + 80000124: 00300193 li gp,3 + 80000128: 3bdf1663 bne t5,t4,800004d4 + +000000008000012c : + 8000012c: 00300093 li ra,3 + 80000130: 00700113 li sp,7 + 80000134: 02208f3b mulw t5,ra,sp + 80000138: 01500e93 li t4,21 + 8000013c: 00400193 li gp,4 + 80000140: 39df1a63 bne t5,t4,800004d4 + +0000000080000144 : + 80000144: 00000093 li ra,0 + 80000148: ffff8137 lui sp,0xffff8 + 8000014c: 02208f3b mulw t5,ra,sp + 80000150: 00000e93 li t4,0 + 80000154: 00500193 li gp,5 + 80000158: 37df1e63 bne t5,t4,800004d4 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00000113 li sp,0 + 80000164: 02208f3b mulw t5,ra,sp + 80000168: 00000e93 li t4,0 + 8000016c: 00600193 li gp,6 + 80000170: 37df1263 bne t5,t4,800004d4 + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: ffff8137 lui sp,0xffff8 + 8000017c: 02208f3b mulw t5,ra,sp + 80000180: 00000e93 li t4,0 + 80000184: 00700193 li gp,7 + 80000188: 35df1663 bne t5,t4,800004d4 + +000000008000018c : + 8000018c: 00d00093 li ra,13 + 80000190: 00b00113 li sp,11 + 80000194: 022080bb mulw ra,ra,sp + 80000198: 08f00e93 li t4,143 + 8000019c: 00800193 li gp,8 + 800001a0: 33d09a63 bne ra,t4,800004d4 + +00000000800001a4 : + 800001a4: 00e00093 li ra,14 + 800001a8: 00b00113 li sp,11 + 800001ac: 0220813b mulw sp,ra,sp + 800001b0: 09a00e93 li t4,154 + 800001b4: 00900193 li gp,9 + 800001b8: 31d11e63 bne sp,t4,800004d4 + +00000000800001bc : + 800001bc: 00d00093 li ra,13 + 800001c0: 021080bb mulw ra,ra,ra + 800001c4: 0a900e93 li t4,169 + 800001c8: 00a00193 li gp,10 + 800001cc: 31d09463 bne ra,t4,800004d4 + +00000000800001d0 : + 800001d0: 00000213 li tp,0 + 800001d4: 00d00093 li ra,13 + 800001d8: 00b00113 li sp,11 + 800001dc: 02208f3b mulw t5,ra,sp + 800001e0: 000f0313 mv t1,t5 + 800001e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800001e8: 00200293 li t0,2 + 800001ec: fe5214e3 bne tp,t0,800001d4 + 800001f0: 08f00e93 li t4,143 + 800001f4: 00b00193 li gp,11 + 800001f8: 2dd31e63 bne t1,t4,800004d4 + +00000000800001fc : + 800001fc: 00000213 li tp,0 + 80000200: 00e00093 li ra,14 + 80000204: 00b00113 li sp,11 + 80000208: 02208f3b mulw t5,ra,sp + 8000020c: 00000013 nop + 80000210: 000f0313 mv t1,t5 + 80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000218: 00200293 li t0,2 + 8000021c: fe5212e3 bne tp,t0,80000200 + 80000220: 09a00e93 li t4,154 + 80000224: 00c00193 li gp,12 + 80000228: 2bd31663 bne t1,t4,800004d4 + +000000008000022c : + 8000022c: 00000213 li tp,0 + 80000230: 00f00093 li ra,15 + 80000234: 00b00113 li sp,11 + 80000238: 02208f3b mulw t5,ra,sp + 8000023c: 00000013 nop + 80000240: 00000013 nop + 80000244: 000f0313 mv t1,t5 + 80000248: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000024c: 00200293 li t0,2 + 80000250: fe5210e3 bne tp,t0,80000230 + 80000254: 0a500e93 li t4,165 + 80000258: 00d00193 li gp,13 + 8000025c: 27d31c63 bne t1,t4,800004d4 + +0000000080000260 : + 80000260: 00000213 li tp,0 + 80000264: 00d00093 li ra,13 + 80000268: 00b00113 li sp,11 + 8000026c: 02208f3b mulw t5,ra,sp + 80000270: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000274: 00200293 li t0,2 + 80000278: fe5216e3 bne tp,t0,80000264 + 8000027c: 08f00e93 li t4,143 + 80000280: 00e00193 li gp,14 + 80000284: 25df1863 bne t5,t4,800004d4 + +0000000080000288 : + 80000288: 00000213 li tp,0 + 8000028c: 00e00093 li ra,14 + 80000290: 00b00113 li sp,11 + 80000294: 00000013 nop + 80000298: 02208f3b mulw t5,ra,sp + 8000029c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002a0: 00200293 li t0,2 + 800002a4: fe5214e3 bne tp,t0,8000028c + 800002a8: 09a00e93 li t4,154 + 800002ac: 00f00193 li gp,15 + 800002b0: 23df1263 bne t5,t4,800004d4 + +00000000800002b4 : + 800002b4: 00000213 li tp,0 + 800002b8: 00f00093 li ra,15 + 800002bc: 00b00113 li sp,11 + 800002c0: 00000013 nop + 800002c4: 00000013 nop + 800002c8: 02208f3b mulw t5,ra,sp + 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002d0: 00200293 li t0,2 + 800002d4: fe5212e3 bne tp,t0,800002b8 + 800002d8: 0a500e93 li t4,165 + 800002dc: 01000193 li gp,16 + 800002e0: 1fdf1a63 bne t5,t4,800004d4 + +00000000800002e4 : + 800002e4: 00000213 li tp,0 + 800002e8: 00d00093 li ra,13 + 800002ec: 00000013 nop + 800002f0: 00b00113 li sp,11 + 800002f4: 02208f3b mulw t5,ra,sp + 800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800002fc: 00200293 li t0,2 + 80000300: fe5214e3 bne tp,t0,800002e8 + 80000304: 08f00e93 li t4,143 + 80000308: 01100193 li gp,17 + 8000030c: 1ddf1463 bne t5,t4,800004d4 + +0000000080000310 : + 80000310: 00000213 li tp,0 + 80000314: 00e00093 li ra,14 + 80000318: 00000013 nop + 8000031c: 00b00113 li sp,11 + 80000320: 00000013 nop + 80000324: 02208f3b mulw t5,ra,sp + 80000328: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000032c: 00200293 li t0,2 + 80000330: fe5212e3 bne tp,t0,80000314 + 80000334: 09a00e93 li t4,154 + 80000338: 01200193 li gp,18 + 8000033c: 19df1c63 bne t5,t4,800004d4 + +0000000080000340 : + 80000340: 00000213 li tp,0 + 80000344: 00f00093 li ra,15 + 80000348: 00000013 nop + 8000034c: 00000013 nop + 80000350: 00b00113 li sp,11 + 80000354: 02208f3b mulw t5,ra,sp + 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000035c: 00200293 li t0,2 + 80000360: fe5212e3 bne tp,t0,80000344 + 80000364: 0a500e93 li t4,165 + 80000368: 01300193 li gp,19 + 8000036c: 17df1463 bne t5,t4,800004d4 + +0000000080000370 : + 80000370: 00000213 li tp,0 + 80000374: 00b00113 li sp,11 + 80000378: 00d00093 li ra,13 + 8000037c: 02208f3b mulw t5,ra,sp + 80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000384: 00200293 li t0,2 + 80000388: fe5216e3 bne tp,t0,80000374 + 8000038c: 08f00e93 li t4,143 + 80000390: 01400193 li gp,20 + 80000394: 15df1063 bne t5,t4,800004d4 + +0000000080000398 : + 80000398: 00000213 li tp,0 + 8000039c: 00b00113 li sp,11 + 800003a0: 00e00093 li ra,14 + 800003a4: 00000013 nop + 800003a8: 02208f3b mulw t5,ra,sp + 800003ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003b0: 00200293 li t0,2 + 800003b4: fe5214e3 bne tp,t0,8000039c + 800003b8: 09a00e93 li t4,154 + 800003bc: 01500193 li gp,21 + 800003c0: 11df1a63 bne t5,t4,800004d4 + +00000000800003c4 : + 800003c4: 00000213 li tp,0 + 800003c8: 00b00113 li sp,11 + 800003cc: 00f00093 li ra,15 + 800003d0: 00000013 nop + 800003d4: 00000013 nop + 800003d8: 02208f3b mulw t5,ra,sp + 800003dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003e0: 00200293 li t0,2 + 800003e4: fe5212e3 bne tp,t0,800003c8 + 800003e8: 0a500e93 li t4,165 + 800003ec: 01600193 li gp,22 + 800003f0: 0fdf1263 bne t5,t4,800004d4 + +00000000800003f4 : + 800003f4: 00000213 li tp,0 + 800003f8: 00b00113 li sp,11 + 800003fc: 00000013 nop + 80000400: 00d00093 li ra,13 + 80000404: 02208f3b mulw t5,ra,sp + 80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000040c: 00200293 li t0,2 + 80000410: fe5214e3 bne tp,t0,800003f8 + 80000414: 08f00e93 li t4,143 + 80000418: 01700193 li gp,23 + 8000041c: 0bdf1c63 bne t5,t4,800004d4 + +0000000080000420 : + 80000420: 00000213 li tp,0 + 80000424: 00b00113 li sp,11 + 80000428: 00000013 nop + 8000042c: 00e00093 li ra,14 + 80000430: 00000013 nop + 80000434: 02208f3b mulw t5,ra,sp + 80000438: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000043c: 00200293 li t0,2 + 80000440: fe5212e3 bne tp,t0,80000424 + 80000444: 09a00e93 li t4,154 + 80000448: 01800193 li gp,24 + 8000044c: 09df1463 bne t5,t4,800004d4 + +0000000080000450 : + 80000450: 00000213 li tp,0 + 80000454: 00b00113 li sp,11 + 80000458: 00000013 nop + 8000045c: 00000013 nop + 80000460: 00f00093 li ra,15 + 80000464: 02208f3b mulw t5,ra,sp + 80000468: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000046c: 00200293 li t0,2 + 80000470: fe5212e3 bne tp,t0,80000454 + 80000474: 0a500e93 li t4,165 + 80000478: 01900193 li gp,25 + 8000047c: 05df1c63 bne t5,t4,800004d4 + +0000000080000480 : + 80000480: 01f00093 li ra,31 + 80000484: 0210013b mulw sp,zero,ra + 80000488: 00000e93 li t4,0 + 8000048c: 01a00193 li gp,26 + 80000490: 05d11263 bne sp,t4,800004d4 + +0000000080000494 : + 80000494: 02000093 li ra,32 + 80000498: 0200813b mulw sp,ra,zero + 8000049c: 00000e93 li t4,0 + 800004a0: 01b00193 li gp,27 + 800004a4: 03d11863 bne sp,t4,800004d4 + +00000000800004a8 : + 800004a8: 020000bb mulw ra,zero,zero + 800004ac: 00000e93 li t4,0 + 800004b0: 01c00193 li gp,28 + 800004b4: 03d09063 bne ra,t4,800004d4 + +00000000800004b8 : + 800004b8: 02100093 li ra,33 + 800004bc: 02200113 li sp,34 + 800004c0: 0220803b mulw zero,ra,sp + 800004c4: 00000e93 li t4,0 + 800004c8: 01d00193 li gp,29 + 800004cc: 01d01463 bne zero,t4,800004d4 + 800004d0: 00301c63 bne zero,gp,800004e8 + +00000000800004d4 : + 800004d4: 0ff0000f fence + 800004d8: 00018063 beqz gp,800004d8 + 800004dc: 00119193 slli gp,gp,0x1 + 800004e0: 0011e193 ori gp,gp,1 + 800004e4: 00000073 ecall + +00000000800004e8 : + 800004e8: 0ff0000f fence + 800004ec: 00100193 li gp,1 + 800004f0: 00000073 ecall + 800004f4: c0001073 unimp + 800004f8: 0000 unimp + 800004fa: 0000 unimp + 800004fc: 0000 unimp + 800004fe: 0000 unimp + 80000500: 0000 unimp + 80000502: 0000 unimp diff --git a/test/riscv/tests/rv64um-p-mulw.elf b/test/riscv/tests/rv64um-p-mulw.elf new file mode 100755 index 00000000..7b1242fd Binary files /dev/null and b/test/riscv/tests/rv64um-p-mulw.elf differ diff --git a/test/riscv/tests/rv64um-p-rem.dump b/test/riscv/tests/rv64um-p-rem.dump new file mode 100644 index 00000000..a3676862 --- /dev/null +++ b/test/riscv/tests/rv64um-p-rem.dump @@ -0,0 +1,196 @@ + +rv64um-p-rem: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 01400093 li ra,20 + 80000100: 00600113 li sp,6 + 80000104: 0220ef33 rem t5,ra,sp + 80000108: 00200e93 li t4,2 + 8000010c: 00200193 li gp,2 + 80000110: 0ddf1c63 bne t5,t4,800001e8 + +0000000080000114 : + 80000114: fec00093 li ra,-20 + 80000118: 00600113 li sp,6 + 8000011c: 0220ef33 rem t5,ra,sp + 80000120: ffe00e93 li t4,-2 + 80000124: 00300193 li gp,3 + 80000128: 0ddf1063 bne t5,t4,800001e8 + +000000008000012c : + 8000012c: 01400093 li ra,20 + 80000130: ffa00113 li sp,-6 + 80000134: 0220ef33 rem t5,ra,sp + 80000138: 00200e93 li t4,2 + 8000013c: 00400193 li gp,4 + 80000140: 0bdf1463 bne t5,t4,800001e8 + +0000000080000144 : + 80000144: fec00093 li ra,-20 + 80000148: ffa00113 li sp,-6 + 8000014c: 0220ef33 rem t5,ra,sp + 80000150: ffe00e93 li t4,-2 + 80000154: 00500193 li gp,5 + 80000158: 09df1863 bne t5,t4,800001e8 + +000000008000015c : + 8000015c: fff0009b addiw ra,zero,-1 + 80000160: 03f09093 slli ra,ra,0x3f + 80000164: 00100113 li sp,1 + 80000168: 0220ef33 rem t5,ra,sp + 8000016c: 00000e93 li t4,0 + 80000170: 00600193 li gp,6 + 80000174: 07df1a63 bne t5,t4,800001e8 + +0000000080000178 : + 80000178: fff0009b addiw ra,zero,-1 + 8000017c: 03f09093 slli ra,ra,0x3f + 80000180: fff00113 li sp,-1 + 80000184: 0220ef33 rem t5,ra,sp + 80000188: 00000e93 li t4,0 + 8000018c: 00700193 li gp,7 + 80000190: 05df1c63 bne t5,t4,800001e8 + +0000000080000194 : + 80000194: fff0009b addiw ra,zero,-1 + 80000198: 03f09093 slli ra,ra,0x3f + 8000019c: 00000113 li sp,0 + 800001a0: 0220ef33 rem t5,ra,sp + 800001a4: fff00e9b addiw t4,zero,-1 + 800001a8: 03fe9e93 slli t4,t4,0x3f + 800001ac: 00800193 li gp,8 + 800001b0: 03df1c63 bne t5,t4,800001e8 + +00000000800001b4 : + 800001b4: 00100093 li ra,1 + 800001b8: 00000113 li sp,0 + 800001bc: 0220ef33 rem t5,ra,sp + 800001c0: 00100e93 li t4,1 + 800001c4: 00900193 li gp,9 + 800001c8: 03df1063 bne t5,t4,800001e8 + +00000000800001cc : + 800001cc: 00000093 li ra,0 + 800001d0: 00000113 li sp,0 + 800001d4: 0220ef33 rem t5,ra,sp + 800001d8: 00000e93 li t4,0 + 800001dc: 00a00193 li gp,10 + 800001e0: 01df1463 bne t5,t4,800001e8 + 800001e4: 00301c63 bne zero,gp,800001fc + +00000000800001e8 : + 800001e8: 0ff0000f fence + 800001ec: 00018063 beqz gp,800001ec + 800001f0: 00119193 slli gp,gp,0x1 + 800001f4: 0011e193 ori gp,gp,1 + 800001f8: 00000073 ecall + +00000000800001fc : + 800001fc: 0ff0000f fence + 80000200: 00100193 li gp,1 + 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 + 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/test/riscv/tests/rv64um-p-rem.elf b/test/riscv/tests/rv64um-p-rem.elf new file mode 100755 index 00000000..55cc62b8 Binary files /dev/null and b/test/riscv/tests/rv64um-p-rem.elf differ diff --git a/test/riscv/tests/rv64um-p-remu.dump b/test/riscv/tests/rv64um-p-remu.dump new file mode 100644 index 00000000..f33af39a --- /dev/null +++ b/test/riscv/tests/rv64um-p-remu.dump @@ -0,0 +1,195 @@ + +rv64um-p-remu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 01400093 li ra,20 + 80000100: 00600113 li sp,6 + 80000104: 0220ff33 remu t5,ra,sp + 80000108: 00200e93 li t4,2 + 8000010c: 00200193 li gp,2 + 80000110: 0ddf1e63 bne t5,t4,800001ec + +0000000080000114 : + 80000114: fec00093 li ra,-20 + 80000118: 00600113 li sp,6 + 8000011c: 0220ff33 remu t5,ra,sp + 80000120: 00200e93 li t4,2 + 80000124: 00300193 li gp,3 + 80000128: 0ddf1263 bne t5,t4,800001ec + +000000008000012c : + 8000012c: 01400093 li ra,20 + 80000130: ffa00113 li sp,-6 + 80000134: 0220ff33 remu t5,ra,sp + 80000138: 01400e93 li t4,20 + 8000013c: 00400193 li gp,4 + 80000140: 0bdf1663 bne t5,t4,800001ec + +0000000080000144 : + 80000144: fec00093 li ra,-20 + 80000148: ffa00113 li sp,-6 + 8000014c: 0220ff33 remu t5,ra,sp + 80000150: fec00e93 li t4,-20 + 80000154: 00500193 li gp,5 + 80000158: 09df1a63 bne t5,t4,800001ec + +000000008000015c : + 8000015c: fff0009b addiw ra,zero,-1 + 80000160: 03f09093 slli ra,ra,0x3f + 80000164: 00100113 li sp,1 + 80000168: 0220ff33 remu t5,ra,sp + 8000016c: 00000e93 li t4,0 + 80000170: 00600193 li gp,6 + 80000174: 07df1c63 bne t5,t4,800001ec + +0000000080000178 : + 80000178: fff0009b addiw ra,zero,-1 + 8000017c: 03f09093 slli ra,ra,0x3f + 80000180: fff00113 li sp,-1 + 80000184: 0220ff33 remu t5,ra,sp + 80000188: fff00e9b addiw t4,zero,-1 + 8000018c: 03fe9e93 slli t4,t4,0x3f + 80000190: 00700193 li gp,7 + 80000194: 05df1c63 bne t5,t4,800001ec + +0000000080000198 : + 80000198: fff0009b addiw ra,zero,-1 + 8000019c: 03f09093 slli ra,ra,0x3f + 800001a0: 00000113 li sp,0 + 800001a4: 0220ff33 remu t5,ra,sp + 800001a8: fff00e9b addiw t4,zero,-1 + 800001ac: 03fe9e93 slli t4,t4,0x3f + 800001b0: 00800193 li gp,8 + 800001b4: 03df1c63 bne t5,t4,800001ec + +00000000800001b8 : + 800001b8: 00100093 li ra,1 + 800001bc: 00000113 li sp,0 + 800001c0: 0220ff33 remu t5,ra,sp + 800001c4: 00100e93 li t4,1 + 800001c8: 00900193 li gp,9 + 800001cc: 03df1063 bne t5,t4,800001ec + +00000000800001d0 : + 800001d0: 00000093 li ra,0 + 800001d4: 00000113 li sp,0 + 800001d8: 0220ff33 remu t5,ra,sp + 800001dc: 00000e93 li t4,0 + 800001e0: 00a00193 li gp,10 + 800001e4: 01df1463 bne t5,t4,800001ec + 800001e8: 00301c63 bne zero,gp,80000200 + +00000000800001ec : + 800001ec: 0ff0000f fence + 800001f0: 00018063 beqz gp,800001f0 + 800001f4: 00119193 slli gp,gp,0x1 + 800001f8: 0011e193 ori gp,gp,1 + 800001fc: 00000073 ecall + +0000000080000200 : + 80000200: 0ff0000f fence + 80000204: 00100193 li gp,1 + 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/test/riscv/tests/rv64um-p-remu.elf b/test/riscv/tests/rv64um-p-remu.elf new file mode 100755 index 00000000..ba6c64ac Binary files /dev/null and b/test/riscv/tests/rv64um-p-remu.elf differ diff --git a/test/riscv/tests/rv64um-p-remuw.dump b/test/riscv/tests/rv64um-p-remuw.dump new file mode 100644 index 00000000..43ddd98a --- /dev/null +++ b/test/riscv/tests/rv64um-p-remuw.dump @@ -0,0 +1,168 @@ + +rv64um-p-remuw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 01400093 li ra,20 + 80000100: 00600113 li sp,6 + 80000104: 0220ff3b remuw t5,ra,sp + 80000108: 00200e93 li t4,2 + 8000010c: 00200193 li gp,2 + 80000110: 0ddf1463 bne t5,t4,800001d8 + +0000000080000114 : + 80000114: fec00093 li ra,-20 + 80000118: 00600113 li sp,6 + 8000011c: 0220ff3b remuw t5,ra,sp + 80000120: 00200e93 li t4,2 + 80000124: 00300193 li gp,3 + 80000128: 0bdf1863 bne t5,t4,800001d8 + +000000008000012c : + 8000012c: 01400093 li ra,20 + 80000130: ffa00113 li sp,-6 + 80000134: 0220ff3b remuw t5,ra,sp + 80000138: 01400e93 li t4,20 + 8000013c: 00400193 li gp,4 + 80000140: 09df1c63 bne t5,t4,800001d8 + +0000000080000144 : + 80000144: fec00093 li ra,-20 + 80000148: ffa00113 li sp,-6 + 8000014c: 0220ff3b remuw t5,ra,sp + 80000150: fec00e93 li t4,-20 + 80000154: 00500193 li gp,5 + 80000158: 09df1063 bne t5,t4,800001d8 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00100113 li sp,1 + 80000164: 0220ff3b remuw t5,ra,sp + 80000168: 00000e93 li t4,0 + 8000016c: 00600193 li gp,6 + 80000170: 07df1463 bne t5,t4,800001d8 + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: fff00113 li sp,-1 + 8000017c: 0220ff3b remuw t5,ra,sp + 80000180: 80000eb7 lui t4,0x80000 + 80000184: 00700193 li gp,7 + 80000188: 05df1863 bne t5,t4,800001d8 + +000000008000018c : + 8000018c: 800000b7 lui ra,0x80000 + 80000190: 00000113 li sp,0 + 80000194: 0220ff3b remuw t5,ra,sp + 80000198: 80000eb7 lui t4,0x80000 + 8000019c: 00800193 li gp,8 + 800001a0: 03df1c63 bne t5,t4,800001d8 + +00000000800001a4 : + 800001a4: 00100093 li ra,1 + 800001a8: 00000113 li sp,0 + 800001ac: 0220ff3b remuw t5,ra,sp + 800001b0: 00100e93 li t4,1 + 800001b4: 00900193 li gp,9 + 800001b8: 03df1063 bne t5,t4,800001d8 + +00000000800001bc : + 800001bc: 00000093 li ra,0 + 800001c0: 00000113 li sp,0 + 800001c4: 0220ff3b remuw t5,ra,sp + 800001c8: 00000e93 li t4,0 + 800001cc: 00a00193 li gp,10 + 800001d0: 01df1463 bne t5,t4,800001d8 + 800001d4: 00301c63 bne zero,gp,800001ec + +00000000800001d8 : + 800001d8: 0ff0000f fence + 800001dc: 00018063 beqz gp,800001dc + 800001e0: 00119193 slli gp,gp,0x1 + 800001e4: 0011e193 ori gp,gp,1 + 800001e8: 00000073 ecall + +00000000800001ec : + 800001ec: 0ff0000f fence + 800001f0: 00100193 li gp,1 + 800001f4: 00000073 ecall + 800001f8: c0001073 unimp + 800001fc: 0000 unimp + 800001fe: 0000 unimp + 80000200: 0000 unimp + 80000202: 0000 unimp diff --git a/test/riscv/tests/rv64um-p-remuw.elf b/test/riscv/tests/rv64um-p-remuw.elf new file mode 100755 index 00000000..86cf837c Binary files /dev/null and b/test/riscv/tests/rv64um-p-remuw.elf differ diff --git a/test/riscv/tests/rv64um-p-remw.dump b/test/riscv/tests/rv64um-p-remw.dump new file mode 100644 index 00000000..48fcac9f --- /dev/null +++ b/test/riscv/tests/rv64um-p-remw.dump @@ -0,0 +1,196 @@ + +rv64um-p-remw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c + +0000000080000004 : + 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 + +000000008000003c : + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 : + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 + 80000048: ff9ff06f j 80000040 + +000000008000004c : + 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: 01c28293 addi t0,t0,28 # 80000080 + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 + 800000b4: 0ff0000f fence + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00000297 auipc t0,0x0 + 800000ec: 01428293 addi t0,t0,20 # 800000fc + 800000f0: 34129073 csrw mepc,t0 + 800000f4: f1402573 csrr a0,mhartid + 800000f8: 30200073 mret + +00000000800000fc : + 800000fc: 01400093 li ra,20 + 80000100: 00600113 li sp,6 + 80000104: 0220ef3b remw t5,ra,sp + 80000108: 00200e93 li t4,2 + 8000010c: 00200193 li gp,2 + 80000110: 0fdf1063 bne t5,t4,800001f0 + +0000000080000114 : + 80000114: fec00093 li ra,-20 + 80000118: 00600113 li sp,6 + 8000011c: 0220ef3b remw t5,ra,sp + 80000120: ffe00e93 li t4,-2 + 80000124: 00300193 li gp,3 + 80000128: 0ddf1463 bne t5,t4,800001f0 + +000000008000012c : + 8000012c: 01400093 li ra,20 + 80000130: ffa00113 li sp,-6 + 80000134: 0220ef3b remw t5,ra,sp + 80000138: 00200e93 li t4,2 + 8000013c: 00400193 li gp,4 + 80000140: 0bdf1863 bne t5,t4,800001f0 + +0000000080000144 : + 80000144: fec00093 li ra,-20 + 80000148: ffa00113 li sp,-6 + 8000014c: 0220ef3b remw t5,ra,sp + 80000150: ffe00e93 li t4,-2 + 80000154: 00500193 li gp,5 + 80000158: 09df1c63 bne t5,t4,800001f0 + +000000008000015c : + 8000015c: 800000b7 lui ra,0x80000 + 80000160: 00100113 li sp,1 + 80000164: 0220ef3b remw t5,ra,sp + 80000168: 00000e93 li t4,0 + 8000016c: 00600193 li gp,6 + 80000170: 09df1063 bne t5,t4,800001f0 + +0000000080000174 : + 80000174: 800000b7 lui ra,0x80000 + 80000178: fff00113 li sp,-1 + 8000017c: 0220ef3b remw t5,ra,sp + 80000180: 00000e93 li t4,0 + 80000184: 00700193 li gp,7 + 80000188: 07df1463 bne t5,t4,800001f0 + +000000008000018c : + 8000018c: 800000b7 lui ra,0x80000 + 80000190: 00000113 li sp,0 + 80000194: 0220ef3b remw t5,ra,sp + 80000198: 80000eb7 lui t4,0x80000 + 8000019c: 00800193 li gp,8 + 800001a0: 05df1863 bne t5,t4,800001f0 + +00000000800001a4 : + 800001a4: 00100093 li ra,1 + 800001a8: 00000113 li sp,0 + 800001ac: 0220ef3b remw t5,ra,sp + 800001b0: 00100e93 li t4,1 + 800001b4: 00900193 li gp,9 + 800001b8: 03df1c63 bne t5,t4,800001f0 + +00000000800001bc : + 800001bc: 00000093 li ra,0 + 800001c0: 00000113 li sp,0 + 800001c4: 0220ef3b remw t5,ra,sp + 800001c8: 00000e93 li t4,0 + 800001cc: 00a00193 li gp,10 + 800001d0: 03df1063 bne t5,t4,800001f0 + +00000000800001d4 : + 800001d4: 89700093 li ra,-1897 + 800001d8: 00000113 li sp,0 + 800001dc: 0220ef3b remw t5,ra,sp + 800001e0: 89700e93 li t4,-1897 + 800001e4: 00b00193 li gp,11 + 800001e8: 01df1463 bne t5,t4,800001f0 + 800001ec: 00301c63 bne zero,gp,80000204 + +00000000800001f0 : + 800001f0: 0ff0000f fence + 800001f4: 00018063 beqz gp,800001f4 + 800001f8: 00119193 slli gp,gp,0x1 + 800001fc: 0011e193 ori gp,gp,1 + 80000200: 00000073 ecall + +0000000080000204 : + 80000204: 0ff0000f fence + 80000208: 00100193 li gp,1 + 8000020c: 00000073 ecall + 80000210: c0001073 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/test/riscv/tests/rv64um-p-remw.elf b/test/riscv/tests/rv64um-p-remw.elf new file mode 100755 index 00000000..4ef57f28 Binary files /dev/null and b/test/riscv/tests/rv64um-p-remw.elf differ -- cgit v1.2.3 From 26b7dbd222e410a2aa12df3eceb48d438bc0adeb Mon Sep 17 00:00:00 2001 From: Brian Campbell Date: Wed, 31 Jan 2018 12:35:02 +0000 Subject: Find buried set constraints in asserts --- test/mono/assert.sail | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'test') diff --git a/test/mono/assert.sail b/test/mono/assert.sail index 4b782398..5b4a013a 100644 --- a/test/mono/assert.sail +++ b/test/mono/assert.sail @@ -1,8 +1,25 @@ -val f : forall 'n. atom('n) -> unit effect {escape} +val f : forall 'n 'm. (atom('n), atom('m)) -> unit effect {escape} -function f(n) = { - assert(constraint('n in {8,16})); - let 'm = 2 * n in - let x : bits('m) = replicate_bits(0b0,'m) in +function f(n,m) = { + assert(constraint('n in {8,16} & 'm < 'n)); + let 'p = 2 * n in + let x : bits('p) = replicate_bits(0b0,'p) in + () +} + +val g : forall 'n 'm. (atom('n), atom('m)) -> unit effect {escape} + +function g(n,m) = { + assert(constraint('n in {8,16}) & 'm < 'n); + let 'p = 2 * n in + let x : bits('p) = replicate_bits(0b0,'p) in + () +} +val h : forall 'n 'm. (atom('n), atom('m)) -> unit effect {escape} + +function h(n,m) = { + assert(('n == 8 | 'n == 16) & 'm < 'n); + let 'p = 2 * n in + let x : bits('p) = replicate_bits(0b0,'p) in () } -- cgit v1.2.3 From 069e15e93ffeb611864f7873a91449dc0c180eba Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Wed, 31 Jan 2018 17:29:36 +0000 Subject: Added test case for decode patterns that are currently failing --- test/typecheck/pass/decode_patterns.sail | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 test/typecheck/pass/decode_patterns.sail (limited to 'test') diff --git a/test/typecheck/pass/decode_patterns.sail b/test/typecheck/pass/decode_patterns.sail new file mode 100644 index 00000000..486634b8 --- /dev/null +++ b/test/typecheck/pass/decode_patterns.sail @@ -0,0 +1,44 @@ +$include + +default Order dec + +type bits ('n : Int) = vector('n, dec, bit) + +val eq_anything = "eq" : forall ('a : Type). ('a, 'a) -> bool + +overload operator == = {eq_anything} + +val vector_subrange = {ocaml: "subrange", lem: "subrange_vec_dec"} : forall ('n : Int) ('m : Int) ('o : Int), 'o <= 'm <= 'n. + (bits('n), atom('m), atom('o)) -> bits('m - ('o - 1)) + +val decode : vector(16, dec, bit) -> unit + +scattered function decode + +function clause decode 0x00 @ 0b000 @ _ : bits(1) @ 0x0 as op_code = + if op_code[5 .. 5] == 0b0 then { + () + } else { + () + } + +function clause decode 0x00 @ 0b001 @ [b : bit] @ 0x0 = + if b == bitone then { + () + } else { + () + } + +end decode + +val decode2 : vector(16, dec, bit) -> unit + +function decode2 x = + match x { + 0x00 @ 0b000 @ [b : bit] @ 0x0 => + if b == bitone then { + () + } else { + () + } + } -- cgit v1.2.3 From 0e42ceae97d254a4ce51c67463828af9b04157a4 Mon Sep 17 00:00:00 2001 From: Thomas Bauereiss Date: Wed, 31 Jan 2018 17:56:53 +0000 Subject: Fix bug in bitvector pattern rewriting Make rewriter look into P_typ patterns instead of throwing them away. --- test/typecheck/pass/decode_patterns.sail | 3 +++ 1 file changed, 3 insertions(+) (limited to 'test') diff --git a/test/typecheck/pass/decode_patterns.sail b/test/typecheck/pass/decode_patterns.sail index 486634b8..d8b17f5b 100644 --- a/test/typecheck/pass/decode_patterns.sail +++ b/test/typecheck/pass/decode_patterns.sail @@ -11,6 +11,9 @@ overload operator == = {eq_anything} val vector_subrange = {ocaml: "subrange", lem: "subrange_vec_dec"} : forall ('n : Int) ('m : Int) ('o : Int), 'o <= 'm <= 'n. (bits('n), atom('m), atom('o)) -> bits('m - ('o - 1)) +val vector_access = {ocaml: "access", lem: "access_vec_dec"} : forall ('n : Int) ('m : Int), 0 <= 'm < 'n. + (bits('n), atom('m)) -> bit + val decode : vector(16, dec, bit) -> unit scattered function decode -- cgit v1.2.3 From 49dde317c5f211c47c84f84658d6bf96e4b98f9f Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Thu, 1 Feb 2018 16:31:36 +0000 Subject: Fix a bug where local variables could shadow functions Currently the fix is to disallow this shadowing entirely, because it seems to cause trouble for ocaml. --- test/ocaml/run_tests.sh | 2 +- test/ocaml/vec_32_64/vec_32_64.sail | 6 +++--- test/typecheck/pass/function_namespace.sail | 11 +++++++++++ test/typecheck/pass/function_namespace/v1.expect | 5 +++++ test/typecheck/pass/function_namespace/v1.sail | 11 +++++++++++ 5 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 test/typecheck/pass/function_namespace.sail create mode 100644 test/typecheck/pass/function_namespace/v1.expect create mode 100644 test/typecheck/pass/function_namespace/v1.sail (limited to 'test') diff --git a/test/ocaml/run_tests.sh b/test/ocaml/run_tests.sh index 62fe9950..40bd6af9 100755 --- a/test/ocaml/run_tests.sh +++ b/test/ocaml/run_tests.sh @@ -50,7 +50,7 @@ printf "\n" >> $DIR/tests.xml for i in `ls -d */`; do cd $DIR/$i; - if $SAILDIR/sail -o out -ocaml ../prelude.sail `ls *.sail` 1> /dev/null; + if $SAILDIR/sail -no_warn -o out -ocaml ../prelude.sail `ls *.sail` 1> /dev/null; then ./out > result; if diff expect result; diff --git a/test/ocaml/vec_32_64/vec_32_64.sail b/test/ocaml/vec_32_64/vec_32_64.sail index 60fa0e46..5afd421d 100644 --- a/test/ocaml/vec_32_64/vec_32_64.sail +++ b/test/ocaml/vec_32_64/vec_32_64.sail @@ -16,9 +16,9 @@ function zeros n = val main : unit -> unit function main () = { - let 'length = get_size (); - let xs = zeros(length); - if (length == 32) then { + let 'len = get_size (); + let xs = zeros(len); + if (len == 32) then { () } else { only64(xs) diff --git a/test/typecheck/pass/function_namespace.sail b/test/typecheck/pass/function_namespace.sail new file mode 100644 index 00000000..1e79f051 --- /dev/null +++ b/test/typecheck/pass/function_namespace.sail @@ -0,0 +1,11 @@ + +val test : bool -> unit + +function test _ = () + +val main: unit -> unit + +function main _ = { + let test2 = true; + test(test2) +} diff --git a/test/typecheck/pass/function_namespace/v1.expect b/test/typecheck/pass/function_namespace/v1.expect new file mode 100644 index 00000000..d01c3adb --- /dev/null +++ b/test/typecheck/pass/function_namespace/v1.expect @@ -0,0 +1,5 @@ +Type error at file "function_namespace/v1.sail", line 9, character 7 to line 9, character 10 + + let test = true; + +Local variable test is already bound as a function name diff --git a/test/typecheck/pass/function_namespace/v1.sail b/test/typecheck/pass/function_namespace/v1.sail new file mode 100644 index 00000000..a72dcc11 --- /dev/null +++ b/test/typecheck/pass/function_namespace/v1.sail @@ -0,0 +1,11 @@ + +val test : bool -> unit + +function test _ = () + +val main: unit -> unit + +function main _ = { + let test = true; + test(test) +} -- cgit v1.2.3 From a05625c5e8f67448eda077f8374bfb06c475dad5 Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Thu, 1 Feb 2018 19:43:41 +0000 Subject: More work on C compilation Can now compile things like early returns. The same approach should work for exception handling as well. Once that's in place, just need to work a bit more on getting union types to work + the library of builtins, then we should be able to compile and run some of our specs via C. Also added some documentation in comments for the general approach taken when compiling (need many more though). --- test/ocaml/run_tests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/ocaml/run_tests.sh b/test/ocaml/run_tests.sh index 40bd6af9..370048a0 100755 --- a/test/ocaml/run_tests.sh +++ b/test/ocaml/run_tests.sh @@ -74,7 +74,7 @@ cd $DIR for i in `ls -d */`; do cd $DIR/$i; - if $SAILDIR/sail -o out -ocaml_trace ../prelude.sail `ls *.sail` 1> /dev/null; + if $SAILDIR/sail -no_warn -o out -ocaml_trace ../prelude.sail `ls *.sail` 1> /dev/null; then ./out > result 2> /dev/null; if diff expect result; @@ -98,7 +98,7 @@ cd $DIR for i in `ls -d */`; do cd $DIR/$i; - if $SAILDIR/sail -is test.isail ../prelude.sail `ls *.sail` 1> /dev/null; + if $SAILDIR/sail -no_warn -is test.isail ../prelude.sail `ls *.sail` 1> /dev/null; then if diff expect result; then -- cgit v1.2.3 From bdfcb327ccf23982ae74549fc56ec3451c493ed5 Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Mon, 5 Feb 2018 17:49:11 +0000 Subject: Allow type variables to be introduced by global let bindings. This was technically allowed previously but the rules for type variable names in function types were too strict so it didn't work. Also fixed a bug where Nexp_app constructors were never considered identical and fixed a bug where top-level let bindings got annotated with the wrong environment --- test/typecheck/pass/global_type_var.sail | 21 +++++++++++++++++++++ test/typecheck/pass/global_type_var/v1.expect | 6 ++++++ test/typecheck/pass/global_type_var/v1.sail | 23 +++++++++++++++++++++++ test/typecheck/pass/global_type_var/v2.expect | 6 ++++++ test/typecheck/pass/global_type_var/v2.sail | 23 +++++++++++++++++++++++ test/typecheck/pass/global_type_var/v3.expect | 5 +++++ test/typecheck/pass/global_type_var/v3.sail | 21 +++++++++++++++++++++ 7 files changed, 105 insertions(+) create mode 100644 test/typecheck/pass/global_type_var.sail create mode 100644 test/typecheck/pass/global_type_var/v1.expect create mode 100644 test/typecheck/pass/global_type_var/v1.sail create mode 100644 test/typecheck/pass/global_type_var/v2.expect create mode 100644 test/typecheck/pass/global_type_var/v2.sail create mode 100644 test/typecheck/pass/global_type_var/v3.expect create mode 100644 test/typecheck/pass/global_type_var/v3.sail (limited to 'test') diff --git a/test/typecheck/pass/global_type_var.sail b/test/typecheck/pass/global_type_var.sail new file mode 100644 index 00000000..215907b4 --- /dev/null +++ b/test/typecheck/pass/global_type_var.sail @@ -0,0 +1,21 @@ +$include + +overload operator == = {eq_atom} + +let (size as 'size) : {|32, 64|} = 32 + +val zeros : forall 'n. atom('n) -> vector ('n, dec, bit) + +val test : atom('size) -> unit + +function test x = + if x == 32 then { + () + } else { + let y : atom(64) = size in + () + } + +val test2 : unit -> atom('size) + +function test2 () = size diff --git a/test/typecheck/pass/global_type_var/v1.expect b/test/typecheck/pass/global_type_var/v1.expect new file mode 100644 index 00000000..67355f59 --- /dev/null +++ b/test/typecheck/pass/global_type_var/v1.expect @@ -0,0 +1,6 @@ +Type error at file "global_type_var/v1.sail", line 23, character 14 to line 23, character 15 + +let _ = test(32) + +Tried performing type coercion on 32 +Failed because atom<32> is not a subtype of atom<'size> in context ('size = 32 | 'size = 64) diff --git a/test/typecheck/pass/global_type_var/v1.sail b/test/typecheck/pass/global_type_var/v1.sail new file mode 100644 index 00000000..f2b2f89a --- /dev/null +++ b/test/typecheck/pass/global_type_var/v1.sail @@ -0,0 +1,23 @@ +$include + +overload operator == = {eq_atom} + +let (size as 'size) : {|32, 64|} = 32 + +val zeros : forall 'n. atom('n) -> vector ('n, dec, bit) + +val test : atom('size) -> unit + +function test x = + if x == 32 then { + () + } else { + let y : atom(64) = size in + () + } + +val test2 : unit -> atom('size) + +function test2 () = size + +let _ = test(32) \ No newline at end of file diff --git a/test/typecheck/pass/global_type_var/v2.expect b/test/typecheck/pass/global_type_var/v2.expect new file mode 100644 index 00000000..fb31fbed --- /dev/null +++ b/test/typecheck/pass/global_type_var/v2.expect @@ -0,0 +1,6 @@ +Type error at file "global_type_var/v2.sail", line 23, character 14 to line 23, character 15 + +let _ = test(64) + +Tried performing type coercion on 64 +Failed because atom<64> is not a subtype of atom<'size> in context ('size = 32 | 'size = 64) diff --git a/test/typecheck/pass/global_type_var/v2.sail b/test/typecheck/pass/global_type_var/v2.sail new file mode 100644 index 00000000..e8340978 --- /dev/null +++ b/test/typecheck/pass/global_type_var/v2.sail @@ -0,0 +1,23 @@ +$include + +overload operator == = {eq_atom} + +let (size as 'size) : {|32, 64|} = 32 + +val zeros : forall 'n. atom('n) -> vector ('n, dec, bit) + +val test : atom('size) -> unit + +function test x = + if x == 32 then { + () + } else { + let y : atom(64) = size in + () + } + +val test2 : unit -> atom('size) + +function test2 () = size + +let _ = test(64) \ No newline at end of file diff --git a/test/typecheck/pass/global_type_var/v3.expect b/test/typecheck/pass/global_type_var/v3.expect new file mode 100644 index 00000000..a01f3eec --- /dev/null +++ b/test/typecheck/pass/global_type_var/v3.expect @@ -0,0 +1,5 @@ +Type error at file "global_type_var/v3.sail", line 9, character 19 to line 9, character 23 + +val test : forall 'size. atom('size) -> unit + +Kind identifier 'size is already bound diff --git a/test/typecheck/pass/global_type_var/v3.sail b/test/typecheck/pass/global_type_var/v3.sail new file mode 100644 index 00000000..274490ff --- /dev/null +++ b/test/typecheck/pass/global_type_var/v3.sail @@ -0,0 +1,21 @@ +$include + +overload operator == = {eq_atom} + +let (size as 'size) : {|32, 64|} = 32 + +val zeros : forall 'n. atom('n) -> vector ('n, dec, bit) + +val test : forall 'size. atom('size) -> unit + +function test x = + if x == 32 then { + () + } else { + let y : atom(64) = size in + () + } + +val test2 : unit -> atom('size) + +function test2 () = size -- cgit v1.2.3