From 12b86632af7fec3601b7bf53702034a2d0907f6b Mon Sep 17 00:00:00 2001 From: Seddon <64512212+SeddonShen@users.noreply.github.com> Date: Mon, 4 Nov 2024 16:29:07 +0800 Subject: [PATCH] Add supprot for Zba, Zbb and Zbc (#28) * test: add test cases for zba zbb zbc. * feat: add support for Zba, Zbb and Zbc. * fix: remove redundant comments. --- .../scala/rvspeccore/checker/Checker.scala | 75 +- src/main/scala/rvspeccore/core/RVConfig.scala | 7 +- .../scala/rvspeccore/core/RiscvCore.scala | 1 + .../rvspeccore/core/spec/RVInstSet.scala | 1 + .../core/spec/instset/BExtension.scala | 373 ++++ .../rvspeccore/core/spec/instset/IBase.scala | 22 +- .../core/spec/instset/csr/CSRSupport.scala | 7 +- .../scala/rvspeccore/core/RiscvCoreSpec.scala | 18 +- .../rv32uzba/rv32uzba-sh1add.dump | 531 ++++++ .../rv32uzba/rv32uzba-sh1add.hex | 1505 ++++++++++++++++ .../rv32uzba/rv32uzba-sh2add.dump | 531 ++++++ .../rv32uzba/rv32uzba-sh2add.hex | 1505 ++++++++++++++++ .../rv32uzba/rv32uzba-sh3add.dump | 531 ++++++ .../rv32uzba/rv32uzba-sh3add.hex | 1505 ++++++++++++++++ .../rv32uzbb/rv32uzbb-andn.dump | 493 ++++++ .../rv32uzbb/rv32uzbb-andn.hex | 1439 +++++++++++++++ .../rv32uzbb/rv32uzbb-clz.dump | 348 ++++ .../riscv-tests-hex/rv32uzbb/rv32uzbb-clz.hex | 1433 +++++++++++++++ .../rv32uzbb/rv32uzbb-cpop.dump | 348 ++++ .../rv32uzbb/rv32uzbb-cpop.hex | 1433 +++++++++++++++ .../rv32uzbb/rv32uzbb-ctz.dump | 348 ++++ .../riscv-tests-hex/rv32uzbb/rv32uzbb-ctz.hex | 1433 +++++++++++++++ .../rv32uzbb/rv32uzbb-max.dump | 532 ++++++ .../riscv-tests-hex/rv32uzbb/rv32uzbb-max.hex | 1505 ++++++++++++++++ .../rv32uzbb/rv32uzbb-maxu.dump | 534 ++++++ .../rv32uzbb/rv32uzbb-maxu.hex | 1505 ++++++++++++++++ .../rv32uzbb/rv32uzbb-min.dump | 536 ++++++ .../riscv-tests-hex/rv32uzbb/rv32uzbb-min.hex | 1505 ++++++++++++++++ .../rv32uzbb/rv32uzbb-minu.dump | 534 ++++++ .../rv32uzbb/rv32uzbb-minu.hex | 1505 ++++++++++++++++ .../rv32uzbb/rv32uzbb-orc_b.dump | 342 ++++ .../rv32uzbb/rv32uzbb-orc_b.hex | 1433 +++++++++++++++ .../rv32uzbb/rv32uzbb-orn.dump | 518 ++++++ .../riscv-tests-hex/rv32uzbb/rv32uzbb-orn.hex | 1439 +++++++++++++++ .../rv32uzbb/rv32uzbb-rev8.dump | 372 ++++ .../rv32uzbb/rv32uzbb-rev8.hex | 1433 +++++++++++++++ .../rv32uzbb/rv32uzbb-rol.dump | 638 +++++++ .../riscv-tests-hex/rv32uzbb/rv32uzbb-rol.hex | 1559 +++++++++++++++++ .../rv32uzbb/rv32uzbb-ror.dump | 598 +++++++ .../riscv-tests-hex/rv32uzbb/rv32uzbb-ror.hex | 1535 ++++++++++++++++ .../rv32uzbb/rv32uzbb-rori.dump | 366 ++++ .../rv32uzbb/rv32uzbb-rori.hex | 1427 +++++++++++++++ .../rv32uzbb/rv32uzbb-sext_b.dump | 348 ++++ .../rv32uzbb/rv32uzbb-sext_b.hex | 1433 +++++++++++++++ .../rv32uzbb/rv32uzbb-sext_h.dump | 345 ++++ .../rv32uzbb/rv32uzbb-sext_h.hex | 1433 +++++++++++++++ .../rv32uzbb/rv32uzbb-xnor.dump | 517 ++++++ .../rv32uzbb/rv32uzbb-xnor.hex | 1439 +++++++++++++++ .../rv32uzbb/rv32uzbb-zext_h.dump | 373 ++++ .../rv32uzbb/rv32uzbb-zext_h.hex | 1433 +++++++++++++++ .../rv32uzbc/rv32uzbc-clmul.dump | 534 ++++++ .../rv32uzbc/rv32uzbc-clmul.hex | 1499 ++++++++++++++++ .../rv32uzbc/rv32uzbc-clmulh.dump | 534 ++++++ .../rv32uzbc/rv32uzbc-clmulh.hex | 1499 ++++++++++++++++ .../rv32uzbc/rv32uzbc-clmulr.dump | 534 ++++++ .../rv32uzbc/rv32uzbc-clmulr.hex | 1499 ++++++++++++++++ .../rv64uzba/rv64uzba-add_uw.dump | 553 ++++++ .../rv64uzba/rv64uzba-add_uw.hex | 831 +++++++++ .../rv64uzba/rv64uzba-sh1add.dump | 550 ++++++ .../rv64uzba/rv64uzba-sh1add.hex | 831 +++++++++ .../rv64uzba/rv64uzba-sh1add_uw.dump | 546 ++++++ .../rv64uzba/rv64uzba-sh1add_uw.hex | 831 +++++++++ .../rv64uzba/rv64uzba-sh2add.dump | 550 ++++++ .../rv64uzba/rv64uzba-sh2add.hex | 831 +++++++++ .../rv64uzba/rv64uzba-sh2add_uw.dump | 546 ++++++ .../rv64uzba/rv64uzba-sh2add_uw.hex | 831 +++++++++ .../rv64uzba/rv64uzba-sh3add.dump | 550 ++++++ .../rv64uzba/rv64uzba-sh3add.hex | 831 +++++++++ .../rv64uzba/rv64uzba-sh3add_uw.dump | 546 ++++++ .../rv64uzba/rv64uzba-sh3add_uw.hex | 831 +++++++++ .../rv64uzba/rv64uzba-slli_uw.dump | 396 +++++ .../rv64uzba/rv64uzba-slli_uw.hex | 791 +++++++++ .../rv64uzbb/rv64uzbb-andn.dump | 583 ++++++ .../rv64uzbb/rv64uzbb-andn.hex | 799 +++++++++ .../rv64uzbb/rv64uzbb-clz.dump | 361 ++++ .../riscv-tests-hex/rv64uzbb/rv64uzbb-clz.hex | 783 +++++++++ .../rv64uzbb/rv64uzbb-clzw.dump | 342 ++++ .../rv64uzbb/rv64uzbb-clzw.hex | 783 +++++++++ .../rv64uzbb/rv64uzbb-cpop.dump | 361 ++++ .../rv64uzbb/rv64uzbb-cpop.hex | 783 +++++++++ .../rv64uzbb/rv64uzbb-cpopw.dump | 342 ++++ .../rv64uzbb/rv64uzbb-cpopw.hex | 783 +++++++++ .../rv64uzbb/rv64uzbb-ctz.dump | 361 ++++ .../riscv-tests-hex/rv64uzbb/rv64uzbb-ctz.hex | 783 +++++++++ .../rv64uzbb/rv64uzbb-ctzw.dump | 373 ++++ .../rv64uzbb/rv64uzbb-ctzw.hex | 783 +++++++++ .../rv64uzbb/rv64uzbb-max.dump | 531 ++++++ .../riscv-tests-hex/rv64uzbb/rv64uzbb-max.hex | 831 +++++++++ .../rv64uzbb/rv64uzbb-maxu.dump | 566 ++++++ .../rv64uzbb/rv64uzbb-maxu.hex | 831 +++++++++ .../rv64uzbb/rv64uzbb-min.dump | 535 ++++++ .../riscv-tests-hex/rv64uzbb/rv64uzbb-min.hex | 831 +++++++++ .../rv64uzbb/rv64uzbb-minu.dump | 545 ++++++ .../rv64uzbb/rv64uzbb-minu.hex | 831 +++++++++ .../rv64uzbb/rv64uzbb-orc_b.dump | 401 +++++ .../rv64uzbb/rv64uzbb-orc_b.hex | 783 +++++++++ .../rv64uzbb/rv64uzbb-orn.dump | 574 ++++++ .../riscv-tests-hex/rv64uzbb/rv64uzbb-orn.hex | 799 +++++++++ .../rv64uzbb/rv64uzbb-rev8.dump | 415 +++++ .../rv64uzbb/rv64uzbb-rev8.hex | 783 +++++++++ .../rv64uzbb/rv64uzbb-rol.dump | 626 +++++++ .../riscv-tests-hex/rv64uzbb/rv64uzbb-rol.hex | 863 +++++++++ .../rv64uzbb/rv64uzbb-rolw.dump | 629 +++++++ .../rv64uzbb/rv64uzbb-rolw.hex | 867 +++++++++ .../rv64uzbb/rv64uzbb-ror.dump | 663 +++++++ .../riscv-tests-hex/rv64uzbb/rv64uzbb-ror.hex | 863 +++++++++ .../rv64uzbb/rv64uzbb-rori.dump | 425 +++++ .../rv64uzbb/rv64uzbb-rori.hex | 791 +++++++++ .../rv64uzbb/rv64uzbb-roriw.dump | 365 ++++ .../rv64uzbb/rv64uzbb-roriw.hex | 779 ++++++++ .../rv64uzbb/rv64uzbb-rorw.dump | 597 +++++++ .../rv64uzbb/rv64uzbb-rorw.hex | 851 +++++++++ .../rv64uzbb/rv64uzbb-sext_b.dump | 361 ++++ .../rv64uzbb/rv64uzbb-sext_b.hex | 783 +++++++++ .../rv64uzbb/rv64uzbb-sext_h.dump | 358 ++++ .../rv64uzbb/rv64uzbb-sext_h.hex | 783 +++++++++ .../rv64uzbb/rv64uzbb-xnor.dump | 575 ++++++ .../rv64uzbb/rv64uzbb-xnor.hex | 799 +++++++++ .../rv64uzbb/rv64uzbb-zext_h.dump | 386 ++++ .../rv64uzbb/rv64uzbb-zext_h.hex | 783 +++++++++ .../rv64uzbc/rv64uzbc-clmul.dump | 524 ++++++ .../rv64uzbc/rv64uzbc-clmul.hex | 811 +++++++++ .../rv64uzbc/rv64uzbc-clmulh.dump | 519 ++++++ .../rv64uzbc/rv64uzbc-clmulh.hex | 811 +++++++++ .../rv64uzbc/rv64uzbc-clmulr.dump | 521 ++++++ .../rv64uzbc/rv64uzbc-clmulr.hex | 811 +++++++++ 126 files changed, 92510 insertions(+), 78 deletions(-) create mode 100644 src/main/scala/rvspeccore/core/spec/instset/BExtension.scala create mode 100644 testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh1add.dump create mode 100644 testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh1add.hex create mode 100644 testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh2add.dump create mode 100644 testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh2add.hex create mode 100644 testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh3add.dump create mode 100644 testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh3add.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-andn.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-andn.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-clz.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-clz.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-cpop.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-cpop.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ctz.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ctz.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-max.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-max.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-maxu.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-maxu.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-min.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-min.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-minu.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-minu.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orc_b.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orc_b.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orn.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orn.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rev8.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rev8.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rol.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rol.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ror.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ror.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rori.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rori.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_b.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_b.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_h.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_h.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-xnor.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-xnor.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-zext_h.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-zext_h.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmul.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmul.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulh.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulh.hex create mode 100644 testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulr.dump create mode 100644 testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulr.hex create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-add_uw.dump create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-add_uw.hex create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add.dump create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add.hex create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add_uw.dump create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add_uw.hex create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add.dump create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add.hex create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add_uw.dump create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add_uw.hex create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add.dump create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add.hex create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add_uw.dump create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add_uw.hex create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-slli_uw.dump create mode 100644 testcase/riscv-tests-hex/rv64uzba/rv64uzba-slli_uw.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-andn.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-andn.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clz.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clz.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clzw.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clzw.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpop.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpop.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpopw.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpopw.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctz.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctz.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctzw.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctzw.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-max.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-max.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-maxu.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-maxu.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-min.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-min.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-minu.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-minu.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orc_b.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orc_b.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orn.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orn.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rev8.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rev8.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rol.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rol.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rolw.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rolw.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ror.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ror.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rori.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rori.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-roriw.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-roriw.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rorw.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rorw.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_b.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_b.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_h.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_h.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-xnor.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-xnor.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-zext_h.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-zext_h.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmul.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmul.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulh.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulh.hex create mode 100644 testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulr.dump create mode 100644 testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulr.hex diff --git a/src/main/scala/rvspeccore/checker/Checker.scala b/src/main/scala/rvspeccore/checker/Checker.scala index 7ed398d..1d75e55 100644 --- a/src/main/scala/rvspeccore/checker/Checker.scala +++ b/src/main/scala/rvspeccore/checker/Checker.scala @@ -91,20 +91,20 @@ class CheckerWithResult(val checkMem: Boolean = true, enableReg: Boolean = false if (checkMem) { if (!config.functions.tlb) { - assert(io.mem.get.read.valid === specCore.io.mem.read.valid) - when(io.mem.get.read.valid || specCore.io.mem.read.valid) { - assert(io.mem.get.read.addr === specCore.io.mem.read.addr) - assert(io.mem.get.read.memWidth === specCore.io.mem.read.memWidth) + assert(regDelay(io.mem.get.read.valid) === regDelay(specCore.io.mem.read.valid)) + when(regDelay(io.mem.get.read.valid || specCore.io.mem.read.valid)) { + assert(regDelay(io.mem.get.read.addr) === regDelay(specCore.io.mem.read.addr)) + assert(regDelay(io.mem.get.read.memWidth) === regDelay(specCore.io.mem.read.memWidth)) } - assert(io.mem.get.write.valid === specCore.io.mem.write.valid) - when(io.mem.get.write.valid || specCore.io.mem.write.valid) { - assert(io.mem.get.write.addr === specCore.io.mem.write.addr) - assert(io.mem.get.write.data === specCore.io.mem.write.data) - assert(io.mem.get.write.memWidth === specCore.io.mem.write.memWidth) + assert(regDelay(io.mem.get.write.valid) === regDelay(specCore.io.mem.write.valid)) + when(regDelay(io.mem.get.write.valid || specCore.io.mem.write.valid)) { + assert(regDelay(io.mem.get.write.addr) === regDelay(specCore.io.mem.write.addr)) + assert(regDelay(io.mem.get.write.data) === regDelay(specCore.io.mem.write.data)) + assert(regDelay(io.mem.get.write.memWidth) === regDelay(specCore.io.mem.write.memWidth)) } specCore.io.mem.read.data := io.mem.get.read.data } else { - // printf("[specCore] Valid:%x PC: %x Inst: %x\n", specCore.io.valid, specCore.io.now.pc, specCore.io.inst) + // printf("[SpecCore] Valid:%x PC: %x Inst: %x\n", specCore.io.valid, specCore.io.now.pc, specCore.io.inst) // specCore.io.mem.read.data := { if (checkMem) io.mem.get.read.data else DontCare } val TLBLoadQueue = Seq.fill(3)(Module(new QueueModuleTLB())) // initial the queue @@ -114,18 +114,6 @@ class CheckerWithResult(val checkMem: Boolean = true, enableReg: Boolean = false TLBLoadQueue(i).io.in.bits := 0.U.asTypeOf(new StoreOrLoadInfoTLB) } when(io.dtlbmem.get.read.valid) { - assert(RegNext(TLBLoadQueue(0).io.in.valid, false.B) === false.B) - assert(RegNext(TLBLoadQueue(0).io.in.bits.addr, 0.U) === 0.U) - assert(RegNext(TLBLoadQueue(0).io.in.bits.data, 0.U) === 0.U) - assert(RegNext(TLBLoadQueue(0).io.in.bits.level, 0.U) === 0.U) - assert(RegNext(TLBLoadQueue(1).io.in.valid, false.B) === false.B) - assert(RegNext(TLBLoadQueue(1).io.in.bits.addr, 0.U) === 0.U) - assert(RegNext(TLBLoadQueue(1).io.in.bits.data, 0.U) === 0.U) - assert(RegNext(TLBLoadQueue(1).io.in.bits.level, 0.U) === 0.U) - assert(RegNext(TLBLoadQueue(2).io.in.valid, false.B) === false.B) - assert(RegNext(TLBLoadQueue(2).io.in.bits.addr, 0.U) === 0.U) - assert(RegNext(TLBLoadQueue(2).io.in.bits.data, 0.U) === 0.U) - assert(RegNext(TLBLoadQueue(2).io.in.bits.level, 0.U) === 0.U) for (i <- 0 until 3) { when(io.dtlbmem.get.read.level === i.U) { @@ -139,12 +127,10 @@ class CheckerWithResult(val checkMem: Boolean = true, enableReg: Boolean = false for (i <- 0 until 3) { when(specCore.io.tlb.get.Anotherread(i).valid) { TLBLoadQueue(2 - i).io.out.ready := true.B - // printf("Load out Queue.... valid: %x %x %x %x\n", LoadQueue.io.out.valid, LoadQueue.io.out.bits.addr, LoadQueue.io.out.bits.data, LoadQueue.io.out.bits.memWidth) + // printf("[SpecCore] Load out Queue Valid: %x %x %x %x\n", LoadQueue.io.out.valid, LoadQueue.io.out.bits.addr, LoadQueue.io.out.bits.data, LoadQueue.io.out.bits.memWidth) specCore.io.tlb.get.Anotherread(i).data := { if (checkMem) TLBLoadQueue(2 - i).io.out.bits.data else DontCare } - // TODO: 第Level 1 assert is inconsistent nutshell and the condition need to modify. - // assert(TLBLoadQueue(i).io.out.bits.addr === specCore.io.mem.read.addr) } when(regDelay(specCore.io.tlb.get.Anotherread(i).valid)) { assert(regDelay(TLBLoadQueue(2 - i).io.out.bits.addr) === regDelay(specCore.io.tlb.get.Anotherread(i).addr)) @@ -158,17 +144,17 @@ class CheckerWithResult(val checkMem: Boolean = true, enableReg: Boolean = false LoadQueue.io.in.bits.addr := io.mem.get.read.addr LoadQueue.io.in.bits.data := io.mem.get.read.data LoadQueue.io.in.bits.memWidth := io.mem.get.read.memWidth - // printf("Load into Queue.... valid: %x %x %x %x\n", LoadQueue.io.in.valid, load_push.addr, load_push.data, load_push.memWidth) + // printf("[SpecCore] Load into Queue Valid: %x %x %x %x\n", LoadQueue.io.in.valid, load_push.addr, load_push.data, load_push.memWidth) }.otherwise { LoadQueue.io.in.valid := false.B LoadQueue.io.in.bits := 0.U.asTypeOf(new StoreOrLoadInfo) } - when(specCore.io.mem.read.valid) { + when(regDelay(specCore.io.mem.read.valid)) { LoadQueue.io.out.ready := true.B - // printf("Load out Queue.... valid: %x %x %x %x\n", LoadQueue.io.out.valid, LoadQueue.io.out.bits.addr, LoadQueue.io.out.bits.data, LoadQueue.io.out.bits.memWidth) + // printf("[SpecCore] Load out Queue Valid: %x %x %x %x\n", LoadQueue.io.out.valid, LoadQueue.io.out.bits.addr, LoadQueue.io.out.bits.data, LoadQueue.io.out.bits.memWidth) specCore.io.mem.read.data := LoadQueue.io.out.bits.data - assert(LoadQueue.io.out.bits.addr === specCore.io.mem.read.addr) - assert(LoadQueue.io.out.bits.memWidth === specCore.io.mem.read.memWidth) + assert(regDelay(LoadQueue.io.out.bits.addr) === regDelay(specCore.io.mem.read.addr)) + assert(regDelay(LoadQueue.io.out.bits.memWidth) === regDelay(specCore.io.mem.read.memWidth)) }.otherwise { LoadQueue.io.out.ready := false.B specCore.io.mem.read.data := 0.U @@ -180,17 +166,17 @@ class CheckerWithResult(val checkMem: Boolean = true, enableReg: Boolean = false StoreQueue.io.in.bits.addr := io.mem.get.write.addr StoreQueue.io.in.bits.data := io.mem.get.write.data StoreQueue.io.in.bits.memWidth := io.mem.get.write.memWidth - // printf("Store into Queue.... valid: %x %x %x %x\n", StoreQueue.io.in.valid, store_push.addr, store_push.data, store_push.memWidth) + // printf("[SpecCore] Store into Queue Valid: %x %x %x %x\n", StoreQueue.io.in.valid, store_push.addr, store_push.data, store_push.memWidth) }.otherwise { StoreQueue.io.in.valid := false.B StoreQueue.io.in.bits := 0.U.asTypeOf(new StoreOrLoadInfo) } - when(specCore.io.mem.write.valid) { + when(regDelay(specCore.io.mem.write.valid)) { StoreQueue.io.out.ready := true.B - // printf("Store out Queue.... valid: %x %x %x %x\n", StoreQueue.io.out.valid, StoreQueue.io.out.bits.addr, StoreQueue.io.out.bits.data, StoreQueue.io.out.bits.memWidth) - assert(StoreQueue.io.out.bits.addr === specCore.io.mem.write.addr) - assert(StoreQueue.io.out.bits.data === specCore.io.mem.write.data) - assert(StoreQueue.io.out.bits.memWidth === specCore.io.mem.write.memWidth) + // printf("[SpecCore] Store out Queue Valid: %x %x %x %x\n", StoreQueue.io.out.valid, StoreQueue.io.out.bits.addr, StoreQueue.io.out.bits.data, StoreQueue.io.out.bits.memWidth) + assert(regDelay(StoreQueue.io.out.bits.addr) === regDelay(specCore.io.mem.write.addr)) + assert(regDelay(StoreQueue.io.out.bits.data) === regDelay(specCore.io.mem.write.data)) + assert(regDelay(StoreQueue.io.out.bits.memWidth) === regDelay(specCore.io.mem.write.memWidth)) }.otherwise { StoreQueue.io.out.ready := false.B } @@ -200,25 +186,22 @@ class CheckerWithResult(val checkMem: Boolean = true, enableReg: Boolean = false } when(regDelay(io.instCommit.valid)) { - // next reg - for (i <- 0 until 32) { - assert(regDelay(io.result.reg(i.U)) === regDelay(specCore.io.next.reg(i.U))) - } - } - // printf("[SSD] io.instCommit.valid %x io.event.valid %x speccore.io.event.valid %x\n", io.instCommit.valid, io.event.valid, specCore.io.event.valid) - when(io.instCommit.valid) { // now pc: - assert(io.instCommit.pc === specCore.io.now.pc) + assert(regDelay(io.instCommit.pc) === regDelay(specCore.io.now.pc)) // next pc: hard to get next pc in a pipeline, check it at next instruction - // next csr: io.result.csr.table.zip(specCore.io.next.csr.table).map { case (result, next) => { - assert(result.signal === next.signal) + assert(regDelay(result.signal) === regDelay(next.signal)) } } + // next reg + for (i <- 0 until 32) { + assert(regDelay(io.result.reg(i.U)) === regDelay(specCore.io.next.reg(i.U))) + } } + when(regDelay(io.event.valid) || regDelay(specCore.io.event.valid)) { assert( regDelay(io.event.valid) === regDelay(specCore.io.event.valid) diff --git a/src/main/scala/rvspeccore/core/RVConfig.scala b/src/main/scala/rvspeccore/core/RVConfig.scala index 83e3a87..3ac7a89 100644 --- a/src/main/scala/rvspeccore/core/RVConfig.scala +++ b/src/main/scala/rvspeccore/core/RVConfig.scala @@ -6,7 +6,7 @@ import chisel3.util._ case class RVConfig(configs: (String, Any)*) { private val acceptKeys = Map( "XLEN" -> Set("32", "64"), - "extensions" -> Set("I", "M", "C", "Zifencei", "Zicsr", "U", "S"), + "extensions" -> Set("I", "M", "C", "Zifencei", "Zicsr", "Zba", "Zbb", "Zbc", "U", "S"), "fakeExtensions" -> "ABCDEFGHIJKLMNOPQRSTUVWXYZ".map(_.toString).toSet, "initValue" -> Set("pc", "mstatus", "mtvec"), "functions" -> Set("Privileged", "TLB"), @@ -40,6 +40,11 @@ case class RVConfig(configs: (String, Any)*) { val C = raw.contains("C") val Zifencei = raw.contains("Zifencei") val Zicsr = raw.contains("Zicsr") + val Zba = raw.contains("Zba") + val Zbb = raw.contains("Zbb") + val Zbc = raw.contains("Zbc") + val Zbs = raw.contains("Zbs") + val B = Zba || Zbb || Zbc || Zbs // - RSIC-V ISA, Privileged, 20240411 // - 1. Introduction diff --git a/src/main/scala/rvspeccore/core/RiscvCore.scala b/src/main/scala/rvspeccore/core/RiscvCore.scala index c9af3a4..1996c7d 100644 --- a/src/main/scala/rvspeccore/core/RiscvCore.scala +++ b/src/main/scala/rvspeccore/core/RiscvCore.scala @@ -142,6 +142,7 @@ class RiscvTrans()(implicit config: RVConfig) extends BaseCore with RVInstSet { if (config.functions.privileged) doRVPrivileged if (config.extensions.Zicsr) doRVZicsr if (config.extensions.Zifencei) doRVZifencei + if (config.extensions.B) doRVB // End excute next.reg(0) := 0.U diff --git a/src/main/scala/rvspeccore/core/spec/RVInstSet.scala b/src/main/scala/rvspeccore/core/spec/RVInstSet.scala index 9b03a1b..2941213 100644 --- a/src/main/scala/rvspeccore/core/spec/RVInstSet.scala +++ b/src/main/scala/rvspeccore/core/spec/RVInstSet.scala @@ -13,3 +13,4 @@ trait RVInstSet with csr.CSRSupport with csr.ExceptionSupport with PrivilegedExtension + with BExtension diff --git a/src/main/scala/rvspeccore/core/spec/instset/BExtension.scala b/src/main/scala/rvspeccore/core/spec/instset/BExtension.scala new file mode 100644 index 0000000..e01520c --- /dev/null +++ b/src/main/scala/rvspeccore/core/spec/instset/BExtension.scala @@ -0,0 +1,373 @@ +package rvspeccore.core.spec.instset + +import chisel3._ +import chisel3.util._ + +import rvspeccore.core.BaseCore +import rvspeccore.core.spec._ +import rvspeccore.core.tool.BitTool._ + +/** "B" Extension for Bit Manipulation, Version 1.0.0 + * + * - riscv-spec-20240411 + * - Chapter 28: "B" Extension for Bit Manipulation, Version 1.0.0 + * - 28.5. Instructions (in alphabetical order) + */ +trait BExtensionInsts { + val add_uw = Inst("b0000100_?????_?????_000_?????_0111011") + val andn = Inst("b0100000_?????_?????_111_?????_0110011") + val bclr = Inst("b0100100_?????_?????_001_?????_0110011") + val bclri = Inst( + 32 -> "b0100100_?????_?????_011_?????_0110011", + 64 -> "b010010_??????_?????_011_?????_0110011" + ) + val bext = Inst("b0100100_?????_?????_101_?????_0110011") + val bexti = Inst( + 32 -> "b0100100_?????_?????_101_?????_0010011", + 64 -> "b010010_??????_?????_101_?????_0010011" + ) + val binv = Inst("b0110100_?????_?????_001_?????_0110011") + val binvi = Inst( + 32 -> "b0110100_?????_?????_001_?????_0010011", + 64 -> "b011010_??????_?????_001_?????_0010011" + ) + val bseti = Inst( + 32 -> "b0010100_?????_?????_001_?????_0010011", + 64 -> "b001010_??????_?????_001_?????_0010011" + ) + val bset = Inst("b0010100_?????_?????_001_?????_0110011") + val clmul = Inst("b0000101_?????_?????_001_?????_0110011") + val clmulh = Inst("b0000101_?????_?????_011_?????_0110011") + val clmulr = Inst("b0000101_?????_?????_010_?????_0110011") + val clz = Inst("b0110000_00000_?????_001_?????_0010011") + val clzw = Inst("b0110000_00000_?????_001_?????_0011011") + val cpop = Inst("b0110000_00010_?????_001_?????_0010011") + val cpopw = Inst("b0110000_00010_?????_001_?????_0011011") + val ctz = Inst("b0110000_00001_?????_001_?????_0010011") + val ctzw = Inst("b0110000_00001_?????_001_?????_0011011") + val max = Inst("b0000101_?????_?????_110_?????_0110011") + val maxu = Inst("b0000101_?????_?????_111_?????_0110011") + val min = Inst("b0000101_?????_?????_100_?????_0110011") + val minu = Inst("b0000101_?????_?????_101_?????_0110011") + val orc_b = Inst("b001010000111_?????_101_?????_0010011") + val orn = Inst("b0100000_?????_?????_110_?????_0110011") + val pack = Inst("b0000100_?????_?????_100_?????_0110011") + val packh = Inst("b0000100_?????_?????_111_?????_0110011") + val packw = Inst("b0000100_?????_?????_100_?????_0111011") + val rev8 = Inst( + 32 -> "b011010011000_?????_101_?????_0010011", + 64 -> "b011010111000_?????_101_?????_0010011" + ) + val rev_b = Inst("b011010000111_?????_101_?????_0010011") + val rol = Inst("b0110000_?????_?????_001_?????_0110011") + val rolw = Inst("b0110000_?????_?????_001_?????_0111011") + val ror = Inst("b0110000_?????_?????_101_?????_0110011") + val rori = Inst( + 32 -> "b0110000_?????_?????_101_?????_0010011", + 64 -> "b011000_??????_?????_101_?????_0010011" + ) + val roriw = Inst("b0110000_?????_?????_101_?????_0011011") + val rorw = Inst("b0110000_?????_?????_101_?????_0111011") + val sext_b = Inst("b0110000_00100_?????_001_?????_0010011") + val sext_h = Inst("b0110000_00101_?????_001_?????_0010011") + val sh1add = Inst("b0010000_?????_?????_010_?????_0110011") + val sh1add_uw = Inst("b0010000_?????_?????_010_?????_0111011") + val sh2add = Inst("b0010000_?????_?????_100_?????_0110011") + val sh2add_uw = Inst("b0010000_?????_?????_100_?????_0111011") + val sh3add = Inst("b0010000_?????_?????_110_?????_0110011") + val sh3add_uw = Inst("b0010000_?????_?????_110_?????_0111011") + val slli_uw = Inst("b000010_??????_?????_001_?????_0011011") + val unzip = Inst("b0000100_11111_?????_101_?????_0010011") + val xnor = Inst("b0100000_?????_?????_100_?????_0110011") + val xperm_b = Inst("b0010100_?????_?????_100_?????_0110011") + val xperm_n = Inst("b0010100_?????_?????_010_?????_0110011") + val zext_h = Inst( + 32 -> "b0000100_00000_?????_100_?????_0110011", + 64 -> "b0000100_00000_?????_100_?????_0111011" + ) + val zip = Inst("b0000100_11110_?????_001_?????_0010011") +} + +/** "B" Extension for Bit Manipulation, Version 1.0.0 + * + * - riscv-spec-20240411 + * - Chapter 28: "B" Extension for Bit Manipulation, Version 1.0.0 + * - 28.4. Extensions + */ +trait BExtension extends BaseCore with CommonDecode with BExtensionInsts { + + /** Address generation + * + * - riscv-spec-20240411 P212 + * - 28.4.1. Zba: Address generation + */ + def doRV32Zba: Unit = { + when(sh1add(inst)) { decodeR; next.reg(rd) := now.reg(rs2) + (now.reg(rs1) << 1) } + when(sh2add(inst)) { decodeR; next.reg(rd) := now.reg(rs2) + (now.reg(rs1) << 2) } + when(sh3add(inst)) { decodeR; next.reg(rd) := now.reg(rs2) + (now.reg(rs1) << 3) } + } + + /** Basic bit-manipulation + * + * - riscv-spec-20240411 P212 + * - 28.4.2. Zbb: Basic bit-manipulation + */ + def doRV32Zbb: Unit = { + // scalafmt: { maxColumn = 200 } + // Logical with negate + when(andn(inst)) { decodeR; next.reg(rd) := now.reg(rs1) & (~now.reg(rs2)).asUInt } + when(orn(inst)) { decodeR; next.reg(rd) := now.reg(rs1) | (~now.reg(rs2)).asUInt } + when(xnor(inst)) { decodeR; next.reg(rd) := (~(now.reg(rs1) ^ now.reg(rs2))).asUInt } + // Count leading/trailing zero bits + when(clz(inst)) { decodeI; next.reg(rd) := Mux(now.reg(rs1) === 0.U, XLEN.U, PriorityEncoder(now.reg(rs1).asBools.reverse)) } + when(ctz(inst)) { decodeI; next.reg(rd) := Mux(now.reg(rs1) === 0.U, XLEN.U, PriorityEncoder(now.reg(rs1).asBools)) } + // Count population + when(cpop(inst)) { decodeI; next.reg(rd) := PopCount(now.reg(rs1)) } + // Integer minimum/maximum + when(max(inst)) { decodeR; next.reg(rd) := Mux(now.reg(rs1).asSInt < now.reg(rs2).asSInt, now.reg(rs2), now.reg(rs1)) } + when(maxu(inst)) { decodeR; next.reg(rd) := Mux(now.reg(rs1).asUInt < now.reg(rs2).asUInt, now.reg(rs2), now.reg(rs1)) } + when(min(inst)) { decodeR; next.reg(rd) := Mux(now.reg(rs1).asSInt < now.reg(rs2).asSInt, now.reg(rs1), now.reg(rs2)) } + when(minu(inst)) { decodeR; next.reg(rd) := Mux(now.reg(rs1).asUInt < now.reg(rs2).asUInt, now.reg(rs1), now.reg(rs2)) } + // Sign- and zero-extension + when(sext_b(inst)) { decodeI; next.reg(rd) := signExt(now.reg(rs1)(7, 0), XLEN) } + when(sext_h(inst)) { decodeI; next.reg(rd) := signExt(now.reg(rs1)(15, 0), XLEN) } + when(zext_h(inst)) { decodeI; next.reg(rd) := zeroExt(now.reg(rs1)(15, 0), XLEN) } + // Bitwise rotation + /** Function to select the appropriate bit width based on XLEN */ + def getRotationShamt(value: UInt, xlen: Int): UInt = { + value(if (xlen == 32) 4 else 5, 0) + } + when(rol(inst)) { decodeR; next.reg(rd) := (now.reg(rs1) << getRotationShamt(now.reg(rs2), XLEN)).asUInt | (now.reg(rs1) >> (XLEN.U - getRotationShamt(now.reg(rs2), XLEN))).asUInt } + when(ror(inst)) { decodeR; next.reg(rd) := (now.reg(rs1) >> getRotationShamt(now.reg(rs2), XLEN)).asUInt | (now.reg(rs1) << (XLEN.U - getRotationShamt(now.reg(rs2), XLEN))).asUInt } + when(rori(inst)) { decodeI; next.reg(rd) := (now.reg(rs1) >> getRotationShamt(imm, XLEN)).asUInt | (now.reg(rs1) << (XLEN.U - getRotationShamt(imm, XLEN))).asUInt } + // OR Combine + when(orc_b(inst)) { + decodeR; + val byteResults = VecInit(Seq.fill(XLEN / 8)(0.U(8.W))) + for (i <- 0 until XLEN by 8) { + val byte = now.reg(rs1)(i + 7, i) + byteResults(i / 8) := Mux(byte.orR, 0xff.U(8.W), 0x00.U(8.W)) + } + next.reg(rd) := byteResults.asUInt + } + // Byte-reverse + when(rev8(inst)) { + decodeR; + var result = 0.U(XLEN.W) + var j = XLEN - 8 + for (i <- 0 until XLEN by 8) { + result = result | (now.reg(rs1)(j + 7, j) << i).asUInt + j -= 8 + } + next.reg(rd) := result + } + // scalafmt: { maxColumn = 120 } (back to defaults) + } + + /** Carry-less multiplication + * + * - riscv-spec-20240411 P214 + * - 28.4.3. Zbc: Carry-less multiplication + */ + def doRV32Zbc: Unit = { + when(clmul(inst)) { + decodeR; + val partialResults = VecInit(Seq.fill(XLEN)(0.U(XLEN.W))) + for (i <- 0 until XLEN) { + when(((now.reg(rs2) >> i.U) & 1.U) > 0.U) { + partialResults(i) := now.reg(rs1) << i + } + } + next.reg(rd) := partialResults.reduce(_ ^ _) + } + when(clmulh(inst)) { + decodeR; + val partialResults = VecInit(Seq.fill(XLEN)(0.U(XLEN.W))) + for (i <- 1 to XLEN) { + when(((now.reg(rs2) >> i.U) & 1.U) > 0.U) { + partialResults(i - 1) := now.reg(rs1) >> (XLEN - i) + } + } + next.reg(rd) := partialResults.reduce(_ ^ _) + } + when(clmulr(inst)) { + decodeR; + val partialResults = VecInit(Seq.fill(XLEN)(0.U(XLEN.W))) + for (i <- 0 until XLEN) { + when(((now.reg(rs2) >> i.U) & 1.U) > 0.U) { + partialResults(i) := now.reg(rs1) >> (XLEN - i - 1) + } + } + next.reg(rd) := partialResults.reduce(_ ^ _) + } + + } + + /** Single-bit instructions + * + * - riscv-spec-20240411 P215 + * - 28.4.4. Zbs: Single-bit instructions + */ + def doRV32Zbs: Unit = { + when(bclr(inst)) {} + when(bclri(inst)) {} + when(bext(inst)) {} + when(bexti(inst)) {} + when(binv(inst)) {} + when(binvi(inst)) {} + when(bset(inst)) {} + when(bseti(inst)) {} + } + + def doRV64Zba(): Unit = { + doRV32Zba + when(add_uw(inst)) { + decodeR; next.reg(rd) := now.reg(rs2) + zeroExt(now.reg(rs1)(31, 0), XLEN) + } + when(sh1add_uw(inst)) { + decodeR; next.reg(rd) := now.reg(rs2) + (zeroExt(now.reg(rs1)(31, 0), XLEN) << 1) + } + when(sh2add_uw(inst)) { + decodeR; next.reg(rd) := now.reg(rs2) + (zeroExt(now.reg(rs1)(31, 0), XLEN) << 2) + } + when(sh3add_uw(inst)) { + decodeR; next.reg(rd) := now.reg(rs2) + (zeroExt(now.reg(rs1)(31, 0), XLEN) << 3) + } + when(slli_uw(inst)) { + decodeI; next.reg(rd) := zeroExt(now.reg(rs1)(31, 0), XLEN) << imm(5, 0) + } + // pseudoinstructions: zext.w rd, rs(Add unsigned word) + } + def doRV64Zbb(): Unit = { + // scalafmt: { maxColumn = 200 } + doRV32Zbb + // Count leading/trailing zero bits + when(clzw(inst)) { decodeI; next.reg(rd) := Mux(now.reg(rs1) === 0.U, 32.U, PriorityEncoder(now.reg(rs1)(31, 0).asBools.reverse)) } + when(ctzw(inst)) { decodeI; next.reg(rd) := Mux(now.reg(rs1) === 0.U, 32.U, PriorityEncoder(now.reg(rs1)(31, 0).asBools)) } + // Count population + when(cpopw(inst)) { decodeI; next.reg(rd) := PopCount(now.reg(rs1)(31, 0)) } + // Sign- and zero-extension + when(zext_h(inst)) { decodeI; next.reg(rd) := zeroExt(now.reg(rs1)(15, 0), XLEN) } + // Bitwise rotation + // rori(64Bit) has been implemented in RV32Zbb + when(rolw(inst)) { + decodeR; + val rs1_data = zeroExt(now.reg(rs1)(31, 0), XLEN) + val result = ((rs1_data << now.reg(rs2)(4, 0)).asUInt | (rs1_data >> (32.U - now.reg(rs2)(4, 0))).asUInt) + next.reg(rd) := signExt(result(31, 0), XLEN) + } + when(roriw(inst)) { + decodeI; + val rs1_data = zeroExt(now.reg(rs1)(31, 0), XLEN) + val result = (rs1_data >> imm(4, 0)).asUInt | (rs1_data << (32.U - imm(4, 0))).asUInt + next.reg(rd) := signExt(result(31, 0), XLEN) + } + when(rorw(inst)) { + decodeR; + val rs1_data = zeroExt(now.reg(rs1)(31, 0), XLEN) + val result = (rs1_data >> now.reg(rs2)(4, 0)).asUInt | (rs1_data << (32.U - now.reg(rs2)(4, 0))).asUInt + next.reg(rd) := signExt(result(31, 0), XLEN) + } + + // Byte-reverse + when(rev8(inst)) { + decodeR; + var result = 0.U(XLEN.W) + var j = XLEN - 8 + for (i <- 0 until XLEN by 8) { + result = result | (now.reg(rs1)(j + 7, j) << i).asUInt + j -= 8 + } + next.reg(rd) := result + } + // scalafmt: { maxColumn = 120 } (back to defaults) + } + def doRV64Zbc(): Unit = { + doRV32Zbc + } + def doRV64Zbs(): Unit = { + doRV32Zbs + when(bclri(inst)) {} + when(bexti(inst)) {} + when(binvi(inst)) {} + when(bseti(inst)) {} + } + + /** Bit-manipulation for Cryptography + * + * - riscv-spec-20240411 P215 + * - 28.4.5. Zbkb: Bit-manipulation for Cryptography + */ + def doRV32Zbkb: Unit = { + when(pack(inst)) {} + when(packh(inst)) {} + when(rev_b(inst)) {} + + } + + /** Carry-less multiplication for Cryptography + * + * - riscv-spec-20240411 P216 + * - 28.4.6. Zbkc: Carry-less multiplication for Cryptography + */ + def doRV32Zbkc: Unit = {} + + /** Crossbar permutations + * + * - riscv-spec-20240411 P216 + * - 28.4.7. Zbkx: Crossbar permutations + */ + def doRV32Zbkx: Unit = { + when(xperm_b(inst)) {} + when(xperm_n(inst)) {} + } + + def doRV64Zbkb(): Unit = { + doRV32Zbkb + when(packw(inst)) {} + when(zip(inst)) {} + when(unzip(inst)) {} + } + def doRV64Zbkc(): Unit = { + doRV32Zbkc + } + def doRV64Zbkx(): Unit = { + doRV32Zbkx + } + + def doRV32B: Unit = { + if (config.extensions.Zba) { + doRV32Zba + } + if (config.extensions.Zbb) { + doRV32Zbb + } + if (config.extensions.Zbc) { + doRV32Zbc + } + if (config.extensions.Zbs) { + doRV32Zbs + } + } + def doRV64B: Unit = { + doRV32B + if (config.extensions.Zba) { + doRV64Zba + } + if (config.extensions.Zbb) { + doRV64Zbb + } + if (config.extensions.Zbc) { + doRV64Zbc + } + if (config.extensions.Zbs) { + doRV64Zbs + } + } + def doRVB(): Unit = { + config.XLEN match { + case 32 => doRV32B + case 64 => doRV64B + } + } +} diff --git a/src/main/scala/rvspeccore/core/spec/instset/IBase.scala b/src/main/scala/rvspeccore/core/spec/instset/IBase.scala index af11673..49c9c84 100644 --- a/src/main/scala/rvspeccore/core/spec/instset/IBase.scala +++ b/src/main/scala/rvspeccore/core/spec/instset/IBase.scala @@ -182,20 +182,15 @@ trait IBase extends BaseCore with CommonDecode with IBaseInsts with ExceptionSup // NOP is encoded as ADDI x0, x0, 0. // - 2.5 Control Transfer Instructions - // FIXME: 全部的跳转指令都得加一次判断 并且之后需要在最后统一仲裁优先级 // - Unconditional Jumps // JAL when(JAL(inst)) { decodeJ; - // global_data.setpc := true.B; - // next.pc := now.pc + imm; - // next.reg(rd) := now.pc + 4.U; when(addrAligned(getfetchSize(), now.pc + imm)) { global_data.setpc := true.B; next.pc := now.pc + imm; next.reg(rd) := now.pc + 4.U; }.otherwise { - // FIXME: 没有赋值成功 next.csr.mtval := now.pc + imm; raiseException(MExceptionCode.instructionAddressMisaligned) } @@ -208,7 +203,6 @@ trait IBase extends BaseCore with CommonDecode with IBaseInsts with ExceptionSup next.pc := Cat((now.reg(rs1) + imm)(XLEN - 1, 1), 0.U(1.W)); next.reg(rd) := now.pc + 4.U; }.otherwise { - // FIXME: 没有赋值成功 next.csr.mtval := Cat((now.reg(rs1) + imm)(XLEN - 1, 1), 0.U(1.W)) raiseException(MExceptionCode.instructionAddressMisaligned) } @@ -222,26 +216,21 @@ trait IBase extends BaseCore with CommonDecode with IBaseInsts with ExceptionSup global_data.setpc := true.B; next.pc := now.pc + imm; }.otherwise { - // FIXME: 没有赋值成功 next.csr.mtval := now.pc + imm; raiseException(MExceptionCode.instructionAddressMisaligned) } - // global_data.setpc := true.B; next.pc := now.pc + imm } } when(BNE(inst)) { decodeB; - // printf("BNE: rs%d_left: %x, rs%d_right: %x\n", rs1, now.reg(rs1), rs2, now.reg(rs2)) when(now.reg(rs1) =/= now.reg(rs2)) { when(addrAligned(getfetchSize(), now.pc + imm)) { global_data.setpc := true.B; next.pc := now.pc + imm; }.otherwise { - // FIXME: 没有赋值成功 next.csr.mtval := now.pc + imm; raiseException(MExceptionCode.instructionAddressMisaligned) } - // global_data.setpc := true.B; next.pc := now.pc + imm } } // BLT[U] @@ -296,19 +285,17 @@ trait IBase extends BaseCore with CommonDecode with IBaseInsts with ExceptionSup } // - 2.6 Load and Store Instructions // LOAD - // TODO: LBU and LHU ? when(LB(inst)) { - // TODO: LB好像不会出现非对齐访存的异常? decodeI; when(addrAligned(SizeOp.b, now.reg(rs1) + imm)) { next.reg(rd) := signExt(memRead(now.reg(rs1) + imm, 8.U)(7, 0), XLEN) }.otherwise { + // TODO: LB doesn't seem to get an exception for unaligned access mem.read.addr := now.reg(rs1) + imm raiseException(MExceptionCode.loadAddressMisaligned) } } when(LH(inst)) { - // printf("[Debug]LH Begin: Reg%x:%x %x %x\n",rs1,now.reg(rs1),imm,rd) decodeI; when(addrAligned(SizeOp.h, now.reg(rs1) + imm)) { next.reg(rd) := signExt(memRead(now.reg(rs1) + imm, 16.U)(15, 0), XLEN) @@ -316,11 +303,8 @@ trait IBase extends BaseCore with CommonDecode with IBaseInsts with ExceptionSup mem.read.addr := now.reg(rs1) + imm raiseException(MExceptionCode.loadAddressMisaligned) } - // alignedException("Load", SizeOp.h, now.reg(rs1) + imm); - // printf("[Debug]LH End: %x\n",next.reg(rd)) } when(LW(inst)) { - // printf("[Debug]LW Begin: Reg:%x, Addr: %x TargetReg: %x\n",rs1,now.reg(rs1) + imm,rd) decodeI; when(addrAligned(SizeOp.w, now.reg(rs1) + imm)) { next.reg(rd) := signExt(memRead(now.reg(rs1) + imm, 32.U)(31, 0), XLEN) @@ -328,7 +312,6 @@ trait IBase extends BaseCore with CommonDecode with IBaseInsts with ExceptionSup mem.read.addr := now.reg(rs1) + imm raiseException(MExceptionCode.loadAddressMisaligned) } - // printf("[Debug]LW End: %x\n", next.reg(rd)) } when(LBU(inst)) { decodeI; alignedException("Load", SizeOp.b, rs2); next.reg(rd) := zeroExt(memRead(now.reg(rs1) + imm, 8.U)(7, 0), XLEN) } when(LHU(inst)) { @@ -373,7 +356,6 @@ trait IBase extends BaseCore with CommonDecode with IBaseInsts with ExceptionSup is(0x1.U) { raiseException(MExceptionCode.environmentCallFromSmode) } is(0x0.U) { raiseException(MExceptionCode.environmentCallFromUmode) } } - // printf("IS ECALL\n") } when(FENCE(inst)) { decodeI /* then do nothing for now */ @@ -423,7 +405,7 @@ trait IBase extends BaseCore with CommonDecode with IBaseInsts with ExceptionSup // - 5.3 Load and Store Instructions RV64 // - LOAD - // FIXME: 并非所有的都加了异常访存的限制 需要重新梳理并新加 + // FIXME: Not all of them have added the exception access limit, which needs to be reorganized and added. when(LWU(inst)) { decodeI; when(addrAligned(SizeOp.w, now.reg(rs1) + imm)) { diff --git a/src/main/scala/rvspeccore/core/spec/instset/csr/CSRSupport.scala b/src/main/scala/rvspeccore/core/spec/instset/csr/CSRSupport.scala index 45b46c0..d81dc66 100644 --- a/src/main/scala/rvspeccore/core/spec/instset/csr/CSRSupport.scala +++ b/src/main/scala/rvspeccore/core/spec/instset/csr/CSRSupport.scala @@ -23,7 +23,7 @@ trait CSRSupport extends BaseCore with ExceptionSupport { val has: Bool = MuxLookup(addr, false.B)(now.csr.table.map { x => x.info.addr -> true.B }) val nowCSR: UInt = MuxLookup(addr, 0.U)(now.csr.table.map { x => x.info.addr -> x.signal }) val rmask: UInt = MuxLookup(addr, 0.U)(now.csr.table.map { x => x.info.addr -> x.info.rmask(XLEN) }) - // printf("[Debug]CSR_READ:(Have:%d, nowCSR:%x, Addr: %x %x)\n",has,nowCSR,addr,next.reg(1)) +// printf("[Debug]CSR_READ:(Have:%d, nowCSR:%x, Addr: %x %x)\n",has,nowCSR,addr,next.reg(1)) val rData = WireInit(0.U(XLEN.W)) def doCSRRead(MXLEN: Int): Unit = { @@ -65,15 +65,12 @@ trait CSRSupport extends BaseCore with ExceptionSupport { val csrPairs = now.csr.table.zip(next.csr.table) csrPairs.foreach { case (CSRInfoSignal(info, nowCSR), CSRInfoSignal(_, nextCSR)) => when(addr === info.addr) { - // 地址是当前寄存器的地址 // printf("[Debug]Find ADDR, %x %x\n", (info.wfn != null).B, (info.wmask != UnwritableMask).B) if (info.wfn.isDefined && info.wmask(XLEN) != UnwritableMask) { - // 且该寄存器可写 使用mask nextCSR := info.wfn.get(XLEN)((nowCSR & ~info.wmask(XLEN)) | (data & info.wmask(XLEN))) // printf("[Debug]CSR_Write:(Addr: %x, nowCSR: %x, nextCSR: %x)\n", addr, nowCSR, nextCSR) } else { // TODO: might cause some exception? - } } } @@ -126,7 +123,7 @@ trait CSRSupport extends BaseCore with ExceptionSupport { // FIXME: is mstatus not sstatus ? mstatusNew.sie := mstatusOld.spie next.internal.privilegeMode := Cat(0.U(1.W), mstatusOld.spp) - mstatusNew.spie := true.B // 正确的 + mstatusNew.spie := true.B mstatusNew.spp := ModeU mstatusNew.mprv := 0x0.U // Volume II P21 " If xPP != M, xRET also sets MPRV = 0 " next.csr.mstatus := mstatusNew.asUInt diff --git a/src/test/scala/rvspeccore/core/RiscvCoreSpec.scala b/src/test/scala/rvspeccore/core/RiscvCoreSpec.scala index 903ded6..12142f2 100644 --- a/src/test/scala/rvspeccore/core/RiscvCoreSpec.scala +++ b/src/test/scala/rvspeccore/core/RiscvCoreSpec.scala @@ -196,9 +196,13 @@ class RiscvCoreSpec extends AnyFlatSpec with ChiselScalatestTester { } class RiscvCore64Spec extends AnyFlatSpec with ChiselScalatestTester { - implicit val config = RVConfig(64, "MCZifencei") + implicit val config = RVConfig( + XLEN = 64, + extensions = "MCZifenceiZicsrZbaZbbZbc", + functions = Seq("Privileged"), + ) - val tests = Seq("rv64ui", "rv64um", "rv64uc") + val tests = Seq("rv64ui", "rv64um", "rv64uc", "rv64uzba", "rv64uzbb", "rv64uzbc") // NOTE: funce.i shows passed test, but RiscvCore not support it. // Because RiscvCore is too simple. @@ -217,11 +221,13 @@ class RiscvCore64Spec extends AnyFlatSpec with ChiselScalatestTester { } class RiscvCore32Spec extends AnyFlatSpec with ChiselScalatestTester { - implicit val config = RVConfig(32, "MCZifencei") - - val tests = Seq("rv32ui", "rv32um", "rv32uc") - // val tests = Seq("tempcsr32") + implicit val config = RVConfig( + XLEN = 32, + extensions = "MCZifenceiZicsrZbaZbbZbc", + functions = Seq("Privileged"), + ) + val tests = Seq("rv32ui", "rv32um", "rv32uc", "rv32uzba", "rv32uzbb", "rv32uzbc") // NOTE: funce.i shows passed test, but RiscvCore not support it. // Because RiscvCore is too simple. behavior of s"RiscvCore with ${config.getClass().getSimpleName()}" diff --git a/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh1add.dump b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh1add.dump new file mode 100644 index 0000000..5066964 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh1add.dump @@ -0,0 +1,531 @@ + +rv32uzba-p-sh1add: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000593 li a1,0 +8000019c: 00000613 li a2,0 +800001a0: 20c5a733 sh1add a4,a1,a2 +800001a4: 00000393 li t2,0 +800001a8: 4c771663 bne a4,t2,80000674 + +800001ac : +800001ac: 00300193 li gp,3 +800001b0: 00100593 li a1,1 +800001b4: 00100613 li a2,1 +800001b8: 20c5a733 sh1add a4,a1,a2 +800001bc: 00300393 li t2,3 +800001c0: 4a771a63 bne a4,t2,80000674 + +800001c4 : +800001c4: 00400193 li gp,4 +800001c8: 00300593 li a1,3 +800001cc: 00700613 li a2,7 +800001d0: 20c5a733 sh1add a4,a1,a2 +800001d4: 00d00393 li t2,13 +800001d8: 48771e63 bne a4,t2,80000674 + +800001dc : +800001dc: 00500193 li gp,5 +800001e0: 00000593 li a1,0 +800001e4: ffff8637 lui a2,0xffff8 +800001e8: 20c5a733 sh1add a4,a1,a2 +800001ec: ffff83b7 lui t2,0xffff8 +800001f0: 48771263 bne a4,t2,80000674 + +800001f4 : +800001f4: 00600193 li gp,6 +800001f8: 800005b7 lui a1,0x80000 +800001fc: 00000613 li a2,0 +80000200: 20c5a733 sh1add a4,a1,a2 +80000204: 00000393 li t2,0 +80000208: 46771663 bne a4,t2,80000674 + +8000020c : +8000020c: 00700193 li gp,7 +80000210: 800005b7 lui a1,0x80000 +80000214: ffff8637 lui a2,0xffff8 +80000218: 20c5a733 sh1add a4,a1,a2 +8000021c: ffff83b7 lui t2,0xffff8 +80000220: 44771a63 bne a4,t2,80000674 + +80000224 : +80000224: 00800193 li gp,8 +80000228: 00000593 li a1,0 +8000022c: 00008637 lui a2,0x8 +80000230: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000234: 20c5a733 sh1add a4,a1,a2 +80000238: 000083b7 lui t2,0x8 +8000023c: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +80000240: 42771a63 bne a4,t2,80000674 + +80000244 : +80000244: 00900193 li gp,9 +80000248: 800005b7 lui a1,0x80000 +8000024c: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +80000250: 00000613 li a2,0 +80000254: 20c5a733 sh1add a4,a1,a2 +80000258: ffe00393 li t2,-2 +8000025c: 40771c63 bne a4,t2,80000674 + +80000260 : +80000260: 00a00193 li gp,10 +80000264: 800005b7 lui a1,0x80000 +80000268: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +8000026c: 00008637 lui a2,0x8 +80000270: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000274: 20c5a733 sh1add a4,a1,a2 +80000278: 000083b7 lui t2,0x8 +8000027c: ffd38393 addi t2,t2,-3 # 7ffd <_start-0x7fff8003> +80000280: 3e771a63 bne a4,t2,80000674 + +80000284 : +80000284: 00b00193 li gp,11 +80000288: 800005b7 lui a1,0x80000 +8000028c: 00008637 lui a2,0x8 +80000290: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000294: 20c5a733 sh1add a4,a1,a2 +80000298: 000083b7 lui t2,0x8 +8000029c: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +800002a0: 3c771a63 bne a4,t2,80000674 + +800002a4 : +800002a4: 00c00193 li gp,12 +800002a8: 800005b7 lui a1,0x80000 +800002ac: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +800002b0: ffff8637 lui a2,0xffff8 +800002b4: 20c5a733 sh1add a4,a1,a2 +800002b8: ffff83b7 lui t2,0xffff8 +800002bc: ffe38393 addi t2,t2,-2 # ffff7ffe <_end+0x7fff5ffe> +800002c0: 3a771a63 bne a4,t2,80000674 + +800002c4 : +800002c4: 00d00193 li gp,13 +800002c8: 00000593 li a1,0 +800002cc: fff00613 li a2,-1 +800002d0: 20c5a733 sh1add a4,a1,a2 +800002d4: fff00393 li t2,-1 +800002d8: 38771e63 bne a4,t2,80000674 + +800002dc : +800002dc: 00e00193 li gp,14 +800002e0: fff00593 li a1,-1 +800002e4: 00100613 li a2,1 +800002e8: 20c5a733 sh1add a4,a1,a2 +800002ec: fff00393 li t2,-1 +800002f0: 38771263 bne a4,t2,80000674 + +800002f4 : +800002f4: 00f00193 li gp,15 +800002f8: fff00593 li a1,-1 +800002fc: fff00613 li a2,-1 +80000300: 20c5a733 sh1add a4,a1,a2 +80000304: ffd00393 li t2,-3 +80000308: 36771663 bne a4,t2,80000674 + +8000030c : +8000030c: 01000193 li gp,16 +80000310: 00100593 li a1,1 +80000314: 80000637 lui a2,0x80000 +80000318: fff60613 addi a2,a2,-1 # 7fffffff <_start-0x1> +8000031c: 20c5a733 sh1add a4,a1,a2 +80000320: 800003b7 lui t2,0x80000 +80000324: 00138393 addi t2,t2,1 # 80000001 <_start+0x1> +80000328: 34771663 bne a4,t2,80000674 + +8000032c : +8000032c: 01100193 li gp,17 +80000330: 00d00593 li a1,13 +80000334: 00b00613 li a2,11 +80000338: 20c5a5b3 sh1add a1,a1,a2 +8000033c: 02500393 li t2,37 +80000340: 32759a63 bne a1,t2,80000674 + +80000344 : +80000344: 01200193 li gp,18 +80000348: 00e00593 li a1,14 +8000034c: 00b00613 li a2,11 +80000350: 20c5a633 sh1add a2,a1,a2 +80000354: 02700393 li t2,39 +80000358: 30761e63 bne a2,t2,80000674 + +8000035c : +8000035c: 01300193 li gp,19 +80000360: 00d00593 li a1,13 +80000364: 20b5a5b3 sh1add a1,a1,a1 +80000368: 02700393 li t2,39 +8000036c: 30759463 bne a1,t2,80000674 + +80000370 : +80000370: 01400193 li gp,20 +80000374: 00000213 li tp,0 +80000378: 00d00093 li ra,13 +8000037c: 00b00113 li sp,11 +80000380: 2020a733 sh1add a4,ra,sp +80000384: 00070313 mv t1,a4 +80000388: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000038c: 00200293 li t0,2 +80000390: fe5214e3 bne tp,t0,80000378 +80000394: 02500393 li t2,37 +80000398: 2c731e63 bne t1,t2,80000674 + +8000039c : +8000039c: 01500193 li gp,21 +800003a0: 00000213 li tp,0 +800003a4: 00e00093 li ra,14 +800003a8: 00b00113 li sp,11 +800003ac: 2020a733 sh1add a4,ra,sp +800003b0: 00000013 nop +800003b4: 00070313 mv t1,a4 +800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003bc: 00200293 li t0,2 +800003c0: fe5212e3 bne tp,t0,800003a4 +800003c4: 02700393 li t2,39 +800003c8: 2a731663 bne t1,t2,80000674 + +800003cc : +800003cc: 01600193 li gp,22 +800003d0: 00000213 li tp,0 +800003d4: 00f00093 li ra,15 +800003d8: 00b00113 li sp,11 +800003dc: 2020a733 sh1add a4,ra,sp +800003e0: 00000013 nop +800003e4: 00000013 nop +800003e8: 00070313 mv t1,a4 +800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f0: 00200293 li t0,2 +800003f4: fe5210e3 bne tp,t0,800003d4 +800003f8: 02900393 li t2,41 +800003fc: 26731c63 bne t1,t2,80000674 + +80000400 : +80000400: 01700193 li gp,23 +80000404: 00000213 li tp,0 +80000408: 00d00093 li ra,13 +8000040c: 00b00113 li sp,11 +80000410: 2020a733 sh1add a4,ra,sp +80000414: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000418: 00200293 li t0,2 +8000041c: fe5216e3 bne tp,t0,80000408 +80000420: 02500393 li t2,37 +80000424: 24771863 bne a4,t2,80000674 + +80000428 : +80000428: 01800193 li gp,24 +8000042c: 00000213 li tp,0 +80000430: 00e00093 li ra,14 +80000434: 00b00113 li sp,11 +80000438: 00000013 nop +8000043c: 2020a733 sh1add a4,ra,sp +80000440: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000444: 00200293 li t0,2 +80000448: fe5214e3 bne tp,t0,80000430 +8000044c: 02700393 li t2,39 +80000450: 22771263 bne a4,t2,80000674 + +80000454 : +80000454: 01900193 li gp,25 +80000458: 00000213 li tp,0 +8000045c: 00f00093 li ra,15 +80000460: 00b00113 li sp,11 +80000464: 00000013 nop +80000468: 00000013 nop +8000046c: 2020a733 sh1add a4,ra,sp +80000470: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000474: 00200293 li t0,2 +80000478: fe5212e3 bne tp,t0,8000045c +8000047c: 02900393 li t2,41 +80000480: 1e771a63 bne a4,t2,80000674 + +80000484 : +80000484: 01a00193 li gp,26 +80000488: 00000213 li tp,0 +8000048c: 00d00093 li ra,13 +80000490: 00000013 nop +80000494: 00b00113 li sp,11 +80000498: 2020a733 sh1add a4,ra,sp +8000049c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004a0: 00200293 li t0,2 +800004a4: fe5214e3 bne tp,t0,8000048c +800004a8: 02500393 li t2,37 +800004ac: 1c771463 bne a4,t2,80000674 + +800004b0 : +800004b0: 01b00193 li gp,27 +800004b4: 00000213 li tp,0 +800004b8: 00e00093 li ra,14 +800004bc: 00000013 nop +800004c0: 00b00113 li sp,11 +800004c4: 00000013 nop +800004c8: 2020a733 sh1add a4,ra,sp +800004cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004d0: 00200293 li t0,2 +800004d4: fe5212e3 bne tp,t0,800004b8 +800004d8: 02700393 li t2,39 +800004dc: 18771c63 bne a4,t2,80000674 + +800004e0 : +800004e0: 01c00193 li gp,28 +800004e4: 00000213 li tp,0 +800004e8: 00f00093 li ra,15 +800004ec: 00000013 nop +800004f0: 00000013 nop +800004f4: 00b00113 li sp,11 +800004f8: 2020a733 sh1add a4,ra,sp +800004fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000500: 00200293 li t0,2 +80000504: fe5212e3 bne tp,t0,800004e8 +80000508: 02900393 li t2,41 +8000050c: 16771463 bne a4,t2,80000674 + +80000510 : +80000510: 01d00193 li gp,29 +80000514: 00000213 li tp,0 +80000518: 00b00113 li sp,11 +8000051c: 00d00093 li ra,13 +80000520: 2020a733 sh1add a4,ra,sp +80000524: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000528: 00200293 li t0,2 +8000052c: fe5216e3 bne tp,t0,80000518 +80000530: 02500393 li t2,37 +80000534: 14771063 bne a4,t2,80000674 + +80000538 : +80000538: 01e00193 li gp,30 +8000053c: 00000213 li tp,0 +80000540: 00b00113 li sp,11 +80000544: 00e00093 li ra,14 +80000548: 00000013 nop +8000054c: 2020a733 sh1add a4,ra,sp +80000550: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000554: 00200293 li t0,2 +80000558: fe5214e3 bne tp,t0,80000540 +8000055c: 02700393 li t2,39 +80000560: 10771a63 bne a4,t2,80000674 + +80000564 : +80000564: 01f00193 li gp,31 +80000568: 00000213 li tp,0 +8000056c: 00b00113 li sp,11 +80000570: 00f00093 li ra,15 +80000574: 00000013 nop +80000578: 00000013 nop +8000057c: 2020a733 sh1add a4,ra,sp +80000580: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000584: 00200293 li t0,2 +80000588: fe5212e3 bne tp,t0,8000056c +8000058c: 02900393 li t2,41 +80000590: 0e771263 bne a4,t2,80000674 + +80000594 : +80000594: 02000193 li gp,32 +80000598: 00000213 li tp,0 +8000059c: 00b00113 li sp,11 +800005a0: 00000013 nop +800005a4: 00d00093 li ra,13 +800005a8: 2020a733 sh1add a4,ra,sp +800005ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005b0: 00200293 li t0,2 +800005b4: fe5214e3 bne tp,t0,8000059c +800005b8: 02500393 li t2,37 +800005bc: 0a771c63 bne a4,t2,80000674 + +800005c0 : +800005c0: 02100193 li gp,33 +800005c4: 00000213 li tp,0 +800005c8: 00b00113 li sp,11 +800005cc: 00000013 nop +800005d0: 00e00093 li ra,14 +800005d4: 00000013 nop +800005d8: 2020a733 sh1add a4,ra,sp +800005dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005e0: 00200293 li t0,2 +800005e4: fe5212e3 bne tp,t0,800005c8 +800005e8: 02700393 li t2,39 +800005ec: 08771463 bne a4,t2,80000674 + +800005f0 : +800005f0: 02200193 li gp,34 +800005f4: 00000213 li tp,0 +800005f8: 00b00113 li sp,11 +800005fc: 00000013 nop +80000600: 00000013 nop +80000604: 00f00093 li ra,15 +80000608: 2020a733 sh1add a4,ra,sp +8000060c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000610: 00200293 li t0,2 +80000614: fe5212e3 bne tp,t0,800005f8 +80000618: 02900393 li t2,41 +8000061c: 04771c63 bne a4,t2,80000674 + +80000620 : +80000620: 02300193 li gp,35 +80000624: 00f00093 li ra,15 +80000628: 20102133 sh1add sp,zero,ra +8000062c: 00f00393 li t2,15 +80000630: 04711263 bne sp,t2,80000674 + +80000634 : +80000634: 02400193 li gp,36 +80000638: 02000093 li ra,32 +8000063c: 2000a133 sh1add sp,ra,zero +80000640: 04000393 li t2,64 +80000644: 02711863 bne sp,t2,80000674 + +80000648 : +80000648: 02500193 li gp,37 +8000064c: 200020b3 sh1add ra,zero,zero +80000650: 00000393 li t2,0 +80000654: 02709063 bne ra,t2,80000674 + +80000658 : +80000658: 02600193 li gp,38 +8000065c: 01000093 li ra,16 +80000660: 01e00113 li sp,30 +80000664: 2020a033 sh1add zero,ra,sp +80000668: 00000393 li t2,0 +8000066c: 00701463 bne zero,t2,80000674 +80000670: 02301063 bne zero,gp,80000690 + +80000674 : +80000674: 0ff0000f fence +80000678: 00018063 beqz gp,80000678 +8000067c: 00119193 slli gp,gp,0x1 +80000680: 0011e193 ori gp,gp,1 +80000684: 05d00893 li a7,93 +80000688: 00018513 mv a0,gp +8000068c: 00000073 ecall + +80000690 : +80000690: 0ff0000f fence +80000694: 00100193 li gp,1 +80000698: 05d00893 li a7,93 +8000069c: 00000513 li a0,0 +800006a0: 00000073 ecall +800006a4: c0001073 unimp +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh1add.hex b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh1add.hex new file mode 100644 index 0000000..c845a89 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh1add.hex @@ -0,0 +1,1505 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000593 +00000613 +20c5a733 +00000393 +4c771663 +00300193 +00100593 +00100613 +20c5a733 +00300393 +4a771a63 +00400193 +00300593 +00700613 +20c5a733 +00d00393 +48771e63 +00500193 +00000593 +ffff8637 +20c5a733 +ffff83b7 +48771263 +00600193 +800005b7 +00000613 +20c5a733 +00000393 +46771663 +00700193 +800005b7 +ffff8637 +20c5a733 +ffff83b7 +44771a63 +00800193 +00000593 +00008637 +fff60613 +20c5a733 +000083b7 +fff38393 +42771a63 +00900193 +800005b7 +fff58593 +00000613 +20c5a733 +ffe00393 +40771c63 +00a00193 +800005b7 +fff58593 +00008637 +fff60613 +20c5a733 +000083b7 +ffd38393 +3e771a63 +00b00193 +800005b7 +00008637 +fff60613 +20c5a733 +000083b7 +fff38393 +3c771a63 +00c00193 +800005b7 +fff58593 +ffff8637 +20c5a733 +ffff83b7 +ffe38393 +3a771a63 +00d00193 +00000593 +fff00613 +20c5a733 +fff00393 +38771e63 +00e00193 +fff00593 +00100613 +20c5a733 +fff00393 +38771263 +00f00193 +fff00593 +fff00613 +20c5a733 +ffd00393 +36771663 +01000193 +00100593 +80000637 +fff60613 +20c5a733 +800003b7 +00138393 +34771663 +01100193 +00d00593 +00b00613 +20c5a5b3 +02500393 +32759a63 +01200193 +00e00593 +00b00613 +20c5a633 +02700393 +30761e63 +01300193 +00d00593 +20b5a5b3 +02700393 +30759463 +01400193 +00000213 +00d00093 +00b00113 +2020a733 +00070313 +00120213 +00200293 +fe5214e3 +02500393 +2c731e63 +01500193 +00000213 +00e00093 +00b00113 +2020a733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +02700393 +2a731663 +01600193 +00000213 +00f00093 +00b00113 +2020a733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +02900393 +26731c63 +01700193 +00000213 +00d00093 +00b00113 +2020a733 +00120213 +00200293 +fe5216e3 +02500393 +24771863 +01800193 +00000213 +00e00093 +00b00113 +00000013 +2020a733 +00120213 +00200293 +fe5214e3 +02700393 +22771263 +01900193 +00000213 +00f00093 +00b00113 +00000013 +00000013 +2020a733 +00120213 +00200293 +fe5212e3 +02900393 +1e771a63 +01a00193 +00000213 +00d00093 +00000013 +00b00113 +2020a733 +00120213 +00200293 +fe5214e3 +02500393 +1c771463 +01b00193 +00000213 +00e00093 +00000013 +00b00113 +00000013 +2020a733 +00120213 +00200293 +fe5212e3 +02700393 +18771c63 +01c00193 +00000213 +00f00093 +00000013 +00000013 +00b00113 +2020a733 +00120213 +00200293 +fe5212e3 +02900393 +16771463 +01d00193 +00000213 +00b00113 +00d00093 +2020a733 +00120213 +00200293 +fe5216e3 +02500393 +14771063 +01e00193 +00000213 +00b00113 +00e00093 +00000013 +2020a733 +00120213 +00200293 +fe5214e3 +02700393 +10771a63 +01f00193 +00000213 +00b00113 +00f00093 +00000013 +00000013 +2020a733 +00120213 +00200293 +fe5212e3 +02900393 +0e771263 +02000193 +00000213 +00b00113 +00000013 +00d00093 +2020a733 +00120213 +00200293 +fe5214e3 +02500393 +0a771c63 +02100193 +00000213 +00b00113 +00000013 +00e00093 +00000013 +2020a733 +00120213 +00200293 +fe5212e3 +02700393 +08771463 +02200193 +00000213 +00b00113 +00000013 +00000013 +00f00093 +2020a733 +00120213 +00200293 +fe5212e3 +02900393 +04771c63 +02300193 +00f00093 +20102133 +00f00393 +04711263 +02400193 +02000093 +2000a133 +04000393 +02711863 +02500193 +200020b3 +00000393 +02709063 +02600193 +01000093 +01e00113 +2020a033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3161627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000674 +00000000 +00010000 +000000a8 +800001ac +00000000 +00010000 +000000af +800001c4 +00000000 +00010000 +000000b6 +800001dc +00000000 +00010000 +000000bd +800001f4 +00000000 +00010000 +000000c4 +8000020c +00000000 +00010000 +000000cb +80000224 +00000000 +00010000 +000000d2 +80000244 +00000000 +00010000 +000000d9 +80000260 +00000000 +00010000 +000000e1 +80000284 +00000000 +00010000 +000000e9 +800002a4 +00000000 +00010000 +000000f1 +800002c4 +00000000 +00010000 +000000f9 +800002dc +00000000 +00010000 +00000101 +800002f4 +00000000 +00010000 +00000109 +8000030c +00000000 +00010000 +00000111 +8000032c +00000000 +00010000 +00000119 +80000344 +00000000 +00010000 +00000121 +8000035c +00000000 +00010000 +00000129 +80000370 +00000000 +00010000 +00000131 +8000039c +00000000 +00010000 +00000139 +800003cc +00000000 +00010000 +00000141 +80000400 +00000000 +00010000 +00000149 +80000428 +00000000 +00010000 +00000151 +80000454 +00000000 +00010000 +00000159 +80000484 +00000000 +00010000 +00000161 +800004b0 +00000000 +00010000 +00000169 +800004e0 +00000000 +00010000 +00000171 +80000510 +00000000 +00010000 +00000179 +80000538 +00000000 +00010000 +00000181 +80000564 +00000000 +00010000 +00000189 +80000594 +00000000 +00010000 +00000191 +800005c0 +00000000 +00010000 +00000199 +800005f0 +00000000 +00010000 +000001a1 +80000620 +00000000 +00010000 +000001a9 +80000634 +00000000 +00010000 +000001b1 +80000648 +00000000 +00010000 +000001b9 +80000658 +00000000 +00010000 +000001c1 +80000690 +00000000 +00010000 +000001c6 +80002000 +00000000 +00020010 +000001d4 +80002000 +00000000 +00020010 +000001e4 +80000000 +00000000 +00010010 +000001eb +80002000 +00000000 +00020010 +000001f0 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +62636300 +3355546e +006f2e6b +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +61627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73657400 +30335f74 +73657400 +31335f74 +73657400 +32335f74 +73657400 +33335f74 +73657400 +34335f74 +73657400 +35335f74 +73657400 +36335f74 +73657400 +37335f74 +73657400 +38335f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +00000390 +00000005 +00000033 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002430 +000001f9 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002629 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh2add.dump b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh2add.dump new file mode 100644 index 0000000..ca180ae --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh2add.dump @@ -0,0 +1,531 @@ + +rv32uzba-p-sh2add: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000593 li a1,0 +8000019c: 00000613 li a2,0 +800001a0: 20c5c733 sh2add a4,a1,a2 +800001a4: 00000393 li t2,0 +800001a8: 4c771663 bne a4,t2,80000674 + +800001ac : +800001ac: 00300193 li gp,3 +800001b0: 00100593 li a1,1 +800001b4: 00100613 li a2,1 +800001b8: 20c5c733 sh2add a4,a1,a2 +800001bc: 00500393 li t2,5 +800001c0: 4a771a63 bne a4,t2,80000674 + +800001c4 : +800001c4: 00400193 li gp,4 +800001c8: 00300593 li a1,3 +800001cc: 00700613 li a2,7 +800001d0: 20c5c733 sh2add a4,a1,a2 +800001d4: 01300393 li t2,19 +800001d8: 48771e63 bne a4,t2,80000674 + +800001dc : +800001dc: 00500193 li gp,5 +800001e0: 00000593 li a1,0 +800001e4: ffff8637 lui a2,0xffff8 +800001e8: 20c5c733 sh2add a4,a1,a2 +800001ec: ffff83b7 lui t2,0xffff8 +800001f0: 48771263 bne a4,t2,80000674 + +800001f4 : +800001f4: 00600193 li gp,6 +800001f8: 800005b7 lui a1,0x80000 +800001fc: 00000613 li a2,0 +80000200: 20c5c733 sh2add a4,a1,a2 +80000204: 00000393 li t2,0 +80000208: 46771663 bne a4,t2,80000674 + +8000020c : +8000020c: 00700193 li gp,7 +80000210: 800005b7 lui a1,0x80000 +80000214: ffff8637 lui a2,0xffff8 +80000218: 20c5c733 sh2add a4,a1,a2 +8000021c: ffff83b7 lui t2,0xffff8 +80000220: 44771a63 bne a4,t2,80000674 + +80000224 : +80000224: 00800193 li gp,8 +80000228: 00000593 li a1,0 +8000022c: 00008637 lui a2,0x8 +80000230: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000234: 20c5c733 sh2add a4,a1,a2 +80000238: 000083b7 lui t2,0x8 +8000023c: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +80000240: 42771a63 bne a4,t2,80000674 + +80000244 : +80000244: 00900193 li gp,9 +80000248: 800005b7 lui a1,0x80000 +8000024c: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +80000250: 00000613 li a2,0 +80000254: 20c5c733 sh2add a4,a1,a2 +80000258: ffc00393 li t2,-4 +8000025c: 40771c63 bne a4,t2,80000674 + +80000260 : +80000260: 00a00193 li gp,10 +80000264: 800005b7 lui a1,0x80000 +80000268: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +8000026c: 00008637 lui a2,0x8 +80000270: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000274: 20c5c733 sh2add a4,a1,a2 +80000278: 000083b7 lui t2,0x8 +8000027c: ffb38393 addi t2,t2,-5 # 7ffb <_start-0x7fff8005> +80000280: 3e771a63 bne a4,t2,80000674 + +80000284 : +80000284: 00b00193 li gp,11 +80000288: 800005b7 lui a1,0x80000 +8000028c: 00008637 lui a2,0x8 +80000290: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000294: 20c5c733 sh2add a4,a1,a2 +80000298: 000083b7 lui t2,0x8 +8000029c: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +800002a0: 3c771a63 bne a4,t2,80000674 + +800002a4 : +800002a4: 00c00193 li gp,12 +800002a8: 800005b7 lui a1,0x80000 +800002ac: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +800002b0: ffff8637 lui a2,0xffff8 +800002b4: 20c5c733 sh2add a4,a1,a2 +800002b8: ffff83b7 lui t2,0xffff8 +800002bc: ffc38393 addi t2,t2,-4 # ffff7ffc <_end+0x7fff5ffc> +800002c0: 3a771a63 bne a4,t2,80000674 + +800002c4 : +800002c4: 00d00193 li gp,13 +800002c8: 00000593 li a1,0 +800002cc: fff00613 li a2,-1 +800002d0: 20c5c733 sh2add a4,a1,a2 +800002d4: fff00393 li t2,-1 +800002d8: 38771e63 bne a4,t2,80000674 + +800002dc : +800002dc: 00e00193 li gp,14 +800002e0: fff00593 li a1,-1 +800002e4: 00100613 li a2,1 +800002e8: 20c5c733 sh2add a4,a1,a2 +800002ec: ffd00393 li t2,-3 +800002f0: 38771263 bne a4,t2,80000674 + +800002f4 : +800002f4: 00f00193 li gp,15 +800002f8: fff00593 li a1,-1 +800002fc: fff00613 li a2,-1 +80000300: 20c5c733 sh2add a4,a1,a2 +80000304: ffb00393 li t2,-5 +80000308: 36771663 bne a4,t2,80000674 + +8000030c : +8000030c: 01000193 li gp,16 +80000310: 00100593 li a1,1 +80000314: 80000637 lui a2,0x80000 +80000318: fff60613 addi a2,a2,-1 # 7fffffff <_start-0x1> +8000031c: 20c5c733 sh2add a4,a1,a2 +80000320: 800003b7 lui t2,0x80000 +80000324: 00338393 addi t2,t2,3 # 80000003 <_start+0x3> +80000328: 34771663 bne a4,t2,80000674 + +8000032c : +8000032c: 01100193 li gp,17 +80000330: 00d00593 li a1,13 +80000334: 00b00613 li a2,11 +80000338: 20c5c5b3 sh2add a1,a1,a2 +8000033c: 03f00393 li t2,63 +80000340: 32759a63 bne a1,t2,80000674 + +80000344 : +80000344: 01200193 li gp,18 +80000348: 00e00593 li a1,14 +8000034c: 00b00613 li a2,11 +80000350: 20c5c633 sh2add a2,a1,a2 +80000354: 04300393 li t2,67 +80000358: 30761e63 bne a2,t2,80000674 + +8000035c : +8000035c: 01300193 li gp,19 +80000360: 00d00593 li a1,13 +80000364: 20b5c5b3 sh2add a1,a1,a1 +80000368: 04100393 li t2,65 +8000036c: 30759463 bne a1,t2,80000674 + +80000370 : +80000370: 01400193 li gp,20 +80000374: 00000213 li tp,0 +80000378: 00d00093 li ra,13 +8000037c: 00b00113 li sp,11 +80000380: 2020c733 sh2add a4,ra,sp +80000384: 00070313 mv t1,a4 +80000388: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000038c: 00200293 li t0,2 +80000390: fe5214e3 bne tp,t0,80000378 +80000394: 03f00393 li t2,63 +80000398: 2c731e63 bne t1,t2,80000674 + +8000039c : +8000039c: 01500193 li gp,21 +800003a0: 00000213 li tp,0 +800003a4: 00e00093 li ra,14 +800003a8: 00b00113 li sp,11 +800003ac: 2020c733 sh2add a4,ra,sp +800003b0: 00000013 nop +800003b4: 00070313 mv t1,a4 +800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003bc: 00200293 li t0,2 +800003c0: fe5212e3 bne tp,t0,800003a4 +800003c4: 04300393 li t2,67 +800003c8: 2a731663 bne t1,t2,80000674 + +800003cc : +800003cc: 01600193 li gp,22 +800003d0: 00000213 li tp,0 +800003d4: 00f00093 li ra,15 +800003d8: 00b00113 li sp,11 +800003dc: 2020c733 sh2add a4,ra,sp +800003e0: 00000013 nop +800003e4: 00000013 nop +800003e8: 00070313 mv t1,a4 +800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f0: 00200293 li t0,2 +800003f4: fe5210e3 bne tp,t0,800003d4 +800003f8: 04700393 li t2,71 +800003fc: 26731c63 bne t1,t2,80000674 + +80000400 : +80000400: 01700193 li gp,23 +80000404: 00000213 li tp,0 +80000408: 00d00093 li ra,13 +8000040c: 00b00113 li sp,11 +80000410: 2020c733 sh2add a4,ra,sp +80000414: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000418: 00200293 li t0,2 +8000041c: fe5216e3 bne tp,t0,80000408 +80000420: 03f00393 li t2,63 +80000424: 24771863 bne a4,t2,80000674 + +80000428 : +80000428: 01800193 li gp,24 +8000042c: 00000213 li tp,0 +80000430: 00e00093 li ra,14 +80000434: 00b00113 li sp,11 +80000438: 00000013 nop +8000043c: 2020c733 sh2add a4,ra,sp +80000440: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000444: 00200293 li t0,2 +80000448: fe5214e3 bne tp,t0,80000430 +8000044c: 04300393 li t2,67 +80000450: 22771263 bne a4,t2,80000674 + +80000454 : +80000454: 01900193 li gp,25 +80000458: 00000213 li tp,0 +8000045c: 00f00093 li ra,15 +80000460: 00b00113 li sp,11 +80000464: 00000013 nop +80000468: 00000013 nop +8000046c: 2020c733 sh2add a4,ra,sp +80000470: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000474: 00200293 li t0,2 +80000478: fe5212e3 bne tp,t0,8000045c +8000047c: 04700393 li t2,71 +80000480: 1e771a63 bne a4,t2,80000674 + +80000484 : +80000484: 01a00193 li gp,26 +80000488: 00000213 li tp,0 +8000048c: 00d00093 li ra,13 +80000490: 00000013 nop +80000494: 00b00113 li sp,11 +80000498: 2020c733 sh2add a4,ra,sp +8000049c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004a0: 00200293 li t0,2 +800004a4: fe5214e3 bne tp,t0,8000048c +800004a8: 03f00393 li t2,63 +800004ac: 1c771463 bne a4,t2,80000674 + +800004b0 : +800004b0: 01b00193 li gp,27 +800004b4: 00000213 li tp,0 +800004b8: 00e00093 li ra,14 +800004bc: 00000013 nop +800004c0: 00b00113 li sp,11 +800004c4: 00000013 nop +800004c8: 2020c733 sh2add a4,ra,sp +800004cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004d0: 00200293 li t0,2 +800004d4: fe5212e3 bne tp,t0,800004b8 +800004d8: 04300393 li t2,67 +800004dc: 18771c63 bne a4,t2,80000674 + +800004e0 : +800004e0: 01c00193 li gp,28 +800004e4: 00000213 li tp,0 +800004e8: 00f00093 li ra,15 +800004ec: 00000013 nop +800004f0: 00000013 nop +800004f4: 00b00113 li sp,11 +800004f8: 2020c733 sh2add a4,ra,sp +800004fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000500: 00200293 li t0,2 +80000504: fe5212e3 bne tp,t0,800004e8 +80000508: 04700393 li t2,71 +8000050c: 16771463 bne a4,t2,80000674 + +80000510 : +80000510: 01d00193 li gp,29 +80000514: 00000213 li tp,0 +80000518: 00b00113 li sp,11 +8000051c: 00d00093 li ra,13 +80000520: 2020c733 sh2add a4,ra,sp +80000524: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000528: 00200293 li t0,2 +8000052c: fe5216e3 bne tp,t0,80000518 +80000530: 03f00393 li t2,63 +80000534: 14771063 bne a4,t2,80000674 + +80000538 : +80000538: 01e00193 li gp,30 +8000053c: 00000213 li tp,0 +80000540: 00b00113 li sp,11 +80000544: 00e00093 li ra,14 +80000548: 00000013 nop +8000054c: 2020c733 sh2add a4,ra,sp +80000550: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000554: 00200293 li t0,2 +80000558: fe5214e3 bne tp,t0,80000540 +8000055c: 04300393 li t2,67 +80000560: 10771a63 bne a4,t2,80000674 + +80000564 : +80000564: 01f00193 li gp,31 +80000568: 00000213 li tp,0 +8000056c: 00b00113 li sp,11 +80000570: 00f00093 li ra,15 +80000574: 00000013 nop +80000578: 00000013 nop +8000057c: 2020c733 sh2add a4,ra,sp +80000580: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000584: 00200293 li t0,2 +80000588: fe5212e3 bne tp,t0,8000056c +8000058c: 04700393 li t2,71 +80000590: 0e771263 bne a4,t2,80000674 + +80000594 : +80000594: 02000193 li gp,32 +80000598: 00000213 li tp,0 +8000059c: 00b00113 li sp,11 +800005a0: 00000013 nop +800005a4: 00d00093 li ra,13 +800005a8: 2020c733 sh2add a4,ra,sp +800005ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005b0: 00200293 li t0,2 +800005b4: fe5214e3 bne tp,t0,8000059c +800005b8: 03f00393 li t2,63 +800005bc: 0a771c63 bne a4,t2,80000674 + +800005c0 : +800005c0: 02100193 li gp,33 +800005c4: 00000213 li tp,0 +800005c8: 00b00113 li sp,11 +800005cc: 00000013 nop +800005d0: 00e00093 li ra,14 +800005d4: 00000013 nop +800005d8: 2020c733 sh2add a4,ra,sp +800005dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005e0: 00200293 li t0,2 +800005e4: fe5212e3 bne tp,t0,800005c8 +800005e8: 04300393 li t2,67 +800005ec: 08771463 bne a4,t2,80000674 + +800005f0 : +800005f0: 02200193 li gp,34 +800005f4: 00000213 li tp,0 +800005f8: 00b00113 li sp,11 +800005fc: 00000013 nop +80000600: 00000013 nop +80000604: 00f00093 li ra,15 +80000608: 2020c733 sh2add a4,ra,sp +8000060c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000610: 00200293 li t0,2 +80000614: fe5212e3 bne tp,t0,800005f8 +80000618: 04700393 li t2,71 +8000061c: 04771c63 bne a4,t2,80000674 + +80000620 : +80000620: 02300193 li gp,35 +80000624: 00f00093 li ra,15 +80000628: 20104133 sh2add sp,zero,ra +8000062c: 00f00393 li t2,15 +80000630: 04711263 bne sp,t2,80000674 + +80000634 : +80000634: 02400193 li gp,36 +80000638: 02000093 li ra,32 +8000063c: 2000c133 sh2add sp,ra,zero +80000640: 08000393 li t2,128 +80000644: 02711863 bne sp,t2,80000674 + +80000648 : +80000648: 02500193 li gp,37 +8000064c: 200040b3 sh2add ra,zero,zero +80000650: 00000393 li t2,0 +80000654: 02709063 bne ra,t2,80000674 + +80000658 : +80000658: 02600193 li gp,38 +8000065c: 01000093 li ra,16 +80000660: 01e00113 li sp,30 +80000664: 2020c033 sh2add zero,ra,sp +80000668: 00000393 li t2,0 +8000066c: 00701463 bne zero,t2,80000674 +80000670: 02301063 bne zero,gp,80000690 + +80000674 : +80000674: 0ff0000f fence +80000678: 00018063 beqz gp,80000678 +8000067c: 00119193 slli gp,gp,0x1 +80000680: 0011e193 ori gp,gp,1 +80000684: 05d00893 li a7,93 +80000688: 00018513 mv a0,gp +8000068c: 00000073 ecall + +80000690 : +80000690: 0ff0000f fence +80000694: 00100193 li gp,1 +80000698: 05d00893 li a7,93 +8000069c: 00000513 li a0,0 +800006a0: 00000073 ecall +800006a4: c0001073 unimp +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh2add.hex b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh2add.hex new file mode 100644 index 0000000..bf8fb77 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh2add.hex @@ -0,0 +1,1505 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000593 +00000613 +20c5c733 +00000393 +4c771663 +00300193 +00100593 +00100613 +20c5c733 +00500393 +4a771a63 +00400193 +00300593 +00700613 +20c5c733 +01300393 +48771e63 +00500193 +00000593 +ffff8637 +20c5c733 +ffff83b7 +48771263 +00600193 +800005b7 +00000613 +20c5c733 +00000393 +46771663 +00700193 +800005b7 +ffff8637 +20c5c733 +ffff83b7 +44771a63 +00800193 +00000593 +00008637 +fff60613 +20c5c733 +000083b7 +fff38393 +42771a63 +00900193 +800005b7 +fff58593 +00000613 +20c5c733 +ffc00393 +40771c63 +00a00193 +800005b7 +fff58593 +00008637 +fff60613 +20c5c733 +000083b7 +ffb38393 +3e771a63 +00b00193 +800005b7 +00008637 +fff60613 +20c5c733 +000083b7 +fff38393 +3c771a63 +00c00193 +800005b7 +fff58593 +ffff8637 +20c5c733 +ffff83b7 +ffc38393 +3a771a63 +00d00193 +00000593 +fff00613 +20c5c733 +fff00393 +38771e63 +00e00193 +fff00593 +00100613 +20c5c733 +ffd00393 +38771263 +00f00193 +fff00593 +fff00613 +20c5c733 +ffb00393 +36771663 +01000193 +00100593 +80000637 +fff60613 +20c5c733 +800003b7 +00338393 +34771663 +01100193 +00d00593 +00b00613 +20c5c5b3 +03f00393 +32759a63 +01200193 +00e00593 +00b00613 +20c5c633 +04300393 +30761e63 +01300193 +00d00593 +20b5c5b3 +04100393 +30759463 +01400193 +00000213 +00d00093 +00b00113 +2020c733 +00070313 +00120213 +00200293 +fe5214e3 +03f00393 +2c731e63 +01500193 +00000213 +00e00093 +00b00113 +2020c733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +04300393 +2a731663 +01600193 +00000213 +00f00093 +00b00113 +2020c733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +04700393 +26731c63 +01700193 +00000213 +00d00093 +00b00113 +2020c733 +00120213 +00200293 +fe5216e3 +03f00393 +24771863 +01800193 +00000213 +00e00093 +00b00113 +00000013 +2020c733 +00120213 +00200293 +fe5214e3 +04300393 +22771263 +01900193 +00000213 +00f00093 +00b00113 +00000013 +00000013 +2020c733 +00120213 +00200293 +fe5212e3 +04700393 +1e771a63 +01a00193 +00000213 +00d00093 +00000013 +00b00113 +2020c733 +00120213 +00200293 +fe5214e3 +03f00393 +1c771463 +01b00193 +00000213 +00e00093 +00000013 +00b00113 +00000013 +2020c733 +00120213 +00200293 +fe5212e3 +04300393 +18771c63 +01c00193 +00000213 +00f00093 +00000013 +00000013 +00b00113 +2020c733 +00120213 +00200293 +fe5212e3 +04700393 +16771463 +01d00193 +00000213 +00b00113 +00d00093 +2020c733 +00120213 +00200293 +fe5216e3 +03f00393 +14771063 +01e00193 +00000213 +00b00113 +00e00093 +00000013 +2020c733 +00120213 +00200293 +fe5214e3 +04300393 +10771a63 +01f00193 +00000213 +00b00113 +00f00093 +00000013 +00000013 +2020c733 +00120213 +00200293 +fe5212e3 +04700393 +0e771263 +02000193 +00000213 +00b00113 +00000013 +00d00093 +2020c733 +00120213 +00200293 +fe5214e3 +03f00393 +0a771c63 +02100193 +00000213 +00b00113 +00000013 +00e00093 +00000013 +2020c733 +00120213 +00200293 +fe5212e3 +04300393 +08771463 +02200193 +00000213 +00b00113 +00000013 +00000013 +00f00093 +2020c733 +00120213 +00200293 +fe5212e3 +04700393 +04771c63 +02300193 +00f00093 +20104133 +00f00393 +04711263 +02400193 +02000093 +2000c133 +08000393 +02711863 +02500193 +200040b3 +00000393 +02709063 +02600193 +01000093 +01e00113 +2020c033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3161627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000674 +00000000 +00010000 +000000a8 +800001ac +00000000 +00010000 +000000af +800001c4 +00000000 +00010000 +000000b6 +800001dc +00000000 +00010000 +000000bd +800001f4 +00000000 +00010000 +000000c4 +8000020c +00000000 +00010000 +000000cb +80000224 +00000000 +00010000 +000000d2 +80000244 +00000000 +00010000 +000000d9 +80000260 +00000000 +00010000 +000000e1 +80000284 +00000000 +00010000 +000000e9 +800002a4 +00000000 +00010000 +000000f1 +800002c4 +00000000 +00010000 +000000f9 +800002dc +00000000 +00010000 +00000101 +800002f4 +00000000 +00010000 +00000109 +8000030c +00000000 +00010000 +00000111 +8000032c +00000000 +00010000 +00000119 +80000344 +00000000 +00010000 +00000121 +8000035c +00000000 +00010000 +00000129 +80000370 +00000000 +00010000 +00000131 +8000039c +00000000 +00010000 +00000139 +800003cc +00000000 +00010000 +00000141 +80000400 +00000000 +00010000 +00000149 +80000428 +00000000 +00010000 +00000151 +80000454 +00000000 +00010000 +00000159 +80000484 +00000000 +00010000 +00000161 +800004b0 +00000000 +00010000 +00000169 +800004e0 +00000000 +00010000 +00000171 +80000510 +00000000 +00010000 +00000179 +80000538 +00000000 +00010000 +00000181 +80000564 +00000000 +00010000 +00000189 +80000594 +00000000 +00010000 +00000191 +800005c0 +00000000 +00010000 +00000199 +800005f0 +00000000 +00010000 +000001a1 +80000620 +00000000 +00010000 +000001a9 +80000634 +00000000 +00010000 +000001b1 +80000648 +00000000 +00010000 +000001b9 +80000658 +00000000 +00010000 +000001c1 +80000690 +00000000 +00010000 +000001c6 +80002000 +00000000 +00020010 +000001d4 +80002000 +00000000 +00020010 +000001e4 +80000000 +00000000 +00010010 +000001eb +80002000 +00000000 +00020010 +000001f0 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +4e636300 +65675733 +006f2e58 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +61627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73657400 +30335f74 +73657400 +31335f74 +73657400 +32335f74 +73657400 +33335f74 +73657400 +34335f74 +73657400 +35335f74 +73657400 +36335f74 +73657400 +37335f74 +73657400 +38335f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +00000390 +00000005 +00000033 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002430 +000001f9 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002629 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh3add.dump b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh3add.dump new file mode 100644 index 0000000..247da96 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh3add.dump @@ -0,0 +1,531 @@ + +rv32uzba-p-sh3add: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000593 li a1,0 +8000019c: 00000613 li a2,0 +800001a0: 20c5e733 sh3add a4,a1,a2 +800001a4: 00000393 li t2,0 +800001a8: 4c771663 bne a4,t2,80000674 + +800001ac : +800001ac: 00300193 li gp,3 +800001b0: 00100593 li a1,1 +800001b4: 00100613 li a2,1 +800001b8: 20c5e733 sh3add a4,a1,a2 +800001bc: 00900393 li t2,9 +800001c0: 4a771a63 bne a4,t2,80000674 + +800001c4 : +800001c4: 00400193 li gp,4 +800001c8: 00300593 li a1,3 +800001cc: 00700613 li a2,7 +800001d0: 20c5e733 sh3add a4,a1,a2 +800001d4: 01f00393 li t2,31 +800001d8: 48771e63 bne a4,t2,80000674 + +800001dc : +800001dc: 00500193 li gp,5 +800001e0: 00000593 li a1,0 +800001e4: ffff8637 lui a2,0xffff8 +800001e8: 20c5e733 sh3add a4,a1,a2 +800001ec: ffff83b7 lui t2,0xffff8 +800001f0: 48771263 bne a4,t2,80000674 + +800001f4 : +800001f4: 00600193 li gp,6 +800001f8: 800005b7 lui a1,0x80000 +800001fc: 00000613 li a2,0 +80000200: 20c5e733 sh3add a4,a1,a2 +80000204: 00000393 li t2,0 +80000208: 46771663 bne a4,t2,80000674 + +8000020c : +8000020c: 00700193 li gp,7 +80000210: 800005b7 lui a1,0x80000 +80000214: ffff8637 lui a2,0xffff8 +80000218: 20c5e733 sh3add a4,a1,a2 +8000021c: ffff83b7 lui t2,0xffff8 +80000220: 44771a63 bne a4,t2,80000674 + +80000224 : +80000224: 00800193 li gp,8 +80000228: 00000593 li a1,0 +8000022c: 00008637 lui a2,0x8 +80000230: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000234: 20c5e733 sh3add a4,a1,a2 +80000238: 000083b7 lui t2,0x8 +8000023c: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +80000240: 42771a63 bne a4,t2,80000674 + +80000244 : +80000244: 00900193 li gp,9 +80000248: 800005b7 lui a1,0x80000 +8000024c: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +80000250: 00000613 li a2,0 +80000254: 20c5e733 sh3add a4,a1,a2 +80000258: ff800393 li t2,-8 +8000025c: 40771c63 bne a4,t2,80000674 + +80000260 : +80000260: 00a00193 li gp,10 +80000264: 800005b7 lui a1,0x80000 +80000268: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +8000026c: 00008637 lui a2,0x8 +80000270: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000274: 20c5e733 sh3add a4,a1,a2 +80000278: 000083b7 lui t2,0x8 +8000027c: ff738393 addi t2,t2,-9 # 7ff7 <_start-0x7fff8009> +80000280: 3e771a63 bne a4,t2,80000674 + +80000284 : +80000284: 00b00193 li gp,11 +80000288: 800005b7 lui a1,0x80000 +8000028c: 00008637 lui a2,0x8 +80000290: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000294: 20c5e733 sh3add a4,a1,a2 +80000298: 000083b7 lui t2,0x8 +8000029c: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +800002a0: 3c771a63 bne a4,t2,80000674 + +800002a4 : +800002a4: 00c00193 li gp,12 +800002a8: 800005b7 lui a1,0x80000 +800002ac: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +800002b0: ffff8637 lui a2,0xffff8 +800002b4: 20c5e733 sh3add a4,a1,a2 +800002b8: ffff83b7 lui t2,0xffff8 +800002bc: ff838393 addi t2,t2,-8 # ffff7ff8 <_end+0x7fff5ff8> +800002c0: 3a771a63 bne a4,t2,80000674 + +800002c4 : +800002c4: 00d00193 li gp,13 +800002c8: 00000593 li a1,0 +800002cc: fff00613 li a2,-1 +800002d0: 20c5e733 sh3add a4,a1,a2 +800002d4: fff00393 li t2,-1 +800002d8: 38771e63 bne a4,t2,80000674 + +800002dc : +800002dc: 00e00193 li gp,14 +800002e0: fff00593 li a1,-1 +800002e4: 00100613 li a2,1 +800002e8: 20c5e733 sh3add a4,a1,a2 +800002ec: ff900393 li t2,-7 +800002f0: 38771263 bne a4,t2,80000674 + +800002f4 : +800002f4: 00f00193 li gp,15 +800002f8: fff00593 li a1,-1 +800002fc: fff00613 li a2,-1 +80000300: 20c5e733 sh3add a4,a1,a2 +80000304: ff700393 li t2,-9 +80000308: 36771663 bne a4,t2,80000674 + +8000030c : +8000030c: 01000193 li gp,16 +80000310: 00100593 li a1,1 +80000314: 80000637 lui a2,0x80000 +80000318: fff60613 addi a2,a2,-1 # 7fffffff <_start-0x1> +8000031c: 20c5e733 sh3add a4,a1,a2 +80000320: 800003b7 lui t2,0x80000 +80000324: 00738393 addi t2,t2,7 # 80000007 +80000328: 34771663 bne a4,t2,80000674 + +8000032c : +8000032c: 01100193 li gp,17 +80000330: 00d00593 li a1,13 +80000334: 00b00613 li a2,11 +80000338: 20c5e5b3 sh3add a1,a1,a2 +8000033c: 07300393 li t2,115 +80000340: 32759a63 bne a1,t2,80000674 + +80000344 : +80000344: 01200193 li gp,18 +80000348: 00e00593 li a1,14 +8000034c: 00b00613 li a2,11 +80000350: 20c5e633 sh3add a2,a1,a2 +80000354: 07b00393 li t2,123 +80000358: 30761e63 bne a2,t2,80000674 + +8000035c : +8000035c: 01300193 li gp,19 +80000360: 00d00593 li a1,13 +80000364: 20b5e5b3 sh3add a1,a1,a1 +80000368: 07500393 li t2,117 +8000036c: 30759463 bne a1,t2,80000674 + +80000370 : +80000370: 01400193 li gp,20 +80000374: 00000213 li tp,0 +80000378: 00d00093 li ra,13 +8000037c: 00b00113 li sp,11 +80000380: 2020e733 sh3add a4,ra,sp +80000384: 00070313 mv t1,a4 +80000388: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000038c: 00200293 li t0,2 +80000390: fe5214e3 bne tp,t0,80000378 +80000394: 07300393 li t2,115 +80000398: 2c731e63 bne t1,t2,80000674 + +8000039c : +8000039c: 01500193 li gp,21 +800003a0: 00000213 li tp,0 +800003a4: 00e00093 li ra,14 +800003a8: 00b00113 li sp,11 +800003ac: 2020e733 sh3add a4,ra,sp +800003b0: 00000013 nop +800003b4: 00070313 mv t1,a4 +800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003bc: 00200293 li t0,2 +800003c0: fe5212e3 bne tp,t0,800003a4 +800003c4: 07b00393 li t2,123 +800003c8: 2a731663 bne t1,t2,80000674 + +800003cc : +800003cc: 01600193 li gp,22 +800003d0: 00000213 li tp,0 +800003d4: 00f00093 li ra,15 +800003d8: 00b00113 li sp,11 +800003dc: 2020e733 sh3add a4,ra,sp +800003e0: 00000013 nop +800003e4: 00000013 nop +800003e8: 00070313 mv t1,a4 +800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f0: 00200293 li t0,2 +800003f4: fe5210e3 bne tp,t0,800003d4 +800003f8: 08300393 li t2,131 +800003fc: 26731c63 bne t1,t2,80000674 + +80000400 : +80000400: 01700193 li gp,23 +80000404: 00000213 li tp,0 +80000408: 00d00093 li ra,13 +8000040c: 00b00113 li sp,11 +80000410: 2020e733 sh3add a4,ra,sp +80000414: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000418: 00200293 li t0,2 +8000041c: fe5216e3 bne tp,t0,80000408 +80000420: 07300393 li t2,115 +80000424: 24771863 bne a4,t2,80000674 + +80000428 : +80000428: 01800193 li gp,24 +8000042c: 00000213 li tp,0 +80000430: 00e00093 li ra,14 +80000434: 00b00113 li sp,11 +80000438: 00000013 nop +8000043c: 2020e733 sh3add a4,ra,sp +80000440: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000444: 00200293 li t0,2 +80000448: fe5214e3 bne tp,t0,80000430 +8000044c: 07b00393 li t2,123 +80000450: 22771263 bne a4,t2,80000674 + +80000454 : +80000454: 01900193 li gp,25 +80000458: 00000213 li tp,0 +8000045c: 00f00093 li ra,15 +80000460: 00b00113 li sp,11 +80000464: 00000013 nop +80000468: 00000013 nop +8000046c: 2020e733 sh3add a4,ra,sp +80000470: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000474: 00200293 li t0,2 +80000478: fe5212e3 bne tp,t0,8000045c +8000047c: 08300393 li t2,131 +80000480: 1e771a63 bne a4,t2,80000674 + +80000484 : +80000484: 01a00193 li gp,26 +80000488: 00000213 li tp,0 +8000048c: 00d00093 li ra,13 +80000490: 00000013 nop +80000494: 00b00113 li sp,11 +80000498: 2020e733 sh3add a4,ra,sp +8000049c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004a0: 00200293 li t0,2 +800004a4: fe5214e3 bne tp,t0,8000048c +800004a8: 07300393 li t2,115 +800004ac: 1c771463 bne a4,t2,80000674 + +800004b0 : +800004b0: 01b00193 li gp,27 +800004b4: 00000213 li tp,0 +800004b8: 00e00093 li ra,14 +800004bc: 00000013 nop +800004c0: 00b00113 li sp,11 +800004c4: 00000013 nop +800004c8: 2020e733 sh3add a4,ra,sp +800004cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004d0: 00200293 li t0,2 +800004d4: fe5212e3 bne tp,t0,800004b8 +800004d8: 07b00393 li t2,123 +800004dc: 18771c63 bne a4,t2,80000674 + +800004e0 : +800004e0: 01c00193 li gp,28 +800004e4: 00000213 li tp,0 +800004e8: 00f00093 li ra,15 +800004ec: 00000013 nop +800004f0: 00000013 nop +800004f4: 00b00113 li sp,11 +800004f8: 2020e733 sh3add a4,ra,sp +800004fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000500: 00200293 li t0,2 +80000504: fe5212e3 bne tp,t0,800004e8 +80000508: 08300393 li t2,131 +8000050c: 16771463 bne a4,t2,80000674 + +80000510 : +80000510: 01d00193 li gp,29 +80000514: 00000213 li tp,0 +80000518: 00b00113 li sp,11 +8000051c: 00d00093 li ra,13 +80000520: 2020e733 sh3add a4,ra,sp +80000524: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000528: 00200293 li t0,2 +8000052c: fe5216e3 bne tp,t0,80000518 +80000530: 07300393 li t2,115 +80000534: 14771063 bne a4,t2,80000674 + +80000538 : +80000538: 01e00193 li gp,30 +8000053c: 00000213 li tp,0 +80000540: 00b00113 li sp,11 +80000544: 00e00093 li ra,14 +80000548: 00000013 nop +8000054c: 2020e733 sh3add a4,ra,sp +80000550: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000554: 00200293 li t0,2 +80000558: fe5214e3 bne tp,t0,80000540 +8000055c: 07b00393 li t2,123 +80000560: 10771a63 bne a4,t2,80000674 + +80000564 : +80000564: 01f00193 li gp,31 +80000568: 00000213 li tp,0 +8000056c: 00b00113 li sp,11 +80000570: 00f00093 li ra,15 +80000574: 00000013 nop +80000578: 00000013 nop +8000057c: 2020e733 sh3add a4,ra,sp +80000580: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000584: 00200293 li t0,2 +80000588: fe5212e3 bne tp,t0,8000056c +8000058c: 08300393 li t2,131 +80000590: 0e771263 bne a4,t2,80000674 + +80000594 : +80000594: 02000193 li gp,32 +80000598: 00000213 li tp,0 +8000059c: 00b00113 li sp,11 +800005a0: 00000013 nop +800005a4: 00d00093 li ra,13 +800005a8: 2020e733 sh3add a4,ra,sp +800005ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005b0: 00200293 li t0,2 +800005b4: fe5214e3 bne tp,t0,8000059c +800005b8: 07300393 li t2,115 +800005bc: 0a771c63 bne a4,t2,80000674 + +800005c0 : +800005c0: 02100193 li gp,33 +800005c4: 00000213 li tp,0 +800005c8: 00b00113 li sp,11 +800005cc: 00000013 nop +800005d0: 00e00093 li ra,14 +800005d4: 00000013 nop +800005d8: 2020e733 sh3add a4,ra,sp +800005dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005e0: 00200293 li t0,2 +800005e4: fe5212e3 bne tp,t0,800005c8 +800005e8: 07b00393 li t2,123 +800005ec: 08771463 bne a4,t2,80000674 + +800005f0 : +800005f0: 02200193 li gp,34 +800005f4: 00000213 li tp,0 +800005f8: 00b00113 li sp,11 +800005fc: 00000013 nop +80000600: 00000013 nop +80000604: 00f00093 li ra,15 +80000608: 2020e733 sh3add a4,ra,sp +8000060c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000610: 00200293 li t0,2 +80000614: fe5212e3 bne tp,t0,800005f8 +80000618: 08300393 li t2,131 +8000061c: 04771c63 bne a4,t2,80000674 + +80000620 : +80000620: 02300193 li gp,35 +80000624: 00f00093 li ra,15 +80000628: 20106133 sh3add sp,zero,ra +8000062c: 00f00393 li t2,15 +80000630: 04711263 bne sp,t2,80000674 + +80000634 : +80000634: 02400193 li gp,36 +80000638: 02000093 li ra,32 +8000063c: 2000e133 sh3add sp,ra,zero +80000640: 10000393 li t2,256 +80000644: 02711863 bne sp,t2,80000674 + +80000648 : +80000648: 02500193 li gp,37 +8000064c: 200060b3 sh3add ra,zero,zero +80000650: 00000393 li t2,0 +80000654: 02709063 bne ra,t2,80000674 + +80000658 : +80000658: 02600193 li gp,38 +8000065c: 01000093 li ra,16 +80000660: 01e00113 li sp,30 +80000664: 2020e033 sh3add zero,ra,sp +80000668: 00000393 li t2,0 +8000066c: 00701463 bne zero,t2,80000674 +80000670: 02301063 bne zero,gp,80000690 + +80000674 : +80000674: 0ff0000f fence +80000678: 00018063 beqz gp,80000678 +8000067c: 00119193 slli gp,gp,0x1 +80000680: 0011e193 ori gp,gp,1 +80000684: 05d00893 li a7,93 +80000688: 00018513 mv a0,gp +8000068c: 00000073 ecall + +80000690 : +80000690: 0ff0000f fence +80000694: 00100193 li gp,1 +80000698: 05d00893 li a7,93 +8000069c: 00000513 li a0,0 +800006a0: 00000073 ecall +800006a4: c0001073 unimp +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh3add.hex b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh3add.hex new file mode 100644 index 0000000..5c73461 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzba/rv32uzba-sh3add.hex @@ -0,0 +1,1505 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000593 +00000613 +20c5e733 +00000393 +4c771663 +00300193 +00100593 +00100613 +20c5e733 +00900393 +4a771a63 +00400193 +00300593 +00700613 +20c5e733 +01f00393 +48771e63 +00500193 +00000593 +ffff8637 +20c5e733 +ffff83b7 +48771263 +00600193 +800005b7 +00000613 +20c5e733 +00000393 +46771663 +00700193 +800005b7 +ffff8637 +20c5e733 +ffff83b7 +44771a63 +00800193 +00000593 +00008637 +fff60613 +20c5e733 +000083b7 +fff38393 +42771a63 +00900193 +800005b7 +fff58593 +00000613 +20c5e733 +ff800393 +40771c63 +00a00193 +800005b7 +fff58593 +00008637 +fff60613 +20c5e733 +000083b7 +ff738393 +3e771a63 +00b00193 +800005b7 +00008637 +fff60613 +20c5e733 +000083b7 +fff38393 +3c771a63 +00c00193 +800005b7 +fff58593 +ffff8637 +20c5e733 +ffff83b7 +ff838393 +3a771a63 +00d00193 +00000593 +fff00613 +20c5e733 +fff00393 +38771e63 +00e00193 +fff00593 +00100613 +20c5e733 +ff900393 +38771263 +00f00193 +fff00593 +fff00613 +20c5e733 +ff700393 +36771663 +01000193 +00100593 +80000637 +fff60613 +20c5e733 +800003b7 +00738393 +34771663 +01100193 +00d00593 +00b00613 +20c5e5b3 +07300393 +32759a63 +01200193 +00e00593 +00b00613 +20c5e633 +07b00393 +30761e63 +01300193 +00d00593 +20b5e5b3 +07500393 +30759463 +01400193 +00000213 +00d00093 +00b00113 +2020e733 +00070313 +00120213 +00200293 +fe5214e3 +07300393 +2c731e63 +01500193 +00000213 +00e00093 +00b00113 +2020e733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +07b00393 +2a731663 +01600193 +00000213 +00f00093 +00b00113 +2020e733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +08300393 +26731c63 +01700193 +00000213 +00d00093 +00b00113 +2020e733 +00120213 +00200293 +fe5216e3 +07300393 +24771863 +01800193 +00000213 +00e00093 +00b00113 +00000013 +2020e733 +00120213 +00200293 +fe5214e3 +07b00393 +22771263 +01900193 +00000213 +00f00093 +00b00113 +00000013 +00000013 +2020e733 +00120213 +00200293 +fe5212e3 +08300393 +1e771a63 +01a00193 +00000213 +00d00093 +00000013 +00b00113 +2020e733 +00120213 +00200293 +fe5214e3 +07300393 +1c771463 +01b00193 +00000213 +00e00093 +00000013 +00b00113 +00000013 +2020e733 +00120213 +00200293 +fe5212e3 +07b00393 +18771c63 +01c00193 +00000213 +00f00093 +00000013 +00000013 +00b00113 +2020e733 +00120213 +00200293 +fe5212e3 +08300393 +16771463 +01d00193 +00000213 +00b00113 +00d00093 +2020e733 +00120213 +00200293 +fe5216e3 +07300393 +14771063 +01e00193 +00000213 +00b00113 +00e00093 +00000013 +2020e733 +00120213 +00200293 +fe5214e3 +07b00393 +10771a63 +01f00193 +00000213 +00b00113 +00f00093 +00000013 +00000013 +2020e733 +00120213 +00200293 +fe5212e3 +08300393 +0e771263 +02000193 +00000213 +00b00113 +00000013 +00d00093 +2020e733 +00120213 +00200293 +fe5214e3 +07300393 +0a771c63 +02100193 +00000213 +00b00113 +00000013 +00e00093 +00000013 +2020e733 +00120213 +00200293 +fe5212e3 +07b00393 +08771463 +02200193 +00000213 +00b00113 +00000013 +00000013 +00f00093 +2020e733 +00120213 +00200293 +fe5212e3 +08300393 +04771c63 +02300193 +00f00093 +20106133 +00f00393 +04711263 +02400193 +02000093 +2000e133 +10000393 +02711863 +02500193 +200060b3 +00000393 +02709063 +02600193 +01000093 +01e00113 +2020e033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3161627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000674 +00000000 +00010000 +000000a8 +800001ac +00000000 +00010000 +000000af +800001c4 +00000000 +00010000 +000000b6 +800001dc +00000000 +00010000 +000000bd +800001f4 +00000000 +00010000 +000000c4 +8000020c +00000000 +00010000 +000000cb +80000224 +00000000 +00010000 +000000d2 +80000244 +00000000 +00010000 +000000d9 +80000260 +00000000 +00010000 +000000e1 +80000284 +00000000 +00010000 +000000e9 +800002a4 +00000000 +00010000 +000000f1 +800002c4 +00000000 +00010000 +000000f9 +800002dc +00000000 +00010000 +00000101 +800002f4 +00000000 +00010000 +00000109 +8000030c +00000000 +00010000 +00000111 +8000032c +00000000 +00010000 +00000119 +80000344 +00000000 +00010000 +00000121 +8000035c +00000000 +00010000 +00000129 +80000370 +00000000 +00010000 +00000131 +8000039c +00000000 +00010000 +00000139 +800003cc +00000000 +00010000 +00000141 +80000400 +00000000 +00010000 +00000149 +80000428 +00000000 +00010000 +00000151 +80000454 +00000000 +00010000 +00000159 +80000484 +00000000 +00010000 +00000161 +800004b0 +00000000 +00010000 +00000169 +800004e0 +00000000 +00010000 +00000171 +80000510 +00000000 +00010000 +00000179 +80000538 +00000000 +00010000 +00000181 +80000564 +00000000 +00010000 +00000189 +80000594 +00000000 +00010000 +00000191 +800005c0 +00000000 +00010000 +00000199 +800005f0 +00000000 +00010000 +000001a1 +80000620 +00000000 +00010000 +000001a9 +80000634 +00000000 +00010000 +000001b1 +80000648 +00000000 +00010000 +000001b9 +80000658 +00000000 +00010000 +000001c1 +80000690 +00000000 +00010000 +000001c6 +80002000 +00000000 +00020010 +000001d4 +80002000 +00000000 +00020010 +000001e4 +80000000 +00000000 +00010010 +000001eb +80002000 +00000000 +00020010 +000001f0 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +32636300 +626f7167 +006f2e30 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +61627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73657400 +30335f74 +73657400 +31335f74 +73657400 +32335f74 +73657400 +33335f74 +73657400 +34335f74 +73657400 +35335f74 +73657400 +36335f74 +73657400 +37335f74 +73657400 +38335f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +00000390 +00000005 +00000033 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002430 +000001f9 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002629 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-andn.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-andn.dump new file mode 100644 index 0000000..cc7baec --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-andn.dump @@ -0,0 +1,493 @@ + +rv32uzbb-p-andn: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: ff0105b7 lui a1,0xff010 +8000019c: f0058593 addi a1,a1,-256 # ff00ff00 <_end+0x7f00df00> +800001a0: 0f0f1637 lui a2,0xf0f1 +800001a4: f0f60613 addi a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> +800001a8: 40c5f733 andn a4,a1,a2 +800001ac: f000f3b7 lui t2,0xf000f +800001b0: 48771263 bne a4,t2,80000634 + +800001b4 : +800001b4: 00300193 li gp,3 +800001b8: 0ff015b7 lui a1,0xff01 +800001bc: ff058593 addi a1,a1,-16 # ff00ff0 <_start-0x700ff010> +800001c0: f0f0f637 lui a2,0xf0f0f +800001c4: 0f060613 addi a2,a2,240 # f0f0f0f0 <_end+0x70f0d0f0> +800001c8: 40c5f733 andn a4,a1,a2 +800001cc: 0f0013b7 lui t2,0xf001 +800001d0: f0038393 addi t2,t2,-256 # f000f00 <_start-0x70fff100> +800001d4: 46771063 bne a4,t2,80000634 + +800001d8 : +800001d8: 00400193 li gp,4 +800001dc: 00ff05b7 lui a1,0xff0 +800001e0: 0ff58593 addi a1,a1,255 # ff00ff <_start-0x7f00ff01> +800001e4: 0f0f1637 lui a2,0xf0f1 +800001e8: f0f60613 addi a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> +800001ec: 40c5f733 andn a4,a1,a2 +800001f0: 00f003b7 lui t2,0xf00 +800001f4: 0f038393 addi t2,t2,240 # f000f0 <_start-0x7f0fff10> +800001f8: 42771e63 bne a4,t2,80000634 + +800001fc : +800001fc: 00500193 li gp,5 +80000200: f00ff5b7 lui a1,0xf00ff +80000204: 00f58593 addi a1,a1,15 # f00ff00f <_end+0x700fd00f> +80000208: f0f0f637 lui a2,0xf0f0f +8000020c: 0f060613 addi a2,a2,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000210: 40c5f733 andn a4,a1,a2 +80000214: 000f03b7 lui t2,0xf0 +80000218: 00f38393 addi t2,t2,15 # f000f <_start-0x7ff0fff1> +8000021c: 40771c63 bne a4,t2,80000634 + +80000220 : +80000220: 00600193 li gp,6 +80000224: ff0105b7 lui a1,0xff010 +80000228: f0058593 addi a1,a1,-256 # ff00ff00 <_end+0x7f00df00> +8000022c: 0f0f1637 lui a2,0xf0f1 +80000230: f0f60613 addi a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> +80000234: 40c5f5b3 andn a1,a1,a2 +80000238: f000f3b7 lui t2,0xf000f +8000023c: 3e759c63 bne a1,t2,80000634 + +80000240 : +80000240: 00700193 li gp,7 +80000244: 0ff015b7 lui a1,0xff01 +80000248: ff058593 addi a1,a1,-16 # ff00ff0 <_start-0x700ff010> +8000024c: f0f0f637 lui a2,0xf0f0f +80000250: 0f060613 addi a2,a2,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000254: 40c5f633 andn a2,a1,a2 +80000258: 0f0013b7 lui t2,0xf001 +8000025c: f0038393 addi t2,t2,-256 # f000f00 <_start-0x70fff100> +80000260: 3c761a63 bne a2,t2,80000634 + +80000264 : +80000264: 00800193 li gp,8 +80000268: ff0105b7 lui a1,0xff010 +8000026c: f0058593 addi a1,a1,-256 # ff00ff00 <_end+0x7f00df00> +80000270: 40b5f5b3 andn a1,a1,a1 +80000274: 00000393 li t2,0 +80000278: 3a759e63 bne a1,t2,80000634 + +8000027c : +8000027c: 00900193 li gp,9 +80000280: 00000213 li tp,0 +80000284: ff0100b7 lui ra,0xff010 +80000288: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +8000028c: 0f0f1137 lui sp,0xf0f1 +80000290: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000294: 4020f733 andn a4,ra,sp +80000298: 00070313 mv t1,a4 +8000029c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a0: 00200293 li t0,2 +800002a4: fe5210e3 bne tp,t0,80000284 +800002a8: f000f3b7 lui t2,0xf000f +800002ac: 38731463 bne t1,t2,80000634 + +800002b0 : +800002b0: 00a00193 li gp,10 +800002b4: 00000213 li tp,0 +800002b8: 0ff010b7 lui ra,0xff01 +800002bc: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800002c0: f0f0f137 lui sp,0xf0f0f +800002c4: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800002c8: 4020f733 andn a4,ra,sp +800002cc: 00000013 nop +800002d0: 00070313 mv t1,a4 +800002d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d8: 00200293 li t0,2 +800002dc: fc521ee3 bne tp,t0,800002b8 +800002e0: 0f0013b7 lui t2,0xf001 +800002e4: f0038393 addi t2,t2,-256 # f000f00 <_start-0x70fff100> +800002e8: 34731663 bne t1,t2,80000634 + +800002ec : +800002ec: 00b00193 li gp,11 +800002f0: 00000213 li tp,0 +800002f4: 00ff00b7 lui ra,0xff0 +800002f8: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800002fc: 0f0f1137 lui sp,0xf0f1 +80000300: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000304: 4020f733 andn a4,ra,sp +80000308: 00000013 nop +8000030c: 00000013 nop +80000310: 00070313 mv t1,a4 +80000314: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000318: 00200293 li t0,2 +8000031c: fc521ce3 bne tp,t0,800002f4 +80000320: 00f003b7 lui t2,0xf00 +80000324: 0f038393 addi t2,t2,240 # f000f0 <_start-0x7f0fff10> +80000328: 30731663 bne t1,t2,80000634 + +8000032c : +8000032c: 00c00193 li gp,12 +80000330: 00000213 li tp,0 +80000334: ff0100b7 lui ra,0xff010 +80000338: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +8000033c: 0f0f1137 lui sp,0xf0f1 +80000340: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000344: 4020f733 andn a4,ra,sp +80000348: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000034c: 00200293 li t0,2 +80000350: fe5212e3 bne tp,t0,80000334 +80000354: f000f3b7 lui t2,0xf000f +80000358: 2c771e63 bne a4,t2,80000634 + +8000035c : +8000035c: 00d00193 li gp,13 +80000360: 00000213 li tp,0 +80000364: 0ff010b7 lui ra,0xff01 +80000368: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000036c: f0f0f137 lui sp,0xf0f0f +80000370: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000374: 00000013 nop +80000378: 4020f733 andn a4,ra,sp +8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000380: 00200293 li t0,2 +80000384: fe5210e3 bne tp,t0,80000364 +80000388: 0f0013b7 lui t2,0xf001 +8000038c: f0038393 addi t2,t2,-256 # f000f00 <_start-0x70fff100> +80000390: 2a771263 bne a4,t2,80000634 + +80000394 : +80000394: 00e00193 li gp,14 +80000398: 00000213 li tp,0 +8000039c: 00ff00b7 lui ra,0xff0 +800003a0: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800003a4: 0f0f1137 lui sp,0xf0f1 +800003a8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003ac: 00000013 nop +800003b0: 00000013 nop +800003b4: 4020f733 andn a4,ra,sp +800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003bc: 00200293 li t0,2 +800003c0: fc521ee3 bne tp,t0,8000039c +800003c4: 00f003b7 lui t2,0xf00 +800003c8: 0f038393 addi t2,t2,240 # f000f0 <_start-0x7f0fff10> +800003cc: 26771463 bne a4,t2,80000634 + +800003d0 : +800003d0: 00f00193 li gp,15 +800003d4: 00000213 li tp,0 +800003d8: ff0100b7 lui ra,0xff010 +800003dc: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800003e0: 00000013 nop +800003e4: 0f0f1137 lui sp,0xf0f1 +800003e8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003ec: 4020f733 andn a4,ra,sp +800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f4: 00200293 li t0,2 +800003f8: fe5210e3 bne tp,t0,800003d8 +800003fc: f000f3b7 lui t2,0xf000f +80000400: 22771a63 bne a4,t2,80000634 + +80000404 : +80000404: 01000193 li gp,16 +80000408: 00000213 li tp,0 +8000040c: 0ff010b7 lui ra,0xff01 +80000410: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000414: 00000013 nop +80000418: f0f0f137 lui sp,0xf0f0f +8000041c: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000420: 00000013 nop +80000424: 4020f733 andn a4,ra,sp +80000428: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000042c: 00200293 li t0,2 +80000430: fc521ee3 bne tp,t0,8000040c +80000434: 0f0013b7 lui t2,0xf001 +80000438: f0038393 addi t2,t2,-256 # f000f00 <_start-0x70fff100> +8000043c: 1e771c63 bne a4,t2,80000634 + +80000440 : +80000440: 01100193 li gp,17 +80000444: 00000213 li tp,0 +80000448: 00ff00b7 lui ra,0xff0 +8000044c: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000450: 00000013 nop +80000454: 00000013 nop +80000458: 0f0f1137 lui sp,0xf0f1 +8000045c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000460: 4020f733 andn a4,ra,sp +80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000468: 00200293 li t0,2 +8000046c: fc521ee3 bne tp,t0,80000448 +80000470: 00f003b7 lui t2,0xf00 +80000474: 0f038393 addi t2,t2,240 # f000f0 <_start-0x7f0fff10> +80000478: 1a771e63 bne a4,t2,80000634 + +8000047c : +8000047c: 01200193 li gp,18 +80000480: 00000213 li tp,0 +80000484: 0f0f1137 lui sp,0xf0f1 +80000488: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000048c: ff0100b7 lui ra,0xff010 +80000490: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000494: 4020f733 andn a4,ra,sp +80000498: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000049c: 00200293 li t0,2 +800004a0: fe5212e3 bne tp,t0,80000484 +800004a4: f000f3b7 lui t2,0xf000f +800004a8: 18771663 bne a4,t2,80000634 + +800004ac : +800004ac: 01300193 li gp,19 +800004b0: 00000213 li tp,0 +800004b4: f0f0f137 lui sp,0xf0f0f +800004b8: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800004bc: 0ff010b7 lui ra,0xff01 +800004c0: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800004c4: 00000013 nop +800004c8: 4020f733 andn a4,ra,sp +800004cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004d0: 00200293 li t0,2 +800004d4: fe5210e3 bne tp,t0,800004b4 +800004d8: 0f0013b7 lui t2,0xf001 +800004dc: f0038393 addi t2,t2,-256 # f000f00 <_start-0x70fff100> +800004e0: 14771a63 bne a4,t2,80000634 + +800004e4 : +800004e4: 01400193 li gp,20 +800004e8: 00000213 li tp,0 +800004ec: 0f0f1137 lui sp,0xf0f1 +800004f0: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800004f4: 00ff00b7 lui ra,0xff0 +800004f8: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800004fc: 00000013 nop +80000500: 00000013 nop +80000504: 4020f733 andn a4,ra,sp +80000508: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000050c: 00200293 li t0,2 +80000510: fc521ee3 bne tp,t0,800004ec +80000514: 00f003b7 lui t2,0xf00 +80000518: 0f038393 addi t2,t2,240 # f000f0 <_start-0x7f0fff10> +8000051c: 10771c63 bne a4,t2,80000634 + +80000520 : +80000520: 01500193 li gp,21 +80000524: 00000213 li tp,0 +80000528: 0f0f1137 lui sp,0xf0f1 +8000052c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000530: 00000013 nop +80000534: ff0100b7 lui ra,0xff010 +80000538: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +8000053c: 4020f733 andn a4,ra,sp +80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000544: 00200293 li t0,2 +80000548: fe5210e3 bne tp,t0,80000528 +8000054c: f000f3b7 lui t2,0xf000f +80000550: 0e771263 bne a4,t2,80000634 + +80000554 : +80000554: 01600193 li gp,22 +80000558: 00000213 li tp,0 +8000055c: f0f0f137 lui sp,0xf0f0f +80000560: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000564: 00000013 nop +80000568: 0ff010b7 lui ra,0xff01 +8000056c: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000570: 00000013 nop +80000574: 4020f733 andn a4,ra,sp +80000578: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000057c: 00200293 li t0,2 +80000580: fc521ee3 bne tp,t0,8000055c +80000584: 0f0013b7 lui t2,0xf001 +80000588: f0038393 addi t2,t2,-256 # f000f00 <_start-0x70fff100> +8000058c: 0a771463 bne a4,t2,80000634 + +80000590 : +80000590: 01700193 li gp,23 +80000594: 00000213 li tp,0 +80000598: 0f0f1137 lui sp,0xf0f1 +8000059c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800005a0: 00000013 nop +800005a4: 00000013 nop +800005a8: 00ff00b7 lui ra,0xff0 +800005ac: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800005b0: 4020f733 andn a4,ra,sp +800005b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005b8: 00200293 li t0,2 +800005bc: fc521ee3 bne tp,t0,80000598 +800005c0: 00f003b7 lui t2,0xf00 +800005c4: 0f038393 addi t2,t2,240 # f000f0 <_start-0x7f0fff10> +800005c8: 06771663 bne a4,t2,80000634 + +800005cc : +800005cc: 01800193 li gp,24 +800005d0: ff0100b7 lui ra,0xff010 +800005d4: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800005d8: 40107133 andn sp,zero,ra +800005dc: 00000393 li t2,0 +800005e0: 04711a63 bne sp,t2,80000634 + +800005e4 : +800005e4: 01900193 li gp,25 +800005e8: 00ff00b7 lui ra,0xff0 +800005ec: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800005f0: 4000f133 andn sp,ra,zero +800005f4: 00ff03b7 lui t2,0xff0 +800005f8: 0ff38393 addi t2,t2,255 # ff00ff <_start-0x7f00ff01> +800005fc: 02711c63 bne sp,t2,80000634 + +80000600 : +80000600: 01a00193 li gp,26 +80000604: 400070b3 andn ra,zero,zero +80000608: 00000393 li t2,0 +8000060c: 02709463 bne ra,t2,80000634 + +80000610 : +80000610: 01b00193 li gp,27 +80000614: 111110b7 lui ra,0x11111 +80000618: 11108093 addi ra,ra,273 # 11111111 <_start-0x6eeeeeef> +8000061c: 22222137 lui sp,0x22222 +80000620: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +80000624: 4020f033 andn zero,ra,sp +80000628: 00000393 li t2,0 +8000062c: 00701463 bne zero,t2,80000634 +80000630: 02301063 bne zero,gp,80000650 + +80000634 : +80000634: 0ff0000f fence +80000638: 00018063 beqz gp,80000638 +8000063c: 00119193 slli gp,gp,0x1 +80000640: 0011e193 ori gp,gp,1 +80000644: 05d00893 li a7,93 +80000648: 00018513 mv a0,gp +8000064c: 00000073 ecall + +80000650 : +80000650: 0ff0000f fence +80000654: 00100193 li gp,1 +80000658: 05d00893 li a7,93 +8000065c: 00000513 li a0,0 +80000660: 00000073 ecall +80000664: c0001073 unimp +80000668: 0000 .insn 2, 0x +8000066a: 0000 .insn 2, 0x +8000066c: 0000 .insn 2, 0x +8000066e: 0000 .insn 2, 0x +80000670: 0000 .insn 2, 0x +80000672: 0000 .insn 2, 0x +80000674: 0000 .insn 2, 0x +80000676: 0000 .insn 2, 0x +80000678: 0000 .insn 2, 0x +8000067a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-andn.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-andn.hex new file mode 100644 index 0000000..54d161b --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-andn.hex @@ -0,0 +1,1439 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +ff0105b7 +f0058593 +0f0f1637 +f0f60613 +40c5f733 +f000f3b7 +48771263 +00300193 +0ff015b7 +ff058593 +f0f0f637 +0f060613 +40c5f733 +0f0013b7 +f0038393 +46771063 +00400193 +00ff05b7 +0ff58593 +0f0f1637 +f0f60613 +40c5f733 +00f003b7 +0f038393 +42771e63 +00500193 +f00ff5b7 +00f58593 +f0f0f637 +0f060613 +40c5f733 +000f03b7 +00f38393 +40771c63 +00600193 +ff0105b7 +f0058593 +0f0f1637 +f0f60613 +40c5f5b3 +f000f3b7 +3e759c63 +00700193 +0ff015b7 +ff058593 +f0f0f637 +0f060613 +40c5f633 +0f0013b7 +f0038393 +3c761a63 +00800193 +ff0105b7 +f0058593 +40b5f5b3 +00000393 +3a759e63 +00900193 +00000213 +ff0100b7 +f0008093 +0f0f1137 +f0f10113 +4020f733 +00070313 +00120213 +00200293 +fe5210e3 +f000f3b7 +38731463 +00a00193 +00000213 +0ff010b7 +ff008093 +f0f0f137 +0f010113 +4020f733 +00000013 +00070313 +00120213 +00200293 +fc521ee3 +0f0013b7 +f0038393 +34731663 +00b00193 +00000213 +00ff00b7 +0ff08093 +0f0f1137 +f0f10113 +4020f733 +00000013 +00000013 +00070313 +00120213 +00200293 +fc521ce3 +00f003b7 +0f038393 +30731663 +00c00193 +00000213 +ff0100b7 +f0008093 +0f0f1137 +f0f10113 +4020f733 +00120213 +00200293 +fe5212e3 +f000f3b7 +2c771e63 +00d00193 +00000213 +0ff010b7 +ff008093 +f0f0f137 +0f010113 +00000013 +4020f733 +00120213 +00200293 +fe5210e3 +0f0013b7 +f0038393 +2a771263 +00e00193 +00000213 +00ff00b7 +0ff08093 +0f0f1137 +f0f10113 +00000013 +00000013 +4020f733 +00120213 +00200293 +fc521ee3 +00f003b7 +0f038393 +26771463 +00f00193 +00000213 +ff0100b7 +f0008093 +00000013 +0f0f1137 +f0f10113 +4020f733 +00120213 +00200293 +fe5210e3 +f000f3b7 +22771a63 +01000193 +00000213 +0ff010b7 +ff008093 +00000013 +f0f0f137 +0f010113 +00000013 +4020f733 +00120213 +00200293 +fc521ee3 +0f0013b7 +f0038393 +1e771c63 +01100193 +00000213 +00ff00b7 +0ff08093 +00000013 +00000013 +0f0f1137 +f0f10113 +4020f733 +00120213 +00200293 +fc521ee3 +00f003b7 +0f038393 +1a771e63 +01200193 +00000213 +0f0f1137 +f0f10113 +ff0100b7 +f0008093 +4020f733 +00120213 +00200293 +fe5212e3 +f000f3b7 +18771663 +01300193 +00000213 +f0f0f137 +0f010113 +0ff010b7 +ff008093 +00000013 +4020f733 +00120213 +00200293 +fe5210e3 +0f0013b7 +f0038393 +14771a63 +01400193 +00000213 +0f0f1137 +f0f10113 +00ff00b7 +0ff08093 +00000013 +00000013 +4020f733 +00120213 +00200293 +fc521ee3 +00f003b7 +0f038393 +10771c63 +01500193 +00000213 +0f0f1137 +f0f10113 +00000013 +ff0100b7 +f0008093 +4020f733 +00120213 +00200293 +fe5210e3 +f000f3b7 +0e771263 +01600193 +00000213 +f0f0f137 +0f010113 +00000013 +0ff010b7 +ff008093 +00000013 +4020f733 +00120213 +00200293 +fc521ee3 +0f0013b7 +f0038393 +0a771463 +01700193 +00000213 +0f0f1137 +f0f10113 +00000013 +00000013 +00ff00b7 +0ff08093 +4020f733 +00120213 +00200293 +fc521ee3 +00f003b7 +0f038393 +06771663 +01800193 +ff0100b7 +f0008093 +40107133 +00000393 +04711a63 +01900193 +00ff00b7 +0ff08093 +4000f133 +00ff03b7 +0ff38393 +02711c63 +01a00193 +400070b3 +00000393 +02709463 +01b00193 +111110b7 +11108093 +22222137 +22210113 +4020f033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000634 +00000000 +00010000 +000000a8 +800001b4 +00000000 +00010000 +000000af +800001d8 +00000000 +00010000 +000000b6 +800001fc +00000000 +00010000 +000000bd +80000220 +00000000 +00010000 +000000c4 +80000240 +00000000 +00010000 +000000cb +80000264 +00000000 +00010000 +000000d2 +8000027c +00000000 +00010000 +000000d9 +800002b0 +00000000 +00010000 +000000e1 +800002ec +00000000 +00010000 +000000e9 +8000032c +00000000 +00010000 +000000f1 +8000035c +00000000 +00010000 +000000f9 +80000394 +00000000 +00010000 +00000101 +800003d0 +00000000 +00010000 +00000109 +80000404 +00000000 +00010000 +00000111 +80000440 +00000000 +00010000 +00000119 +8000047c +00000000 +00010000 +00000121 +800004ac +00000000 +00010000 +00000129 +800004e4 +00000000 +00010000 +00000131 +80000520 +00000000 +00010000 +00000139 +80000554 +00000000 +00010000 +00000141 +80000590 +00000000 +00010000 +00000149 +800005cc +00000000 +00010000 +00000151 +800005e4 +00000000 +00010000 +00000159 +80000600 +00000000 +00010000 +00000161 +80000610 +00000000 +00010000 +00000169 +80000650 +00000000 +00010000 +0000016e +80002000 +00000000 +00020010 +0000017c +80002000 +00000000 +00020010 +0000018c +80000000 +00000000 +00010010 +00000193 +80002000 +00000000 +00020010 +00000198 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +68636300 +6b743836 +006f2e66 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +0000067c +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002e0 +00000005 +00000028 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002380 +000001a1 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002521 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-clz.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-clz.dump new file mode 100644 index 0000000..cb6c083 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-clz.dump @@ -0,0 +1,348 @@ + +rv32uzbb-p-clz: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000093 li ra,0 +8000019c: 60009713 clz a4,ra +800001a0: 02000393 li t2,32 +800001a4: 24771663 bne a4,t2,800003f0 + +800001a8 : +800001a8: 00300193 li gp,3 +800001ac: 00100093 li ra,1 +800001b0: 60009713 clz a4,ra +800001b4: 01f00393 li t2,31 +800001b8: 22771c63 bne a4,t2,800003f0 + +800001bc : +800001bc: 00400193 li gp,4 +800001c0: 00300093 li ra,3 +800001c4: 60009713 clz a4,ra +800001c8: 01e00393 li t2,30 +800001cc: 22771263 bne a4,t2,800003f0 + +800001d0 : +800001d0: 00500193 li gp,5 +800001d4: ffff80b7 lui ra,0xffff8 +800001d8: 60009713 clz a4,ra +800001dc: 00000393 li t2,0 +800001e0: 20771863 bne a4,t2,800003f0 + +800001e4 : +800001e4: 00600193 li gp,6 +800001e8: 008000b7 lui ra,0x800 +800001ec: 60009713 clz a4,ra +800001f0: 00800393 li t2,8 +800001f4: 1e771e63 bne a4,t2,800003f0 + +800001f8 : +800001f8: 00700193 li gp,7 +800001fc: ffff80b7 lui ra,0xffff8 +80000200: 60009713 clz a4,ra +80000204: 00000393 li t2,0 +80000208: 1e771463 bne a4,t2,800003f0 + +8000020c : +8000020c: 00800193 li gp,8 +80000210: 000080b7 lui ra,0x8 +80000214: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +80000218: 60009713 clz a4,ra +8000021c: 01100393 li t2,17 +80000220: 1c771863 bne a4,t2,800003f0 + +80000224 : +80000224: 00900193 li gp,9 +80000228: 800000b7 lui ra,0x80000 +8000022c: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +80000230: 60009713 clz a4,ra +80000234: 00100393 li t2,1 +80000238: 1a771c63 bne a4,t2,800003f0 + +8000023c : +8000023c: 00a00193 li gp,10 +80000240: 000800b7 lui ra,0x80 +80000244: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +80000248: 60009713 clz a4,ra +8000024c: 00d00393 li t2,13 +80000250: 1a771063 bne a4,t2,800003f0 + +80000254 : +80000254: 00b00193 li gp,11 +80000258: 800000b7 lui ra,0x80000 +8000025c: 60009713 clz a4,ra +80000260: 00000393 li t2,0 +80000264: 18771663 bne a4,t2,800003f0 + +80000268 : +80000268: 00c00193 li gp,12 +8000026c: 121f50b7 lui ra,0x121f5 +80000270: 60009713 clz a4,ra +80000274: 00300393 li t2,3 +80000278: 16771c63 bne a4,t2,800003f0 + +8000027c : +8000027c: 00d00193 li gp,13 +80000280: 040000b7 lui ra,0x4000 +80000284: 60009713 clz a4,ra +80000288: 00500393 li t2,5 +8000028c: 16771263 bne a4,t2,800003f0 + +80000290 : +80000290: 00e00193 li gp,14 +80000294: 00e00093 li ra,14 +80000298: 60009713 clz a4,ra +8000029c: 01c00393 li t2,28 +800002a0: 14771863 bne a4,t2,800003f0 + +800002a4 : +800002a4: 00f00193 li gp,15 +800002a8: 204010b7 lui ra,0x20401 +800002ac: 34108093 addi ra,ra,833 # 20401341 <_start-0x5fbfecbf> +800002b0: 60009713 clz a4,ra +800002b4: 00200393 li t2,2 +800002b8: 12771c63 bne a4,t2,800003f0 + +800002bc : +800002bc: 01000193 li gp,16 +800002c0: 00d00093 li ra,13 +800002c4: 60009093 clz ra,ra +800002c8: 01c00393 li t2,28 +800002cc: 12709263 bne ra,t2,800003f0 + +800002d0 : +800002d0: 01100193 li gp,17 +800002d4: 00b00093 li ra,11 +800002d8: 60009093 clz ra,ra +800002dc: 01c00393 li t2,28 +800002e0: 10709863 bne ra,t2,800003f0 + +800002e4 : +800002e4: 01200193 li gp,18 +800002e8: 00000213 li tp,0 +800002ec: 00d00093 li ra,13 +800002f0: 60009713 clz a4,ra +800002f4: 00070313 mv t1,a4 +800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002fc: 00200293 li t0,2 +80000300: fe5216e3 bne tp,t0,800002ec +80000304: 01c00393 li t2,28 +80000308: 0e731463 bne t1,t2,800003f0 + +8000030c : +8000030c: 01d00193 li gp,29 +80000310: 00000213 li tp,0 +80000314: 01300093 li ra,19 +80000318: 60009713 clz a4,ra +8000031c: 00000013 nop +80000320: 00070313 mv t1,a4 +80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000328: 00200293 li t0,2 +8000032c: fe5214e3 bne tp,t0,80000314 +80000330: 01b00393 li t2,27 +80000334: 0a731e63 bne t1,t2,800003f0 + +80000338 : +80000338: 01400193 li gp,20 +8000033c: 00000213 li tp,0 +80000340: 02200093 li ra,34 +80000344: 60009713 clz a4,ra +80000348: 00000013 nop +8000034c: 00000013 nop +80000350: 00070313 mv t1,a4 +80000354: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000358: 00200293 li t0,2 +8000035c: fe5212e3 bne tp,t0,80000340 +80000360: 01a00393 li t2,26 +80000364: 08731663 bne t1,t2,800003f0 + +80000368 : +80000368: 01500193 li gp,21 +8000036c: 070f80b7 lui ra,0x70f8 +80000370: 60009713 clz a4,ra +80000374: 00500393 li t2,5 +80000378: 06771c63 bne a4,t2,800003f0 + +8000037c : +8000037c: 01600193 li gp,22 +80000380: 080080b7 lui ra,0x8008 +80000384: 60009713 clz a4,ra +80000388: 00400393 li t2,4 +8000038c: 06771263 bne a4,t2,800003f0 + +80000390 : +80000390: 01700193 li gp,23 +80000394: 180080b7 lui ra,0x18008 +80000398: 60009713 clz a4,ra +8000039c: 00300393 li t2,3 +800003a0: 04771863 bne a4,t2,800003f0 + +800003a4 : +800003a4: 01800193 li gp,24 +800003a8: 000080b7 lui ra,0x8 +800003ac: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +800003b0: 60009713 clz a4,ra +800003b4: 01100393 li t2,17 +800003b8: 02771c63 bne a4,t2,800003f0 + +800003bc : +800003bc: 01900193 li gp,25 +800003c0: 800000b7 lui ra,0x80000 +800003c4: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +800003c8: 60009713 clz a4,ra +800003cc: 00100393 li t2,1 +800003d0: 02771063 bne a4,t2,800003f0 + +800003d4 : +800003d4: 01a00193 li gp,26 +800003d8: 000800b7 lui ra,0x80 +800003dc: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +800003e0: 60009713 clz a4,ra +800003e4: 00d00393 li t2,13 +800003e8: 00771463 bne a4,t2,800003f0 +800003ec: 02301063 bne zero,gp,8000040c + +800003f0 : +800003f0: 0ff0000f fence +800003f4: 00018063 beqz gp,800003f4 +800003f8: 00119193 slli gp,gp,0x1 +800003fc: 0011e193 ori gp,gp,1 +80000400: 05d00893 li a7,93 +80000404: 00018513 mv a0,gp +80000408: 00000073 ecall + +8000040c : +8000040c: 0ff0000f fence +80000410: 00100193 li gp,1 +80000414: 05d00893 li a7,93 +80000418: 00000513 li a0,0 +8000041c: 00000073 ecall +80000420: c0001073 unimp +80000424: 0000 .insn 2, 0x +80000426: 0000 .insn 2, 0x +80000428: 0000 .insn 2, 0x +8000042a: 0000 .insn 2, 0x +8000042c: 0000 .insn 2, 0x +8000042e: 0000 .insn 2, 0x +80000430: 0000 .insn 2, 0x +80000432: 0000 .insn 2, 0x +80000434: 0000 .insn 2, 0x +80000436: 0000 .insn 2, 0x +80000438: 0000 .insn 2, 0x +8000043a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-clz.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-clz.hex new file mode 100644 index 0000000..c1bd18c --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-clz.hex @@ -0,0 +1,1433 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000093 +60009713 +02000393 +24771663 +00300193 +00100093 +60009713 +01f00393 +22771c63 +00400193 +00300093 +60009713 +01e00393 +22771263 +00500193 +ffff80b7 +60009713 +00000393 +20771863 +00600193 +008000b7 +60009713 +00800393 +1e771e63 +00700193 +ffff80b7 +60009713 +00000393 +1e771463 +00800193 +000080b7 +fff08093 +60009713 +01100393 +1c771863 +00900193 +800000b7 +fff08093 +60009713 +00100393 +1a771c63 +00a00193 +000800b7 +fff08093 +60009713 +00d00393 +1a771063 +00b00193 +800000b7 +60009713 +00000393 +18771663 +00c00193 +121f50b7 +60009713 +00300393 +16771c63 +00d00193 +040000b7 +60009713 +00500393 +16771263 +00e00193 +00e00093 +60009713 +01c00393 +14771863 +00f00193 +204010b7 +34108093 +60009713 +00200393 +12771c63 +01000193 +00d00093 +60009093 +01c00393 +12709263 +01100193 +00b00093 +60009093 +01c00393 +10709863 +01200193 +00000213 +00d00093 +60009713 +00070313 +00120213 +00200293 +fe5216e3 +01c00393 +0e731463 +01d00193 +00000213 +01300093 +60009713 +00000013 +00070313 +00120213 +00200293 +fe5214e3 +01b00393 +0a731e63 +01400193 +00000213 +02200093 +60009713 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +01a00393 +08731663 +01500193 +070f80b7 +60009713 +00500393 +06771c63 +01600193 +080080b7 +60009713 +00400393 +06771263 +01700193 +180080b7 +60009713 +00300393 +04771863 +01800193 +000080b7 +fff08093 +60009713 +01100393 +02771c63 +01900193 +800000b7 +fff08093 +60009713 +00100393 +02771063 +01a00193 +000800b7 +fff08093 +60009713 +00d00393 +00771463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +800003f0 +00000000 +00010000 +000000a8 +800001a8 +00000000 +00010000 +000000af +800001bc +00000000 +00010000 +000000b6 +800001d0 +00000000 +00010000 +000000bd +800001e4 +00000000 +00010000 +000000c4 +800001f8 +00000000 +00010000 +000000cb +8000020c +00000000 +00010000 +000000d2 +80000224 +00000000 +00010000 +000000d9 +8000023c +00000000 +00010000 +000000e1 +80000254 +00000000 +00010000 +000000e9 +80000268 +00000000 +00010000 +000000f1 +8000027c +00000000 +00010000 +000000f9 +80000290 +00000000 +00010000 +00000101 +800002a4 +00000000 +00010000 +00000109 +800002bc +00000000 +00010000 +00000111 +800002d0 +00000000 +00010000 +00000119 +800002e4 +00000000 +00010000 +00000121 +8000030c +00000000 +00010000 +00000129 +80000338 +00000000 +00010000 +00000131 +80000368 +00000000 +00010000 +00000139 +8000037c +00000000 +00010000 +00000141 +80000390 +00000000 +00010000 +00000149 +800003a4 +00000000 +00010000 +00000151 +800003bc +00000000 +00010000 +00000159 +800003d4 +00000000 +00010000 +00000161 +8000040c +00000000 +00010000 +00000166 +80002000 +00000000 +00020010 +00000174 +80002000 +00000000 +00020010 +00000184 +80000000 +00000000 +00010010 +0000018b +80002000 +00000000 +00020010 +00000190 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +32636300 +534e5a53 +006f2e6d +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39325f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +0000043c +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002d0 +00000005 +00000027 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002370 +00000199 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002509 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-cpop.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-cpop.dump new file mode 100644 index 0000000..dbfb3bb --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-cpop.dump @@ -0,0 +1,348 @@ + +rv32uzbb-p-cpop: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000093 li ra,0 +8000019c: 60209713 cpop a4,ra +800001a0: 00000393 li t2,0 +800001a4: 24771663 bne a4,t2,800003f0 + +800001a8 : +800001a8: 00300193 li gp,3 +800001ac: 00100093 li ra,1 +800001b0: 60209713 cpop a4,ra +800001b4: 00100393 li t2,1 +800001b8: 22771c63 bne a4,t2,800003f0 + +800001bc : +800001bc: 00400193 li gp,4 +800001c0: 00300093 li ra,3 +800001c4: 60209713 cpop a4,ra +800001c8: 00200393 li t2,2 +800001cc: 22771263 bne a4,t2,800003f0 + +800001d0 : +800001d0: 00500193 li gp,5 +800001d4: ffff80b7 lui ra,0xffff8 +800001d8: 60209713 cpop a4,ra +800001dc: 01100393 li t2,17 +800001e0: 20771863 bne a4,t2,800003f0 + +800001e4 : +800001e4: 00600193 li gp,6 +800001e8: 008000b7 lui ra,0x800 +800001ec: 60209713 cpop a4,ra +800001f0: 00100393 li t2,1 +800001f4: 1e771e63 bne a4,t2,800003f0 + +800001f8 : +800001f8: 00700193 li gp,7 +800001fc: ffff60b7 lui ra,0xffff6 +80000200: 60209713 cpop a4,ra +80000204: 01200393 li t2,18 +80000208: 1e771463 bne a4,t2,800003f0 + +8000020c : +8000020c: 00800193 li gp,8 +80000210: 000080b7 lui ra,0x8 +80000214: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +80000218: 60209713 cpop a4,ra +8000021c: 00f00393 li t2,15 +80000220: 1c771863 bne a4,t2,800003f0 + +80000224 : +80000224: 00900193 li gp,9 +80000228: 800000b7 lui ra,0x80000 +8000022c: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +80000230: 60209713 cpop a4,ra +80000234: 01f00393 li t2,31 +80000238: 1a771c63 bne a4,t2,800003f0 + +8000023c : +8000023c: 00a00193 li gp,10 +80000240: 000800b7 lui ra,0x80 +80000244: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +80000248: 60209713 cpop a4,ra +8000024c: 01300393 li t2,19 +80000250: 1a771063 bne a4,t2,800003f0 + +80000254 : +80000254: 00b00193 li gp,11 +80000258: 800000b7 lui ra,0x80000 +8000025c: 60209713 cpop a4,ra +80000260: 00100393 li t2,1 +80000264: 18771663 bne a4,t2,800003f0 + +80000268 : +80000268: 00c00193 li gp,12 +8000026c: 121f50b7 lui ra,0x121f5 +80000270: 60209713 cpop a4,ra +80000274: 00900393 li t2,9 +80000278: 16771c63 bne a4,t2,800003f0 + +8000027c : +8000027c: 00d00193 li gp,13 +80000280: 00000093 li ra,0 +80000284: 60209713 cpop a4,ra +80000288: 00000393 li t2,0 +8000028c: 16771263 bne a4,t2,800003f0 + +80000290 : +80000290: 00e00193 li gp,14 +80000294: 00e00093 li ra,14 +80000298: 60209713 cpop a4,ra +8000029c: 00300393 li t2,3 +800002a0: 14771863 bne a4,t2,800003f0 + +800002a4 : +800002a4: 00f00193 li gp,15 +800002a8: 204010b7 lui ra,0x20401 +800002ac: 34108093 addi ra,ra,833 # 20401341 <_start-0x5fbfecbf> +800002b0: 60209713 cpop a4,ra +800002b4: 00700393 li t2,7 +800002b8: 12771c63 bne a4,t2,800003f0 + +800002bc : +800002bc: 01000193 li gp,16 +800002c0: 00d00093 li ra,13 +800002c4: 60209093 cpop ra,ra +800002c8: 00300393 li t2,3 +800002cc: 12709263 bne ra,t2,800003f0 + +800002d0 : +800002d0: 01100193 li gp,17 +800002d4: 00b00093 li ra,11 +800002d8: 60209093 cpop ra,ra +800002dc: 00300393 li t2,3 +800002e0: 10709863 bne ra,t2,800003f0 + +800002e4 : +800002e4: 01200193 li gp,18 +800002e8: 00000213 li tp,0 +800002ec: 00d00093 li ra,13 +800002f0: 60209713 cpop a4,ra +800002f4: 00070313 mv t1,a4 +800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002fc: 00200293 li t0,2 +80000300: fe5216e3 bne tp,t0,800002ec +80000304: 00300393 li t2,3 +80000308: 0e731463 bne t1,t2,800003f0 + +8000030c : +8000030c: 01d00193 li gp,29 +80000310: 00000213 li tp,0 +80000314: 01300093 li ra,19 +80000318: 60209713 cpop a4,ra +8000031c: 00000013 nop +80000320: 00070313 mv t1,a4 +80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000328: 00200293 li t0,2 +8000032c: fe5214e3 bne tp,t0,80000314 +80000330: 00300393 li t2,3 +80000334: 0a731e63 bne t1,t2,800003f0 + +80000338 : +80000338: 01400193 li gp,20 +8000033c: 00000213 li tp,0 +80000340: 02200093 li ra,34 +80000344: 60209713 cpop a4,ra +80000348: 00000013 nop +8000034c: 00000013 nop +80000350: 00070313 mv t1,a4 +80000354: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000358: 00200293 li t0,2 +8000035c: fe5212e3 bne tp,t0,80000340 +80000360: 00200393 li t2,2 +80000364: 08731663 bne t1,t2,800003f0 + +80000368 : +80000368: 01500193 li gp,21 +8000036c: 007f80b7 lui ra,0x7f8 +80000370: 60209713 cpop a4,ra +80000374: 00800393 li t2,8 +80000378: 06771c63 bne a4,t2,800003f0 + +8000037c : +8000037c: 01600193 li gp,22 +80000380: 008080b7 lui ra,0x808 +80000384: 60209713 cpop a4,ra +80000388: 00200393 li t2,2 +8000038c: 06771263 bne a4,t2,800003f0 + +80000390 : +80000390: 01700193 li gp,23 +80000394: 018080b7 lui ra,0x1808 +80000398: 60209713 cpop a4,ra +8000039c: 00300393 li t2,3 +800003a0: 04771863 bne a4,t2,800003f0 + +800003a4 : +800003a4: 01800193 li gp,24 +800003a8: 300080b7 lui ra,0x30008 +800003ac: fff08093 addi ra,ra,-1 # 30007fff <_start-0x4fff8001> +800003b0: 60209713 cpop a4,ra +800003b4: 01100393 li t2,17 +800003b8: 02771c63 bne a4,t2,800003f0 + +800003bc : +800003bc: 01900193 li gp,25 +800003c0: 780000b7 lui ra,0x78000 +800003c4: fff08093 addi ra,ra,-1 # 77ffffff <_start-0x8000001> +800003c8: 60209713 cpop a4,ra +800003cc: 01e00393 li t2,30 +800003d0: 02771063 bne a4,t2,800003f0 + +800003d4 : +800003d4: 01a00193 li gp,26 +800003d8: 000800b7 lui ra,0x80 +800003dc: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +800003e0: 60209713 cpop a4,ra +800003e4: 01300393 li t2,19 +800003e8: 00771463 bne a4,t2,800003f0 +800003ec: 02301063 bne zero,gp,8000040c + +800003f0 : +800003f0: 0ff0000f fence +800003f4: 00018063 beqz gp,800003f4 +800003f8: 00119193 slli gp,gp,0x1 +800003fc: 0011e193 ori gp,gp,1 +80000400: 05d00893 li a7,93 +80000404: 00018513 mv a0,gp +80000408: 00000073 ecall + +8000040c : +8000040c: 0ff0000f fence +80000410: 00100193 li gp,1 +80000414: 05d00893 li a7,93 +80000418: 00000513 li a0,0 +8000041c: 00000073 ecall +80000420: c0001073 unimp +80000424: 0000 .insn 2, 0x +80000426: 0000 .insn 2, 0x +80000428: 0000 .insn 2, 0x +8000042a: 0000 .insn 2, 0x +8000042c: 0000 .insn 2, 0x +8000042e: 0000 .insn 2, 0x +80000430: 0000 .insn 2, 0x +80000432: 0000 .insn 2, 0x +80000434: 0000 .insn 2, 0x +80000436: 0000 .insn 2, 0x +80000438: 0000 .insn 2, 0x +8000043a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-cpop.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-cpop.hex new file mode 100644 index 0000000..290d7ea --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-cpop.hex @@ -0,0 +1,1433 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000093 +60209713 +00000393 +24771663 +00300193 +00100093 +60209713 +00100393 +22771c63 +00400193 +00300093 +60209713 +00200393 +22771263 +00500193 +ffff80b7 +60209713 +01100393 +20771863 +00600193 +008000b7 +60209713 +00100393 +1e771e63 +00700193 +ffff60b7 +60209713 +01200393 +1e771463 +00800193 +000080b7 +fff08093 +60209713 +00f00393 +1c771863 +00900193 +800000b7 +fff08093 +60209713 +01f00393 +1a771c63 +00a00193 +000800b7 +fff08093 +60209713 +01300393 +1a771063 +00b00193 +800000b7 +60209713 +00100393 +18771663 +00c00193 +121f50b7 +60209713 +00900393 +16771c63 +00d00193 +00000093 +60209713 +00000393 +16771263 +00e00193 +00e00093 +60209713 +00300393 +14771863 +00f00193 +204010b7 +34108093 +60209713 +00700393 +12771c63 +01000193 +00d00093 +60209093 +00300393 +12709263 +01100193 +00b00093 +60209093 +00300393 +10709863 +01200193 +00000213 +00d00093 +60209713 +00070313 +00120213 +00200293 +fe5216e3 +00300393 +0e731463 +01d00193 +00000213 +01300093 +60209713 +00000013 +00070313 +00120213 +00200293 +fe5214e3 +00300393 +0a731e63 +01400193 +00000213 +02200093 +60209713 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +00200393 +08731663 +01500193 +007f80b7 +60209713 +00800393 +06771c63 +01600193 +008080b7 +60209713 +00200393 +06771263 +01700193 +018080b7 +60209713 +00300393 +04771863 +01800193 +300080b7 +fff08093 +60209713 +01100393 +02771c63 +01900193 +780000b7 +fff08093 +60209713 +01e00393 +02771063 +01a00193 +000800b7 +fff08093 +60209713 +01300393 +00771463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +800003f0 +00000000 +00010000 +000000a8 +800001a8 +00000000 +00010000 +000000af +800001bc +00000000 +00010000 +000000b6 +800001d0 +00000000 +00010000 +000000bd +800001e4 +00000000 +00010000 +000000c4 +800001f8 +00000000 +00010000 +000000cb +8000020c +00000000 +00010000 +000000d2 +80000224 +00000000 +00010000 +000000d9 +8000023c +00000000 +00010000 +000000e1 +80000254 +00000000 +00010000 +000000e9 +80000268 +00000000 +00010000 +000000f1 +8000027c +00000000 +00010000 +000000f9 +80000290 +00000000 +00010000 +00000101 +800002a4 +00000000 +00010000 +00000109 +800002bc +00000000 +00010000 +00000111 +800002d0 +00000000 +00010000 +00000119 +800002e4 +00000000 +00010000 +00000121 +8000030c +00000000 +00010000 +00000129 +80000338 +00000000 +00010000 +00000131 +80000368 +00000000 +00010000 +00000139 +8000037c +00000000 +00010000 +00000141 +80000390 +00000000 +00010000 +00000149 +800003a4 +00000000 +00010000 +00000151 +800003bc +00000000 +00010000 +00000159 +800003d4 +00000000 +00010000 +00000161 +8000040c +00000000 +00010000 +00000166 +80002000 +00000000 +00020010 +00000174 +80002000 +00000000 +00020010 +00000184 +80000000 +00000000 +00010010 +0000018b +80002000 +00000000 +00020010 +00000190 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +47636300 +4e666266 +006f2e63 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39325f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +0000043c +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002d0 +00000005 +00000027 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002370 +00000199 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002509 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ctz.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ctz.dump new file mode 100644 index 0000000..66c95c3 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ctz.dump @@ -0,0 +1,348 @@ + +rv32uzbb-p-ctz: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000093 li ra,0 +8000019c: 60109713 ctz a4,ra +800001a0: 02000393 li t2,32 +800001a4: 24771663 bne a4,t2,800003f0 + +800001a8 : +800001a8: 00300193 li gp,3 +800001ac: 00100093 li ra,1 +800001b0: 60109713 ctz a4,ra +800001b4: 00000393 li t2,0 +800001b8: 22771c63 bne a4,t2,800003f0 + +800001bc : +800001bc: 00400193 li gp,4 +800001c0: 00300093 li ra,3 +800001c4: 60109713 ctz a4,ra +800001c8: 00000393 li t2,0 +800001cc: 22771263 bne a4,t2,800003f0 + +800001d0 : +800001d0: 00500193 li gp,5 +800001d4: ffff80b7 lui ra,0xffff8 +800001d8: 60109713 ctz a4,ra +800001dc: 00f00393 li t2,15 +800001e0: 20771863 bne a4,t2,800003f0 + +800001e4 : +800001e4: 00600193 li gp,6 +800001e8: 008000b7 lui ra,0x800 +800001ec: 60109713 ctz a4,ra +800001f0: 01700393 li t2,23 +800001f4: 1e771e63 bne a4,t2,800003f0 + +800001f8 : +800001f8: 00700193 li gp,7 +800001fc: ffff80b7 lui ra,0xffff8 +80000200: 60109713 ctz a4,ra +80000204: 00f00393 li t2,15 +80000208: 1e771463 bne a4,t2,800003f0 + +8000020c : +8000020c: 00800193 li gp,8 +80000210: 000080b7 lui ra,0x8 +80000214: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +80000218: 60109713 ctz a4,ra +8000021c: 00000393 li t2,0 +80000220: 1c771863 bne a4,t2,800003f0 + +80000224 : +80000224: 00900193 li gp,9 +80000228: 800000b7 lui ra,0x80000 +8000022c: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +80000230: 60109713 ctz a4,ra +80000234: 00000393 li t2,0 +80000238: 1a771c63 bne a4,t2,800003f0 + +8000023c : +8000023c: 00a00193 li gp,10 +80000240: 000800b7 lui ra,0x80 +80000244: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +80000248: 60109713 ctz a4,ra +8000024c: 00000393 li t2,0 +80000250: 1a771063 bne a4,t2,800003f0 + +80000254 : +80000254: 00b00193 li gp,11 +80000258: 800000b7 lui ra,0x80000 +8000025c: 60109713 ctz a4,ra +80000260: 01f00393 li t2,31 +80000264: 18771663 bne a4,t2,800003f0 + +80000268 : +80000268: 00c00193 li gp,12 +8000026c: 121f50b7 lui ra,0x121f5 +80000270: 60109713 ctz a4,ra +80000274: 00c00393 li t2,12 +80000278: 16771c63 bne a4,t2,800003f0 + +8000027c : +8000027c: 00d00193 li gp,13 +80000280: c00000b7 lui ra,0xc0000 +80000284: 60109713 ctz a4,ra +80000288: 01e00393 li t2,30 +8000028c: 16771263 bne a4,t2,800003f0 + +80000290 : +80000290: 00e00193 li gp,14 +80000294: 00e00093 li ra,14 +80000298: 60109713 ctz a4,ra +8000029c: 00100393 li t2,1 +800002a0: 14771863 bne a4,t2,800003f0 + +800002a4 : +800002a4: 00f00193 li gp,15 +800002a8: 204010b7 lui ra,0x20401 +800002ac: 34108093 addi ra,ra,833 # 20401341 <_start-0x5fbfecbf> +800002b0: 60109713 ctz a4,ra +800002b4: 00000393 li t2,0 +800002b8: 12771c63 bne a4,t2,800003f0 + +800002bc : +800002bc: 01000193 li gp,16 +800002c0: 00d00093 li ra,13 +800002c4: 60109093 ctz ra,ra +800002c8: 00000393 li t2,0 +800002cc: 12709263 bne ra,t2,800003f0 + +800002d0 : +800002d0: 01100193 li gp,17 +800002d4: 00b00093 li ra,11 +800002d8: 60109093 ctz ra,ra +800002dc: 00000393 li t2,0 +800002e0: 10709863 bne ra,t2,800003f0 + +800002e4 : +800002e4: 01200193 li gp,18 +800002e8: 00000213 li tp,0 +800002ec: 00d00093 li ra,13 +800002f0: 60109713 ctz a4,ra +800002f4: 00070313 mv t1,a4 +800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002fc: 00200293 li t0,2 +80000300: fe5216e3 bne tp,t0,800002ec +80000304: 00000393 li t2,0 +80000308: 0e731463 bne t1,t2,800003f0 + +8000030c : +8000030c: 01d00193 li gp,29 +80000310: 00000213 li tp,0 +80000314: 01300093 li ra,19 +80000318: 60109713 ctz a4,ra +8000031c: 00000013 nop +80000320: 00070313 mv t1,a4 +80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000328: 00200293 li t0,2 +8000032c: fe5214e3 bne tp,t0,80000314 +80000330: 00000393 li t2,0 +80000334: 0a731e63 bne t1,t2,800003f0 + +80000338 : +80000338: 01400193 li gp,20 +8000033c: 00000213 li tp,0 +80000340: 02200093 li ra,34 +80000344: 60109713 ctz a4,ra +80000348: 00000013 nop +8000034c: 00000013 nop +80000350: 00070313 mv t1,a4 +80000354: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000358: 00200293 li t0,2 +8000035c: fe5212e3 bne tp,t0,80000340 +80000360: 00100393 li t2,1 +80000364: 08731663 bne t1,t2,800003f0 + +80000368 : +80000368: 01500193 li gp,21 +8000036c: 007f80b7 lui ra,0x7f8 +80000370: 60109713 ctz a4,ra +80000374: 00f00393 li t2,15 +80000378: 06771c63 bne a4,t2,800003f0 + +8000037c : +8000037c: 01600193 li gp,22 +80000380: 008080b7 lui ra,0x808 +80000384: 60109713 ctz a4,ra +80000388: 00f00393 li t2,15 +8000038c: 06771263 bne a4,t2,800003f0 + +80000390 : +80000390: 01700193 li gp,23 +80000394: 018090b7 lui ra,0x1809 +80000398: 60109713 ctz a4,ra +8000039c: 00c00393 li t2,12 +800003a0: 04771863 bne a4,t2,800003f0 + +800003a4 : +800003a4: 01800193 li gp,24 +800003a8: 000080b7 lui ra,0x8 +800003ac: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +800003b0: 60109713 ctz a4,ra +800003b4: 00000393 li t2,0 +800003b8: 02771c63 bne a4,t2,800003f0 + +800003bc : +800003bc: 01900193 li gp,25 +800003c0: 800000b7 lui ra,0x80000 +800003c4: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +800003c8: 60109713 ctz a4,ra +800003cc: 00000393 li t2,0 +800003d0: 02771063 bne a4,t2,800003f0 + +800003d4 : +800003d4: 01a00193 li gp,26 +800003d8: 000800b7 lui ra,0x80 +800003dc: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +800003e0: 60109713 ctz a4,ra +800003e4: 00000393 li t2,0 +800003e8: 00771463 bne a4,t2,800003f0 +800003ec: 02301063 bne zero,gp,8000040c + +800003f0 : +800003f0: 0ff0000f fence +800003f4: 00018063 beqz gp,800003f4 +800003f8: 00119193 slli gp,gp,0x1 +800003fc: 0011e193 ori gp,gp,1 +80000400: 05d00893 li a7,93 +80000404: 00018513 mv a0,gp +80000408: 00000073 ecall + +8000040c : +8000040c: 0ff0000f fence +80000410: 00100193 li gp,1 +80000414: 05d00893 li a7,93 +80000418: 00000513 li a0,0 +8000041c: 00000073 ecall +80000420: c0001073 unimp +80000424: 0000 .insn 2, 0x +80000426: 0000 .insn 2, 0x +80000428: 0000 .insn 2, 0x +8000042a: 0000 .insn 2, 0x +8000042c: 0000 .insn 2, 0x +8000042e: 0000 .insn 2, 0x +80000430: 0000 .insn 2, 0x +80000432: 0000 .insn 2, 0x +80000434: 0000 .insn 2, 0x +80000436: 0000 .insn 2, 0x +80000438: 0000 .insn 2, 0x +8000043a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ctz.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ctz.hex new file mode 100644 index 0000000..752d1d2 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ctz.hex @@ -0,0 +1,1433 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000093 +60109713 +02000393 +24771663 +00300193 +00100093 +60109713 +00000393 +22771c63 +00400193 +00300093 +60109713 +00000393 +22771263 +00500193 +ffff80b7 +60109713 +00f00393 +20771863 +00600193 +008000b7 +60109713 +01700393 +1e771e63 +00700193 +ffff80b7 +60109713 +00f00393 +1e771463 +00800193 +000080b7 +fff08093 +60109713 +00000393 +1c771863 +00900193 +800000b7 +fff08093 +60109713 +00000393 +1a771c63 +00a00193 +000800b7 +fff08093 +60109713 +00000393 +1a771063 +00b00193 +800000b7 +60109713 +01f00393 +18771663 +00c00193 +121f50b7 +60109713 +00c00393 +16771c63 +00d00193 +c00000b7 +60109713 +01e00393 +16771263 +00e00193 +00e00093 +60109713 +00100393 +14771863 +00f00193 +204010b7 +34108093 +60109713 +00000393 +12771c63 +01000193 +00d00093 +60109093 +00000393 +12709263 +01100193 +00b00093 +60109093 +00000393 +10709863 +01200193 +00000213 +00d00093 +60109713 +00070313 +00120213 +00200293 +fe5216e3 +00000393 +0e731463 +01d00193 +00000213 +01300093 +60109713 +00000013 +00070313 +00120213 +00200293 +fe5214e3 +00000393 +0a731e63 +01400193 +00000213 +02200093 +60109713 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +00100393 +08731663 +01500193 +007f80b7 +60109713 +00f00393 +06771c63 +01600193 +008080b7 +60109713 +00f00393 +06771263 +01700193 +018090b7 +60109713 +00c00393 +04771863 +01800193 +000080b7 +fff08093 +60109713 +00000393 +02771c63 +01900193 +800000b7 +fff08093 +60109713 +00000393 +02771063 +01a00193 +000800b7 +fff08093 +60109713 +00000393 +00771463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +800003f0 +00000000 +00010000 +000000a8 +800001a8 +00000000 +00010000 +000000af +800001bc +00000000 +00010000 +000000b6 +800001d0 +00000000 +00010000 +000000bd +800001e4 +00000000 +00010000 +000000c4 +800001f8 +00000000 +00010000 +000000cb +8000020c +00000000 +00010000 +000000d2 +80000224 +00000000 +00010000 +000000d9 +8000023c +00000000 +00010000 +000000e1 +80000254 +00000000 +00010000 +000000e9 +80000268 +00000000 +00010000 +000000f1 +8000027c +00000000 +00010000 +000000f9 +80000290 +00000000 +00010000 +00000101 +800002a4 +00000000 +00010000 +00000109 +800002bc +00000000 +00010000 +00000111 +800002d0 +00000000 +00010000 +00000119 +800002e4 +00000000 +00010000 +00000121 +8000030c +00000000 +00010000 +00000129 +80000338 +00000000 +00010000 +00000131 +80000368 +00000000 +00010000 +00000139 +8000037c +00000000 +00010000 +00000141 +80000390 +00000000 +00010000 +00000149 +800003a4 +00000000 +00010000 +00000151 +800003bc +00000000 +00010000 +00000159 +800003d4 +00000000 +00010000 +00000161 +8000040c +00000000 +00010000 +00000166 +80002000 +00000000 +00020010 +00000174 +80002000 +00000000 +00020010 +00000184 +80000000 +00000000 +00010010 +0000018b +80002000 +00000000 +00020010 +00000190 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +50636300 +67704459 +006f2e70 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39325f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +0000043c +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002d0 +00000005 +00000027 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002370 +00000199 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002509 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-max.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-max.dump new file mode 100644 index 0000000..1205827 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-max.dump @@ -0,0 +1,532 @@ + +rv32uzbb-p-max: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000593 li a1,0 +8000019c: 00000613 li a2,0 +800001a0: 0ac5e733 max a4,a1,a2 +800001a4: 00000393 li t2,0 +800001a8: 4c771463 bne a4,t2,80000670 + +800001ac : +800001ac: 00300193 li gp,3 +800001b0: 00100593 li a1,1 +800001b4: 00100613 li a2,1 +800001b8: 0ac5e733 max a4,a1,a2 +800001bc: 00100393 li t2,1 +800001c0: 4a771863 bne a4,t2,80000670 + +800001c4 : +800001c4: 00400193 li gp,4 +800001c8: 00300593 li a1,3 +800001cc: 00700613 li a2,7 +800001d0: 0ac5e733 max a4,a1,a2 +800001d4: 00700393 li t2,7 +800001d8: 48771c63 bne a4,t2,80000670 + +800001dc : +800001dc: 00500193 li gp,5 +800001e0: 00700593 li a1,7 +800001e4: 00300613 li a2,3 +800001e8: 0ac5e733 max a4,a1,a2 +800001ec: 00700393 li t2,7 +800001f0: 48771063 bne a4,t2,80000670 + +800001f4 : +800001f4: 00600193 li gp,6 +800001f8: 00000593 li a1,0 +800001fc: ffff8637 lui a2,0xffff8 +80000200: 0ac5e733 max a4,a1,a2 +80000204: 00000393 li t2,0 +80000208: 46771463 bne a4,t2,80000670 + +8000020c : +8000020c: 00700193 li gp,7 +80000210: 800005b7 lui a1,0x80000 +80000214: 00000613 li a2,0 +80000218: 0ac5e733 max a4,a1,a2 +8000021c: 00000393 li t2,0 +80000220: 44771863 bne a4,t2,80000670 + +80000224 : +80000224: 00800193 li gp,8 +80000228: 800005b7 lui a1,0x80000 +8000022c: ffff8637 lui a2,0xffff8 +80000230: 0ac5e733 max a4,a1,a2 +80000234: ffff83b7 lui t2,0xffff8 +80000238: 42771c63 bne a4,t2,80000670 + +8000023c : +8000023c: 00900193 li gp,9 +80000240: 00000593 li a1,0 +80000244: 00008637 lui a2,0x8 +80000248: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +8000024c: 0ac5e733 max a4,a1,a2 +80000250: 000083b7 lui t2,0x8 +80000254: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +80000258: 40771c63 bne a4,t2,80000670 + +8000025c : +8000025c: 00a00193 li gp,10 +80000260: 800005b7 lui a1,0x80000 +80000264: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +80000268: 00000613 li a2,0 +8000026c: 0ac5e733 max a4,a1,a2 +80000270: 800003b7 lui t2,0x80000 +80000274: fff38393 addi t2,t2,-1 # 7fffffff <_start-0x1> +80000278: 3e771c63 bne a4,t2,80000670 + +8000027c : +8000027c: 00b00193 li gp,11 +80000280: 800005b7 lui a1,0x80000 +80000284: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +80000288: 00008637 lui a2,0x8 +8000028c: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000290: 0ac5e733 max a4,a1,a2 +80000294: 800003b7 lui t2,0x80000 +80000298: fff38393 addi t2,t2,-1 # 7fffffff <_start-0x1> +8000029c: 3c771a63 bne a4,t2,80000670 + +800002a0 : +800002a0: 00c00193 li gp,12 +800002a4: 800005b7 lui a1,0x80000 +800002a8: 00008637 lui a2,0x8 +800002ac: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +800002b0: 0ac5e733 max a4,a1,a2 +800002b4: 000083b7 lui t2,0x8 +800002b8: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +800002bc: 3a771a63 bne a4,t2,80000670 + +800002c0 : +800002c0: 00d00193 li gp,13 +800002c4: 800005b7 lui a1,0x80000 +800002c8: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +800002cc: ffff8637 lui a2,0xffff8 +800002d0: 0ac5e733 max a4,a1,a2 +800002d4: 800003b7 lui t2,0x80000 +800002d8: fff38393 addi t2,t2,-1 # 7fffffff <_start-0x1> +800002dc: 38771a63 bne a4,t2,80000670 + +800002e0 : +800002e0: 00e00193 li gp,14 +800002e4: 00000593 li a1,0 +800002e8: fff00613 li a2,-1 +800002ec: 0ac5e733 max a4,a1,a2 +800002f0: 00000393 li t2,0 +800002f4: 36771e63 bne a4,t2,80000670 + +800002f8 : +800002f8: 00f00193 li gp,15 +800002fc: fff00593 li a1,-1 +80000300: 00100613 li a2,1 +80000304: 0ac5e733 max a4,a1,a2 +80000308: 00100393 li t2,1 +8000030c: 36771263 bne a4,t2,80000670 + +80000310 : +80000310: 01000193 li gp,16 +80000314: fff00593 li a1,-1 +80000318: fff00613 li a2,-1 +8000031c: 0ac5e733 max a4,a1,a2 +80000320: fff00393 li t2,-1 +80000324: 34771663 bne a4,t2,80000670 + +80000328 : +80000328: 01100193 li gp,17 +8000032c: 00e00593 li a1,14 +80000330: 00d00613 li a2,13 +80000334: 0ac5e5b3 max a1,a1,a2 +80000338: 00e00393 li t2,14 +8000033c: 32759a63 bne a1,t2,80000670 + +80000340 : +80000340: 01200193 li gp,18 +80000344: 00b00593 li a1,11 +80000348: 00d00613 li a2,13 +8000034c: 0ac5e633 max a2,a1,a2 +80000350: 00d00393 li t2,13 +80000354: 30761e63 bne a2,t2,80000670 + +80000358 : +80000358: 01300193 li gp,19 +8000035c: 00d00593 li a1,13 +80000360: 0ab5e5b3 max a1,a1,a1 +80000364: 00d00393 li t2,13 +80000368: 30759463 bne a1,t2,80000670 + +8000036c : +8000036c: 01400193 li gp,20 +80000370: 00000213 li tp,0 +80000374: 00b00093 li ra,11 +80000378: 00d00113 li sp,13 +8000037c: 0a20e733 max a4,ra,sp +80000380: 00070313 mv t1,a4 +80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000388: 00200293 li t0,2 +8000038c: fe5214e3 bne tp,t0,80000374 +80000390: 00d00393 li t2,13 +80000394: 2c731e63 bne t1,t2,80000670 + +80000398 : +80000398: 01500193 li gp,21 +8000039c: 00000213 li tp,0 +800003a0: 00e00093 li ra,14 +800003a4: 00d00113 li sp,13 +800003a8: 0a20e733 max a4,ra,sp +800003ac: 00000013 nop +800003b0: 00070313 mv t1,a4 +800003b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003b8: 00200293 li t0,2 +800003bc: fe5212e3 bne tp,t0,800003a0 +800003c0: 00e00393 li t2,14 +800003c4: 2a731663 bne t1,t2,80000670 + +800003c8 : +800003c8: 01600193 li gp,22 +800003cc: 00000213 li tp,0 +800003d0: 00c00093 li ra,12 +800003d4: 00d00113 li sp,13 +800003d8: 0a20e733 max a4,ra,sp +800003dc: 00000013 nop +800003e0: 00000013 nop +800003e4: 00070313 mv t1,a4 +800003e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003ec: 00200293 li t0,2 +800003f0: fe5210e3 bne tp,t0,800003d0 +800003f4: 00d00393 li t2,13 +800003f8: 26731c63 bne t1,t2,80000670 + +800003fc : +800003fc: 01700193 li gp,23 +80000400: 00000213 li tp,0 +80000404: 00e00093 li ra,14 +80000408: 00d00113 li sp,13 +8000040c: 0a20e733 max a4,ra,sp +80000410: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000414: 00200293 li t0,2 +80000418: fe5216e3 bne tp,t0,80000404 +8000041c: 00e00393 li t2,14 +80000420: 24771863 bne a4,t2,80000670 + +80000424 : +80000424: 01800193 li gp,24 +80000428: 00000213 li tp,0 +8000042c: 00b00093 li ra,11 +80000430: 00d00113 li sp,13 +80000434: 00000013 nop +80000438: 0a20e733 max a4,ra,sp +8000043c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000440: 00200293 li t0,2 +80000444: fe5214e3 bne tp,t0,8000042c +80000448: 00d00393 li t2,13 +8000044c: 22771263 bne a4,t2,80000670 + +80000450 : +80000450: 01900193 li gp,25 +80000454: 00000213 li tp,0 +80000458: 00f00093 li ra,15 +8000045c: 00d00113 li sp,13 +80000460: 00000013 nop +80000464: 00000013 nop +80000468: 0a20e733 max a4,ra,sp +8000046c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000470: 00200293 li t0,2 +80000474: fe5212e3 bne tp,t0,80000458 +80000478: 00f00393 li t2,15 +8000047c: 1e771a63 bne a4,t2,80000670 + +80000480 : +80000480: 01a00193 li gp,26 +80000484: 00000213 li tp,0 +80000488: 00a00093 li ra,10 +8000048c: 00000013 nop +80000490: 00d00113 li sp,13 +80000494: 0a20e733 max a4,ra,sp +80000498: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000049c: 00200293 li t0,2 +800004a0: fe5214e3 bne tp,t0,80000488 +800004a4: 00d00393 li t2,13 +800004a8: 1c771463 bne a4,t2,80000670 + +800004ac : +800004ac: 01b00193 li gp,27 +800004b0: 00000213 li tp,0 +800004b4: 01000093 li ra,16 +800004b8: 00000013 nop +800004bc: 00d00113 li sp,13 +800004c0: 00000013 nop +800004c4: 0a20e733 max a4,ra,sp +800004c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004cc: 00200293 li t0,2 +800004d0: fe5212e3 bne tp,t0,800004b4 +800004d4: 01000393 li t2,16 +800004d8: 18771c63 bne a4,t2,80000670 + +800004dc : +800004dc: 01c00193 li gp,28 +800004e0: 00000213 li tp,0 +800004e4: 00900093 li ra,9 +800004e8: 00000013 nop +800004ec: 00000013 nop +800004f0: 00d00113 li sp,13 +800004f4: 0a20e733 max a4,ra,sp +800004f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004fc: 00200293 li t0,2 +80000500: fe5212e3 bne tp,t0,800004e4 +80000504: 00d00393 li t2,13 +80000508: 16771463 bne a4,t2,80000670 + +8000050c : +8000050c: 01d00193 li gp,29 +80000510: 00000213 li tp,0 +80000514: 00d00113 li sp,13 +80000518: 01100093 li ra,17 +8000051c: 0a20e733 max a4,ra,sp +80000520: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000524: 00200293 li t0,2 +80000528: fe5216e3 bne tp,t0,80000514 +8000052c: 01100393 li t2,17 +80000530: 14771063 bne a4,t2,80000670 + +80000534 : +80000534: 01e00193 li gp,30 +80000538: 00000213 li tp,0 +8000053c: 00d00113 li sp,13 +80000540: 00800093 li ra,8 +80000544: 00000013 nop +80000548: 0a20e733 max a4,ra,sp +8000054c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000550: 00200293 li t0,2 +80000554: fe5214e3 bne tp,t0,8000053c +80000558: 00d00393 li t2,13 +8000055c: 10771a63 bne a4,t2,80000670 + +80000560 : +80000560: 01f00193 li gp,31 +80000564: 00000213 li tp,0 +80000568: 00d00113 li sp,13 +8000056c: 01200093 li ra,18 +80000570: 00000013 nop +80000574: 00000013 nop +80000578: 0a20e733 max a4,ra,sp +8000057c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000580: 00200293 li t0,2 +80000584: fe5212e3 bne tp,t0,80000568 +80000588: 01200393 li t2,18 +8000058c: 0e771263 bne a4,t2,80000670 + +80000590 : +80000590: 02000193 li gp,32 +80000594: 00000213 li tp,0 +80000598: 00d00113 li sp,13 +8000059c: 00000013 nop +800005a0: 00700093 li ra,7 +800005a4: 0a20e733 max a4,ra,sp +800005a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005ac: 00200293 li t0,2 +800005b0: fe5214e3 bne tp,t0,80000598 +800005b4: 00d00393 li t2,13 +800005b8: 0a771c63 bne a4,t2,80000670 + +800005bc : +800005bc: 02100193 li gp,33 +800005c0: 00000213 li tp,0 +800005c4: 00d00113 li sp,13 +800005c8: 00000013 nop +800005cc: 01300093 li ra,19 +800005d0: 00000013 nop +800005d4: 0a20e733 max a4,ra,sp +800005d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005dc: 00200293 li t0,2 +800005e0: fe5212e3 bne tp,t0,800005c4 +800005e4: 01300393 li t2,19 +800005e8: 08771463 bne a4,t2,80000670 + +800005ec : +800005ec: 02200193 li gp,34 +800005f0: 00000213 li tp,0 +800005f4: 00d00113 li sp,13 +800005f8: 00000013 nop +800005fc: 00000013 nop +80000600: 00600093 li ra,6 +80000604: 0a20e733 max a4,ra,sp +80000608: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000060c: 00200293 li t0,2 +80000610: fe5212e3 bne tp,t0,800005f4 +80000614: 00d00393 li t2,13 +80000618: 04771c63 bne a4,t2,80000670 + +8000061c : +8000061c: 02300193 li gp,35 +80000620: fff00093 li ra,-1 +80000624: 0a106133 max sp,zero,ra +80000628: 00000393 li t2,0 +8000062c: 04711263 bne sp,t2,80000670 + +80000630 : +80000630: 02400193 li gp,36 +80000634: fff00093 li ra,-1 +80000638: 0a00e133 max sp,ra,zero +8000063c: 00000393 li t2,0 +80000640: 02711863 bne sp,t2,80000670 + +80000644 : +80000644: 02500193 li gp,37 +80000648: 0a0060b3 max ra,zero,zero +8000064c: 00000393 li t2,0 +80000650: 02709063 bne ra,t2,80000670 + +80000654 : +80000654: 02600193 li gp,38 +80000658: 01000093 li ra,16 +8000065c: 01e00113 li sp,30 +80000660: 0a20e033 max zero,ra,sp +80000664: 00000393 li t2,0 +80000668: 00701463 bne zero,t2,80000670 +8000066c: 02301063 bne zero,gp,8000068c + +80000670 : +80000670: 0ff0000f fence +80000674: 00018063 beqz gp,80000674 +80000678: 00119193 slli gp,gp,0x1 +8000067c: 0011e193 ori gp,gp,1 +80000680: 05d00893 li a7,93 +80000684: 00018513 mv a0,gp +80000688: 00000073 ecall + +8000068c : +8000068c: 0ff0000f fence +80000690: 00100193 li gp,1 +80000694: 05d00893 li a7,93 +80000698: 00000513 li a0,0 +8000069c: 00000073 ecall +800006a0: c0001073 unimp +800006a4: 0000 .insn 2, 0x +800006a6: 0000 .insn 2, 0x +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-max.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-max.hex new file mode 100644 index 0000000..1fe482f --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-max.hex @@ -0,0 +1,1505 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000593 +00000613 +0ac5e733 +00000393 +4c771463 +00300193 +00100593 +00100613 +0ac5e733 +00100393 +4a771863 +00400193 +00300593 +00700613 +0ac5e733 +00700393 +48771c63 +00500193 +00700593 +00300613 +0ac5e733 +00700393 +48771063 +00600193 +00000593 +ffff8637 +0ac5e733 +00000393 +46771463 +00700193 +800005b7 +00000613 +0ac5e733 +00000393 +44771863 +00800193 +800005b7 +ffff8637 +0ac5e733 +ffff83b7 +42771c63 +00900193 +00000593 +00008637 +fff60613 +0ac5e733 +000083b7 +fff38393 +40771c63 +00a00193 +800005b7 +fff58593 +00000613 +0ac5e733 +800003b7 +fff38393 +3e771c63 +00b00193 +800005b7 +fff58593 +00008637 +fff60613 +0ac5e733 +800003b7 +fff38393 +3c771a63 +00c00193 +800005b7 +00008637 +fff60613 +0ac5e733 +000083b7 +fff38393 +3a771a63 +00d00193 +800005b7 +fff58593 +ffff8637 +0ac5e733 +800003b7 +fff38393 +38771a63 +00e00193 +00000593 +fff00613 +0ac5e733 +00000393 +36771e63 +00f00193 +fff00593 +00100613 +0ac5e733 +00100393 +36771263 +01000193 +fff00593 +fff00613 +0ac5e733 +fff00393 +34771663 +01100193 +00e00593 +00d00613 +0ac5e5b3 +00e00393 +32759a63 +01200193 +00b00593 +00d00613 +0ac5e633 +00d00393 +30761e63 +01300193 +00d00593 +0ab5e5b3 +00d00393 +30759463 +01400193 +00000213 +00b00093 +00d00113 +0a20e733 +00070313 +00120213 +00200293 +fe5214e3 +00d00393 +2c731e63 +01500193 +00000213 +00e00093 +00d00113 +0a20e733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +00e00393 +2a731663 +01600193 +00000213 +00c00093 +00d00113 +0a20e733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +00d00393 +26731c63 +01700193 +00000213 +00e00093 +00d00113 +0a20e733 +00120213 +00200293 +fe5216e3 +00e00393 +24771863 +01800193 +00000213 +00b00093 +00d00113 +00000013 +0a20e733 +00120213 +00200293 +fe5214e3 +00d00393 +22771263 +01900193 +00000213 +00f00093 +00d00113 +00000013 +00000013 +0a20e733 +00120213 +00200293 +fe5212e3 +00f00393 +1e771a63 +01a00193 +00000213 +00a00093 +00000013 +00d00113 +0a20e733 +00120213 +00200293 +fe5214e3 +00d00393 +1c771463 +01b00193 +00000213 +01000093 +00000013 +00d00113 +00000013 +0a20e733 +00120213 +00200293 +fe5212e3 +01000393 +18771c63 +01c00193 +00000213 +00900093 +00000013 +00000013 +00d00113 +0a20e733 +00120213 +00200293 +fe5212e3 +00d00393 +16771463 +01d00193 +00000213 +00d00113 +01100093 +0a20e733 +00120213 +00200293 +fe5216e3 +01100393 +14771063 +01e00193 +00000213 +00d00113 +00800093 +00000013 +0a20e733 +00120213 +00200293 +fe5214e3 +00d00393 +10771a63 +01f00193 +00000213 +00d00113 +01200093 +00000013 +00000013 +0a20e733 +00120213 +00200293 +fe5212e3 +01200393 +0e771263 +02000193 +00000213 +00d00113 +00000013 +00700093 +0a20e733 +00120213 +00200293 +fe5214e3 +00d00393 +0a771c63 +02100193 +00000213 +00d00113 +00000013 +01300093 +00000013 +0a20e733 +00120213 +00200293 +fe5212e3 +01300393 +08771463 +02200193 +00000213 +00d00113 +00000013 +00000013 +00600093 +0a20e733 +00120213 +00200293 +fe5212e3 +00d00393 +04771c63 +02300193 +fff00093 +0a106133 +00000393 +04711263 +02400193 +fff00093 +0a00e133 +00000393 +02711863 +02500193 +0a0060b3 +00000393 +02709063 +02600193 +01000093 +01e00113 +0a20e033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000670 +00000000 +00010000 +000000a8 +800001ac +00000000 +00010000 +000000af +800001c4 +00000000 +00010000 +000000b6 +800001dc +00000000 +00010000 +000000bd +800001f4 +00000000 +00010000 +000000c4 +8000020c +00000000 +00010000 +000000cb +80000224 +00000000 +00010000 +000000d2 +8000023c +00000000 +00010000 +000000d9 +8000025c +00000000 +00010000 +000000e1 +8000027c +00000000 +00010000 +000000e9 +800002a0 +00000000 +00010000 +000000f1 +800002c0 +00000000 +00010000 +000000f9 +800002e0 +00000000 +00010000 +00000101 +800002f8 +00000000 +00010000 +00000109 +80000310 +00000000 +00010000 +00000111 +80000328 +00000000 +00010000 +00000119 +80000340 +00000000 +00010000 +00000121 +80000358 +00000000 +00010000 +00000129 +8000036c +00000000 +00010000 +00000131 +80000398 +00000000 +00010000 +00000139 +800003c8 +00000000 +00010000 +00000141 +800003fc +00000000 +00010000 +00000149 +80000424 +00000000 +00010000 +00000151 +80000450 +00000000 +00010000 +00000159 +80000480 +00000000 +00010000 +00000161 +800004ac +00000000 +00010000 +00000169 +800004dc +00000000 +00010000 +00000171 +8000050c +00000000 +00010000 +00000179 +80000534 +00000000 +00010000 +00000181 +80000560 +00000000 +00010000 +00000189 +80000590 +00000000 +00010000 +00000191 +800005bc +00000000 +00010000 +00000199 +800005ec +00000000 +00010000 +000001a1 +8000061c +00000000 +00010000 +000001a9 +80000630 +00000000 +00010000 +000001b1 +80000644 +00000000 +00010000 +000001b9 +80000654 +00000000 +00010000 +000001c1 +8000068c +00000000 +00010000 +000001c6 +80002000 +00000000 +00020010 +000001d4 +80002000 +00000000 +00020010 +000001e4 +80000000 +00000000 +00010010 +000001eb +80002000 +00000000 +00020010 +000001f0 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +68636300 +4174344d +006f2e52 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73657400 +30335f74 +73657400 +31335f74 +73657400 +32335f74 +73657400 +33335f74 +73657400 +34335f74 +73657400 +35335f74 +73657400 +36335f74 +73657400 +37335f74 +73657400 +38335f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +00000390 +00000005 +00000033 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002430 +000001f9 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002629 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-maxu.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-maxu.dump new file mode 100644 index 0000000..d42ef2f --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-maxu.dump @@ -0,0 +1,534 @@ + +rv32uzbb-p-maxu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000593 li a1,0 +8000019c: 00000613 li a2,0 +800001a0: 0ac5f733 maxu a4,a1,a2 +800001a4: 00000393 li t2,0 +800001a8: 4c771063 bne a4,t2,80000668 + +800001ac : +800001ac: 00300193 li gp,3 +800001b0: 00100593 li a1,1 +800001b4: 00100613 li a2,1 +800001b8: 0ac5f733 maxu a4,a1,a2 +800001bc: 00100393 li t2,1 +800001c0: 4a771463 bne a4,t2,80000668 + +800001c4 : +800001c4: 00400193 li gp,4 +800001c8: 00300593 li a1,3 +800001cc: 00700613 li a2,7 +800001d0: 0ac5f733 maxu a4,a1,a2 +800001d4: 00700393 li t2,7 +800001d8: 48771863 bne a4,t2,80000668 + +800001dc : +800001dc: 00500193 li gp,5 +800001e0: 00700593 li a1,7 +800001e4: 00300613 li a2,3 +800001e8: 0ac5f733 maxu a4,a1,a2 +800001ec: 00700393 li t2,7 +800001f0: 46771c63 bne a4,t2,80000668 + +800001f4 : +800001f4: 00600193 li gp,6 +800001f8: 00000593 li a1,0 +800001fc: ffff8637 lui a2,0xffff8 +80000200: 0ac5f733 maxu a4,a1,a2 +80000204: ffff83b7 lui t2,0xffff8 +80000208: 46771063 bne a4,t2,80000668 + +8000020c : +8000020c: 00700193 li gp,7 +80000210: 800005b7 lui a1,0x80000 +80000214: 00000613 li a2,0 +80000218: 0ac5f733 maxu a4,a1,a2 +8000021c: 800003b7 lui t2,0x80000 +80000220: 44771463 bne a4,t2,80000668 + +80000224 : +80000224: 00800193 li gp,8 +80000228: 800005b7 lui a1,0x80000 +8000022c: ffff8637 lui a2,0xffff8 +80000230: 0ac5f733 maxu a4,a1,a2 +80000234: ffff83b7 lui t2,0xffff8 +80000238: 42771863 bne a4,t2,80000668 + +8000023c : +8000023c: 00900193 li gp,9 +80000240: 00000593 li a1,0 +80000244: 00008637 lui a2,0x8 +80000248: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +8000024c: 0ac5f733 maxu a4,a1,a2 +80000250: 000083b7 lui t2,0x8 +80000254: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +80000258: 40771863 bne a4,t2,80000668 + +8000025c : +8000025c: 00a00193 li gp,10 +80000260: 800005b7 lui a1,0x80000 +80000264: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +80000268: 00000613 li a2,0 +8000026c: 0ac5f733 maxu a4,a1,a2 +80000270: 800003b7 lui t2,0x80000 +80000274: fff38393 addi t2,t2,-1 # 7fffffff <_start-0x1> +80000278: 3e771863 bne a4,t2,80000668 + +8000027c : +8000027c: 00b00193 li gp,11 +80000280: 800005b7 lui a1,0x80000 +80000284: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +80000288: 00008637 lui a2,0x8 +8000028c: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000290: 0ac5f733 maxu a4,a1,a2 +80000294: 800003b7 lui t2,0x80000 +80000298: fff38393 addi t2,t2,-1 # 7fffffff <_start-0x1> +8000029c: 3c771663 bne a4,t2,80000668 + +800002a0 : +800002a0: 00c00193 li gp,12 +800002a4: 800005b7 lui a1,0x80000 +800002a8: 00008637 lui a2,0x8 +800002ac: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +800002b0: 0ac5f733 maxu a4,a1,a2 +800002b4: 800003b7 lui t2,0x80000 +800002b8: 3a771863 bne a4,t2,80000668 + +800002bc : +800002bc: 00d00193 li gp,13 +800002c0: 800005b7 lui a1,0x80000 +800002c4: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +800002c8: ffff8637 lui a2,0xffff8 +800002cc: 0ac5f733 maxu a4,a1,a2 +800002d0: ffff83b7 lui t2,0xffff8 +800002d4: 38771a63 bne a4,t2,80000668 + +800002d8 : +800002d8: 00e00193 li gp,14 +800002dc: 00000593 li a1,0 +800002e0: fff00613 li a2,-1 +800002e4: 0ac5f733 maxu a4,a1,a2 +800002e8: fff00393 li t2,-1 +800002ec: 36771e63 bne a4,t2,80000668 + +800002f0 : +800002f0: 00f00193 li gp,15 +800002f4: fff00593 li a1,-1 +800002f8: 00100613 li a2,1 +800002fc: 0ac5f733 maxu a4,a1,a2 +80000300: fff00393 li t2,-1 +80000304: 36771263 bne a4,t2,80000668 + +80000308 : +80000308: 01000193 li gp,16 +8000030c: fff00593 li a1,-1 +80000310: fff00613 li a2,-1 +80000314: 0ac5f733 maxu a4,a1,a2 +80000318: fff00393 li t2,-1 +8000031c: 34771663 bne a4,t2,80000668 + +80000320 : +80000320: 01100193 li gp,17 +80000324: 00e00593 li a1,14 +80000328: 00d00613 li a2,13 +8000032c: 0ac5f5b3 maxu a1,a1,a2 +80000330: 00e00393 li t2,14 +80000334: 32759a63 bne a1,t2,80000668 + +80000338 : +80000338: 01200193 li gp,18 +8000033c: 00b00593 li a1,11 +80000340: 00d00613 li a2,13 +80000344: 0ac5f633 maxu a2,a1,a2 +80000348: 00d00393 li t2,13 +8000034c: 30761e63 bne a2,t2,80000668 + +80000350 : +80000350: 01300193 li gp,19 +80000354: 00d00593 li a1,13 +80000358: 0ab5f5b3 maxu a1,a1,a1 +8000035c: 00d00393 li t2,13 +80000360: 30759463 bne a1,t2,80000668 + +80000364 : +80000364: 01400193 li gp,20 +80000368: 00000213 li tp,0 +8000036c: 00b00093 li ra,11 +80000370: 00d00113 li sp,13 +80000374: 0a20f733 maxu a4,ra,sp +80000378: 00070313 mv t1,a4 +8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000380: 00200293 li t0,2 +80000384: fe5214e3 bne tp,t0,8000036c +80000388: 00d00393 li t2,13 +8000038c: 2c731e63 bne t1,t2,80000668 + +80000390 : +80000390: 01500193 li gp,21 +80000394: 00000213 li tp,0 +80000398: 00e00093 li ra,14 +8000039c: 00d00113 li sp,13 +800003a0: 0a20f733 maxu a4,ra,sp +800003a4: 00000013 nop +800003a8: 00070313 mv t1,a4 +800003ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003b0: 00200293 li t0,2 +800003b4: fe5212e3 bne tp,t0,80000398 +800003b8: 00e00393 li t2,14 +800003bc: 2a731663 bne t1,t2,80000668 + +800003c0 : +800003c0: 01600193 li gp,22 +800003c4: 00000213 li tp,0 +800003c8: 00c00093 li ra,12 +800003cc: 00d00113 li sp,13 +800003d0: 0a20f733 maxu a4,ra,sp +800003d4: 00000013 nop +800003d8: 00000013 nop +800003dc: 00070313 mv t1,a4 +800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003e4: 00200293 li t0,2 +800003e8: fe5210e3 bne tp,t0,800003c8 +800003ec: 00d00393 li t2,13 +800003f0: 26731c63 bne t1,t2,80000668 + +800003f4 : +800003f4: 01700193 li gp,23 +800003f8: 00000213 li tp,0 +800003fc: 00e00093 li ra,14 +80000400: 00d00113 li sp,13 +80000404: 0a20f733 maxu a4,ra,sp +80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000040c: 00200293 li t0,2 +80000410: fe5216e3 bne tp,t0,800003fc +80000414: 00e00393 li t2,14 +80000418: 24771863 bne a4,t2,80000668 + +8000041c : +8000041c: 01800193 li gp,24 +80000420: 00000213 li tp,0 +80000424: 00b00093 li ra,11 +80000428: 00d00113 li sp,13 +8000042c: 00000013 nop +80000430: 0a20f733 maxu a4,ra,sp +80000434: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000438: 00200293 li t0,2 +8000043c: fe5214e3 bne tp,t0,80000424 +80000440: 00d00393 li t2,13 +80000444: 22771263 bne a4,t2,80000668 + +80000448 : +80000448: 01900193 li gp,25 +8000044c: 00000213 li tp,0 +80000450: 00f00093 li ra,15 +80000454: 00d00113 li sp,13 +80000458: 00000013 nop +8000045c: 00000013 nop +80000460: 0a20f733 maxu a4,ra,sp +80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000468: 00200293 li t0,2 +8000046c: fe5212e3 bne tp,t0,80000450 +80000470: 00f00393 li t2,15 +80000474: 1e771a63 bne a4,t2,80000668 + +80000478 : +80000478: 01a00193 li gp,26 +8000047c: 00000213 li tp,0 +80000480: 00a00093 li ra,10 +80000484: 00000013 nop +80000488: 00d00113 li sp,13 +8000048c: 0a20f733 maxu a4,ra,sp +80000490: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000494: 00200293 li t0,2 +80000498: fe5214e3 bne tp,t0,80000480 +8000049c: 00d00393 li t2,13 +800004a0: 1c771463 bne a4,t2,80000668 + +800004a4 : +800004a4: 01b00193 li gp,27 +800004a8: 00000213 li tp,0 +800004ac: 01000093 li ra,16 +800004b0: 00000013 nop +800004b4: 00d00113 li sp,13 +800004b8: 00000013 nop +800004bc: 0a20f733 maxu a4,ra,sp +800004c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004c4: 00200293 li t0,2 +800004c8: fe5212e3 bne tp,t0,800004ac +800004cc: 01000393 li t2,16 +800004d0: 18771c63 bne a4,t2,80000668 + +800004d4 : +800004d4: 01c00193 li gp,28 +800004d8: 00000213 li tp,0 +800004dc: 00900093 li ra,9 +800004e0: 00000013 nop +800004e4: 00000013 nop +800004e8: 00d00113 li sp,13 +800004ec: 0a20f733 maxu a4,ra,sp +800004f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004f4: 00200293 li t0,2 +800004f8: fe5212e3 bne tp,t0,800004dc +800004fc: 00d00393 li t2,13 +80000500: 16771463 bne a4,t2,80000668 + +80000504 : +80000504: 01d00193 li gp,29 +80000508: 00000213 li tp,0 +8000050c: 00d00113 li sp,13 +80000510: 01100093 li ra,17 +80000514: 0a20f733 maxu a4,ra,sp +80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000051c: 00200293 li t0,2 +80000520: fe5216e3 bne tp,t0,8000050c +80000524: 01100393 li t2,17 +80000528: 14771063 bne a4,t2,80000668 + +8000052c : +8000052c: 01e00193 li gp,30 +80000530: 00000213 li tp,0 +80000534: 00d00113 li sp,13 +80000538: 00800093 li ra,8 +8000053c: 00000013 nop +80000540: 0a20f733 maxu a4,ra,sp +80000544: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000548: 00200293 li t0,2 +8000054c: fe5214e3 bne tp,t0,80000534 +80000550: 00d00393 li t2,13 +80000554: 10771a63 bne a4,t2,80000668 + +80000558 : +80000558: 01f00193 li gp,31 +8000055c: 00000213 li tp,0 +80000560: 00d00113 li sp,13 +80000564: 01200093 li ra,18 +80000568: 00000013 nop +8000056c: 00000013 nop +80000570: 0a20f733 maxu a4,ra,sp +80000574: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000578: 00200293 li t0,2 +8000057c: fe5212e3 bne tp,t0,80000560 +80000580: 01200393 li t2,18 +80000584: 0e771263 bne a4,t2,80000668 + +80000588 : +80000588: 02000193 li gp,32 +8000058c: 00000213 li tp,0 +80000590: 00d00113 li sp,13 +80000594: 00000013 nop +80000598: 00700093 li ra,7 +8000059c: 0a20f733 maxu a4,ra,sp +800005a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005a4: 00200293 li t0,2 +800005a8: fe5214e3 bne tp,t0,80000590 +800005ac: 00d00393 li t2,13 +800005b0: 0a771c63 bne a4,t2,80000668 + +800005b4 : +800005b4: 02100193 li gp,33 +800005b8: 00000213 li tp,0 +800005bc: 00d00113 li sp,13 +800005c0: 00000013 nop +800005c4: 01300093 li ra,19 +800005c8: 00000013 nop +800005cc: 0a20f733 maxu a4,ra,sp +800005d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005d4: 00200293 li t0,2 +800005d8: fe5212e3 bne tp,t0,800005bc +800005dc: 01300393 li t2,19 +800005e0: 08771463 bne a4,t2,80000668 + +800005e4 : +800005e4: 02200193 li gp,34 +800005e8: 00000213 li tp,0 +800005ec: 00d00113 li sp,13 +800005f0: 00000013 nop +800005f4: 00000013 nop +800005f8: 00600093 li ra,6 +800005fc: 0a20f733 maxu a4,ra,sp +80000600: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000604: 00200293 li t0,2 +80000608: fe5212e3 bne tp,t0,800005ec +8000060c: 00d00393 li t2,13 +80000610: 04771c63 bne a4,t2,80000668 + +80000614 : +80000614: 02300193 li gp,35 +80000618: fff00093 li ra,-1 +8000061c: 0a107133 maxu sp,zero,ra +80000620: fff00393 li t2,-1 +80000624: 04711263 bne sp,t2,80000668 + +80000628 : +80000628: 02400193 li gp,36 +8000062c: fff00093 li ra,-1 +80000630: 0a00f133 maxu sp,ra,zero +80000634: fff00393 li t2,-1 +80000638: 02711863 bne sp,t2,80000668 + +8000063c : +8000063c: 02500193 li gp,37 +80000640: 0a0070b3 maxu ra,zero,zero +80000644: 00000393 li t2,0 +80000648: 02709063 bne ra,t2,80000668 + +8000064c : +8000064c: 02600193 li gp,38 +80000650: 01000093 li ra,16 +80000654: 01e00113 li sp,30 +80000658: 0a20f033 maxu zero,ra,sp +8000065c: 00000393 li t2,0 +80000660: 00701463 bne zero,t2,80000668 +80000664: 02301063 bne zero,gp,80000684 + +80000668 : +80000668: 0ff0000f fence +8000066c: 00018063 beqz gp,8000066c +80000670: 00119193 slli gp,gp,0x1 +80000674: 0011e193 ori gp,gp,1 +80000678: 05d00893 li a7,93 +8000067c: 00018513 mv a0,gp +80000680: 00000073 ecall + +80000684 : +80000684: 0ff0000f fence +80000688: 00100193 li gp,1 +8000068c: 05d00893 li a7,93 +80000690: 00000513 li a0,0 +80000694: 00000073 ecall +80000698: c0001073 unimp +8000069c: 0000 .insn 2, 0x +8000069e: 0000 .insn 2, 0x +800006a0: 0000 .insn 2, 0x +800006a2: 0000 .insn 2, 0x +800006a4: 0000 .insn 2, 0x +800006a6: 0000 .insn 2, 0x +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-maxu.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-maxu.hex new file mode 100644 index 0000000..61b473d --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-maxu.hex @@ -0,0 +1,1505 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000593 +00000613 +0ac5f733 +00000393 +4c771063 +00300193 +00100593 +00100613 +0ac5f733 +00100393 +4a771463 +00400193 +00300593 +00700613 +0ac5f733 +00700393 +48771863 +00500193 +00700593 +00300613 +0ac5f733 +00700393 +46771c63 +00600193 +00000593 +ffff8637 +0ac5f733 +ffff83b7 +46771063 +00700193 +800005b7 +00000613 +0ac5f733 +800003b7 +44771463 +00800193 +800005b7 +ffff8637 +0ac5f733 +ffff83b7 +42771863 +00900193 +00000593 +00008637 +fff60613 +0ac5f733 +000083b7 +fff38393 +40771863 +00a00193 +800005b7 +fff58593 +00000613 +0ac5f733 +800003b7 +fff38393 +3e771863 +00b00193 +800005b7 +fff58593 +00008637 +fff60613 +0ac5f733 +800003b7 +fff38393 +3c771663 +00c00193 +800005b7 +00008637 +fff60613 +0ac5f733 +800003b7 +3a771863 +00d00193 +800005b7 +fff58593 +ffff8637 +0ac5f733 +ffff83b7 +38771a63 +00e00193 +00000593 +fff00613 +0ac5f733 +fff00393 +36771e63 +00f00193 +fff00593 +00100613 +0ac5f733 +fff00393 +36771263 +01000193 +fff00593 +fff00613 +0ac5f733 +fff00393 +34771663 +01100193 +00e00593 +00d00613 +0ac5f5b3 +00e00393 +32759a63 +01200193 +00b00593 +00d00613 +0ac5f633 +00d00393 +30761e63 +01300193 +00d00593 +0ab5f5b3 +00d00393 +30759463 +01400193 +00000213 +00b00093 +00d00113 +0a20f733 +00070313 +00120213 +00200293 +fe5214e3 +00d00393 +2c731e63 +01500193 +00000213 +00e00093 +00d00113 +0a20f733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +00e00393 +2a731663 +01600193 +00000213 +00c00093 +00d00113 +0a20f733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +00d00393 +26731c63 +01700193 +00000213 +00e00093 +00d00113 +0a20f733 +00120213 +00200293 +fe5216e3 +00e00393 +24771863 +01800193 +00000213 +00b00093 +00d00113 +00000013 +0a20f733 +00120213 +00200293 +fe5214e3 +00d00393 +22771263 +01900193 +00000213 +00f00093 +00d00113 +00000013 +00000013 +0a20f733 +00120213 +00200293 +fe5212e3 +00f00393 +1e771a63 +01a00193 +00000213 +00a00093 +00000013 +00d00113 +0a20f733 +00120213 +00200293 +fe5214e3 +00d00393 +1c771463 +01b00193 +00000213 +01000093 +00000013 +00d00113 +00000013 +0a20f733 +00120213 +00200293 +fe5212e3 +01000393 +18771c63 +01c00193 +00000213 +00900093 +00000013 +00000013 +00d00113 +0a20f733 +00120213 +00200293 +fe5212e3 +00d00393 +16771463 +01d00193 +00000213 +00d00113 +01100093 +0a20f733 +00120213 +00200293 +fe5216e3 +01100393 +14771063 +01e00193 +00000213 +00d00113 +00800093 +00000013 +0a20f733 +00120213 +00200293 +fe5214e3 +00d00393 +10771a63 +01f00193 +00000213 +00d00113 +01200093 +00000013 +00000013 +0a20f733 +00120213 +00200293 +fe5212e3 +01200393 +0e771263 +02000193 +00000213 +00d00113 +00000013 +00700093 +0a20f733 +00120213 +00200293 +fe5214e3 +00d00393 +0a771c63 +02100193 +00000213 +00d00113 +00000013 +01300093 +00000013 +0a20f733 +00120213 +00200293 +fe5212e3 +01300393 +08771463 +02200193 +00000213 +00d00113 +00000013 +00000013 +00600093 +0a20f733 +00120213 +00200293 +fe5212e3 +00d00393 +04771c63 +02300193 +fff00093 +0a107133 +fff00393 +04711263 +02400193 +fff00093 +0a00f133 +fff00393 +02711863 +02500193 +0a0070b3 +00000393 +02709063 +02600193 +01000093 +01e00113 +0a20f033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000668 +00000000 +00010000 +000000a8 +800001ac +00000000 +00010000 +000000af +800001c4 +00000000 +00010000 +000000b6 +800001dc +00000000 +00010000 +000000bd +800001f4 +00000000 +00010000 +000000c4 +8000020c +00000000 +00010000 +000000cb +80000224 +00000000 +00010000 +000000d2 +8000023c +00000000 +00010000 +000000d9 +8000025c +00000000 +00010000 +000000e1 +8000027c +00000000 +00010000 +000000e9 +800002a0 +00000000 +00010000 +000000f1 +800002bc +00000000 +00010000 +000000f9 +800002d8 +00000000 +00010000 +00000101 +800002f0 +00000000 +00010000 +00000109 +80000308 +00000000 +00010000 +00000111 +80000320 +00000000 +00010000 +00000119 +80000338 +00000000 +00010000 +00000121 +80000350 +00000000 +00010000 +00000129 +80000364 +00000000 +00010000 +00000131 +80000390 +00000000 +00010000 +00000139 +800003c0 +00000000 +00010000 +00000141 +800003f4 +00000000 +00010000 +00000149 +8000041c +00000000 +00010000 +00000151 +80000448 +00000000 +00010000 +00000159 +80000478 +00000000 +00010000 +00000161 +800004a4 +00000000 +00010000 +00000169 +800004d4 +00000000 +00010000 +00000171 +80000504 +00000000 +00010000 +00000179 +8000052c +00000000 +00010000 +00000181 +80000558 +00000000 +00010000 +00000189 +80000588 +00000000 +00010000 +00000191 +800005b4 +00000000 +00010000 +00000199 +800005e4 +00000000 +00010000 +000001a1 +80000614 +00000000 +00010000 +000001a9 +80000628 +00000000 +00010000 +000001b1 +8000063c +00000000 +00010000 +000001b9 +8000064c +00000000 +00010000 +000001c1 +80000684 +00000000 +00010000 +000001c6 +80002000 +00000000 +00020010 +000001d4 +80002000 +00000000 +00020010 +000001e4 +80000000 +00000000 +00010010 +000001eb +80002000 +00000000 +00020010 +000001f0 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +56636300 +52387470 +006f2e50 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73657400 +30335f74 +73657400 +31335f74 +73657400 +32335f74 +73657400 +33335f74 +73657400 +34335f74 +73657400 +35335f74 +73657400 +36335f74 +73657400 +37335f74 +73657400 +38335f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +00000390 +00000005 +00000033 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002430 +000001f9 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002629 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-min.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-min.dump new file mode 100644 index 0000000..0d141ba --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-min.dump @@ -0,0 +1,536 @@ + +rv32uzbb-p-min: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000593 li a1,0 +8000019c: 00000613 li a2,0 +800001a0: 0ac5c733 min a4,a1,a2 +800001a4: 00000393 li t2,0 +800001a8: 4a771c63 bne a4,t2,80000660 + +800001ac : +800001ac: 00300193 li gp,3 +800001b0: 00100593 li a1,1 +800001b4: 00100613 li a2,1 +800001b8: 0ac5c733 min a4,a1,a2 +800001bc: 00100393 li t2,1 +800001c0: 4a771063 bne a4,t2,80000660 + +800001c4 : +800001c4: 00400193 li gp,4 +800001c8: 00300593 li a1,3 +800001cc: 00700613 li a2,7 +800001d0: 0ac5c733 min a4,a1,a2 +800001d4: 00300393 li t2,3 +800001d8: 48771463 bne a4,t2,80000660 + +800001dc : +800001dc: 00500193 li gp,5 +800001e0: 00700593 li a1,7 +800001e4: 00300613 li a2,3 +800001e8: 0ac5c733 min a4,a1,a2 +800001ec: 00300393 li t2,3 +800001f0: 46771863 bne a4,t2,80000660 + +800001f4 : +800001f4: 00600193 li gp,6 +800001f8: 00000593 li a1,0 +800001fc: ffff8637 lui a2,0xffff8 +80000200: 0ac5c733 min a4,a1,a2 +80000204: ffff83b7 lui t2,0xffff8 +80000208: 44771c63 bne a4,t2,80000660 + +8000020c : +8000020c: 00700193 li gp,7 +80000210: 800005b7 lui a1,0x80000 +80000214: 00000613 li a2,0 +80000218: 0ac5c733 min a4,a1,a2 +8000021c: 800003b7 lui t2,0x80000 +80000220: 44771063 bne a4,t2,80000660 + +80000224 : +80000224: 00800193 li gp,8 +80000228: 800005b7 lui a1,0x80000 +8000022c: ffff8637 lui a2,0xffff8 +80000230: 0ac5c733 min a4,a1,a2 +80000234: 800003b7 lui t2,0x80000 +80000238: 42771463 bne a4,t2,80000660 + +8000023c : +8000023c: 00900193 li gp,9 +80000240: 00000593 li a1,0 +80000244: 00008637 lui a2,0x8 +80000248: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +8000024c: 0ac5c733 min a4,a1,a2 +80000250: 00000393 li t2,0 +80000254: 40771663 bne a4,t2,80000660 + +80000258 : +80000258: 00a00193 li gp,10 +8000025c: 800005b7 lui a1,0x80000 +80000260: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +80000264: 00000613 li a2,0 +80000268: 0ac5c733 min a4,a1,a2 +8000026c: 00000393 li t2,0 +80000270: 3e771863 bne a4,t2,80000660 + +80000274 : +80000274: 00b00193 li gp,11 +80000278: 800005b7 lui a1,0x80000 +8000027c: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +80000280: 00008637 lui a2,0x8 +80000284: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000288: 0ac5c733 min a4,a1,a2 +8000028c: 000083b7 lui t2,0x8 +80000290: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +80000294: 3c771663 bne a4,t2,80000660 + +80000298 : +80000298: 00c00193 li gp,12 +8000029c: 800005b7 lui a1,0x80000 +800002a0: 00008637 lui a2,0x8 +800002a4: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +800002a8: 0ac5c733 min a4,a1,a2 +800002ac: 800003b7 lui t2,0x80000 +800002b0: 3a771863 bne a4,t2,80000660 + +800002b4 : +800002b4: 00d00193 li gp,13 +800002b8: 800005b7 lui a1,0x80000 +800002bc: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +800002c0: ffff8637 lui a2,0xffff8 +800002c4: 0ac5c733 min a4,a1,a2 +800002c8: ffff83b7 lui t2,0xffff8 +800002cc: 38771a63 bne a4,t2,80000660 + +800002d0 : +800002d0: 00e00193 li gp,14 +800002d4: 00000593 li a1,0 +800002d8: fff00613 li a2,-1 +800002dc: 0ac5c733 min a4,a1,a2 +800002e0: fff00393 li t2,-1 +800002e4: 36771e63 bne a4,t2,80000660 + +800002e8 : +800002e8: 00f00193 li gp,15 +800002ec: fff00593 li a1,-1 +800002f0: 00100613 li a2,1 +800002f4: 0ac5c733 min a4,a1,a2 +800002f8: fff00393 li t2,-1 +800002fc: 36771263 bne a4,t2,80000660 + +80000300 : +80000300: 01000193 li gp,16 +80000304: fff00593 li a1,-1 +80000308: fff00613 li a2,-1 +8000030c: 0ac5c733 min a4,a1,a2 +80000310: fff00393 li t2,-1 +80000314: 34771663 bne a4,t2,80000660 + +80000318 : +80000318: 01100193 li gp,17 +8000031c: 00e00593 li a1,14 +80000320: 00d00613 li a2,13 +80000324: 0ac5c5b3 min a1,a1,a2 +80000328: 00d00393 li t2,13 +8000032c: 32759a63 bne a1,t2,80000660 + +80000330 : +80000330: 01200193 li gp,18 +80000334: 00b00593 li a1,11 +80000338: 00d00613 li a2,13 +8000033c: 0ac5c633 min a2,a1,a2 +80000340: 00b00393 li t2,11 +80000344: 30761e63 bne a2,t2,80000660 + +80000348 : +80000348: 01300193 li gp,19 +8000034c: 00d00593 li a1,13 +80000350: 0ab5c5b3 min a1,a1,a1 +80000354: 00d00393 li t2,13 +80000358: 30759463 bne a1,t2,80000660 + +8000035c : +8000035c: 01400193 li gp,20 +80000360: 00000213 li tp,0 +80000364: 00b00093 li ra,11 +80000368: 00d00113 li sp,13 +8000036c: 0a20c733 min a4,ra,sp +80000370: 00070313 mv t1,a4 +80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000378: 00200293 li t0,2 +8000037c: fe5214e3 bne tp,t0,80000364 +80000380: 00b00393 li t2,11 +80000384: 2c731e63 bne t1,t2,80000660 + +80000388 : +80000388: 01500193 li gp,21 +8000038c: 00000213 li tp,0 +80000390: 00e00093 li ra,14 +80000394: 00d00113 li sp,13 +80000398: 0a20c733 min a4,ra,sp +8000039c: 00000013 nop +800003a0: 00070313 mv t1,a4 +800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a8: 00200293 li t0,2 +800003ac: fe5212e3 bne tp,t0,80000390 +800003b0: 00d00393 li t2,13 +800003b4: 2a731663 bne t1,t2,80000660 + +800003b8 : +800003b8: 01600193 li gp,22 +800003bc: 00000213 li tp,0 +800003c0: 00c00093 li ra,12 +800003c4: 00d00113 li sp,13 +800003c8: 0a20c733 min a4,ra,sp +800003cc: 00000013 nop +800003d0: 00000013 nop +800003d4: 00070313 mv t1,a4 +800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003dc: 00200293 li t0,2 +800003e0: fe5210e3 bne tp,t0,800003c0 +800003e4: 00c00393 li t2,12 +800003e8: 26731c63 bne t1,t2,80000660 + +800003ec : +800003ec: 01700193 li gp,23 +800003f0: 00000213 li tp,0 +800003f4: 00e00093 li ra,14 +800003f8: 00d00113 li sp,13 +800003fc: 0a20c733 min a4,ra,sp +80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000404: 00200293 li t0,2 +80000408: fe5216e3 bne tp,t0,800003f4 +8000040c: 00d00393 li t2,13 +80000410: 24771863 bne a4,t2,80000660 + +80000414 : +80000414: 01800193 li gp,24 +80000418: 00000213 li tp,0 +8000041c: 00b00093 li ra,11 +80000420: 00d00113 li sp,13 +80000424: 00000013 nop +80000428: 0a20c733 min a4,ra,sp +8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000430: 00200293 li t0,2 +80000434: fe5214e3 bne tp,t0,8000041c +80000438: 00b00393 li t2,11 +8000043c: 22771263 bne a4,t2,80000660 + +80000440 : +80000440: 01900193 li gp,25 +80000444: 00000213 li tp,0 +80000448: 00f00093 li ra,15 +8000044c: 00d00113 li sp,13 +80000450: 00000013 nop +80000454: 00000013 nop +80000458: 0a20c733 min a4,ra,sp +8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000460: 00200293 li t0,2 +80000464: fe5212e3 bne tp,t0,80000448 +80000468: 00d00393 li t2,13 +8000046c: 1e771a63 bne a4,t2,80000660 + +80000470 : +80000470: 01a00193 li gp,26 +80000474: 00000213 li tp,0 +80000478: 00a00093 li ra,10 +8000047c: 00000013 nop +80000480: 00d00113 li sp,13 +80000484: 0a20c733 min a4,ra,sp +80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000048c: 00200293 li t0,2 +80000490: fe5214e3 bne tp,t0,80000478 +80000494: 00a00393 li t2,10 +80000498: 1c771463 bne a4,t2,80000660 + +8000049c : +8000049c: 01b00193 li gp,27 +800004a0: 00000213 li tp,0 +800004a4: 01000093 li ra,16 +800004a8: 00000013 nop +800004ac: 00d00113 li sp,13 +800004b0: 00000013 nop +800004b4: 0a20c733 min a4,ra,sp +800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004bc: 00200293 li t0,2 +800004c0: fe5212e3 bne tp,t0,800004a4 +800004c4: 00d00393 li t2,13 +800004c8: 18771c63 bne a4,t2,80000660 + +800004cc : +800004cc: 01c00193 li gp,28 +800004d0: 00000213 li tp,0 +800004d4: 00900093 li ra,9 +800004d8: 00000013 nop +800004dc: 00000013 nop +800004e0: 00d00113 li sp,13 +800004e4: 0a20c733 min a4,ra,sp +800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ec: 00200293 li t0,2 +800004f0: fe5212e3 bne tp,t0,800004d4 +800004f4: 00900393 li t2,9 +800004f8: 16771463 bne a4,t2,80000660 + +800004fc : +800004fc: 01d00193 li gp,29 +80000500: 00000213 li tp,0 +80000504: 00d00113 li sp,13 +80000508: 01100093 li ra,17 +8000050c: 0a20c733 min a4,ra,sp +80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000514: 00200293 li t0,2 +80000518: fe5216e3 bne tp,t0,80000504 +8000051c: 00d00393 li t2,13 +80000520: 14771063 bne a4,t2,80000660 + +80000524 : +80000524: 01e00193 li gp,30 +80000528: 00000213 li tp,0 +8000052c: 00d00113 li sp,13 +80000530: 00800093 li ra,8 +80000534: 00000013 nop +80000538: 0a20c733 min a4,ra,sp +8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000540: 00200293 li t0,2 +80000544: fe5214e3 bne tp,t0,8000052c +80000548: 00800393 li t2,8 +8000054c: 10771a63 bne a4,t2,80000660 + +80000550 : +80000550: 01f00193 li gp,31 +80000554: 00000213 li tp,0 +80000558: 00d00113 li sp,13 +8000055c: 01200093 li ra,18 +80000560: 00000013 nop +80000564: 00000013 nop +80000568: 0a20c733 min a4,ra,sp +8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000570: 00200293 li t0,2 +80000574: fe5212e3 bne tp,t0,80000558 +80000578: 00d00393 li t2,13 +8000057c: 0e771263 bne a4,t2,80000660 + +80000580 : +80000580: 02000193 li gp,32 +80000584: 00000213 li tp,0 +80000588: 00d00113 li sp,13 +8000058c: 00000013 nop +80000590: 00700093 li ra,7 +80000594: 0a20c733 min a4,ra,sp +80000598: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000059c: 00200293 li t0,2 +800005a0: fe5214e3 bne tp,t0,80000588 +800005a4: 00700393 li t2,7 +800005a8: 0a771c63 bne a4,t2,80000660 + +800005ac : +800005ac: 02100193 li gp,33 +800005b0: 00000213 li tp,0 +800005b4: 00d00113 li sp,13 +800005b8: 00000013 nop +800005bc: 01300093 li ra,19 +800005c0: 00000013 nop +800005c4: 0a20c733 min a4,ra,sp +800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005cc: 00200293 li t0,2 +800005d0: fe5212e3 bne tp,t0,800005b4 +800005d4: 00d00393 li t2,13 +800005d8: 08771463 bne a4,t2,80000660 + +800005dc : +800005dc: 02200193 li gp,34 +800005e0: 00000213 li tp,0 +800005e4: 00d00113 li sp,13 +800005e8: 00000013 nop +800005ec: 00000013 nop +800005f0: 00600093 li ra,6 +800005f4: 0a20c733 min a4,ra,sp +800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005fc: 00200293 li t0,2 +80000600: fe5212e3 bne tp,t0,800005e4 +80000604: 00600393 li t2,6 +80000608: 04771c63 bne a4,t2,80000660 + +8000060c : +8000060c: 02300193 li gp,35 +80000610: fff00093 li ra,-1 +80000614: 0a104133 min sp,zero,ra +80000618: fff00393 li t2,-1 +8000061c: 04711263 bne sp,t2,80000660 + +80000620 : +80000620: 02400193 li gp,36 +80000624: fff00093 li ra,-1 +80000628: 0a00c133 min sp,ra,zero +8000062c: fff00393 li t2,-1 +80000630: 02711863 bne sp,t2,80000660 + +80000634 : +80000634: 02500193 li gp,37 +80000638: 0a0040b3 min ra,zero,zero +8000063c: 00000393 li t2,0 +80000640: 02709063 bne ra,t2,80000660 + +80000644 : +80000644: 02600193 li gp,38 +80000648: 01000093 li ra,16 +8000064c: 01e00113 li sp,30 +80000650: 0a20c033 min zero,ra,sp +80000654: 00000393 li t2,0 +80000658: 00701463 bne zero,t2,80000660 +8000065c: 02301063 bne zero,gp,8000067c + +80000660 : +80000660: 0ff0000f fence +80000664: 00018063 beqz gp,80000664 +80000668: 00119193 slli gp,gp,0x1 +8000066c: 0011e193 ori gp,gp,1 +80000670: 05d00893 li a7,93 +80000674: 00018513 mv a0,gp +80000678: 00000073 ecall + +8000067c : +8000067c: 0ff0000f fence +80000680: 00100193 li gp,1 +80000684: 05d00893 li a7,93 +80000688: 00000513 li a0,0 +8000068c: 00000073 ecall +80000690: c0001073 unimp +80000694: 0000 .insn 2, 0x +80000696: 0000 .insn 2, 0x +80000698: 0000 .insn 2, 0x +8000069a: 0000 .insn 2, 0x +8000069c: 0000 .insn 2, 0x +8000069e: 0000 .insn 2, 0x +800006a0: 0000 .insn 2, 0x +800006a2: 0000 .insn 2, 0x +800006a4: 0000 .insn 2, 0x +800006a6: 0000 .insn 2, 0x +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-min.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-min.hex new file mode 100644 index 0000000..80d1a4e --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-min.hex @@ -0,0 +1,1505 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000593 +00000613 +0ac5c733 +00000393 +4a771c63 +00300193 +00100593 +00100613 +0ac5c733 +00100393 +4a771063 +00400193 +00300593 +00700613 +0ac5c733 +00300393 +48771463 +00500193 +00700593 +00300613 +0ac5c733 +00300393 +46771863 +00600193 +00000593 +ffff8637 +0ac5c733 +ffff83b7 +44771c63 +00700193 +800005b7 +00000613 +0ac5c733 +800003b7 +44771063 +00800193 +800005b7 +ffff8637 +0ac5c733 +800003b7 +42771463 +00900193 +00000593 +00008637 +fff60613 +0ac5c733 +00000393 +40771663 +00a00193 +800005b7 +fff58593 +00000613 +0ac5c733 +00000393 +3e771863 +00b00193 +800005b7 +fff58593 +00008637 +fff60613 +0ac5c733 +000083b7 +fff38393 +3c771663 +00c00193 +800005b7 +00008637 +fff60613 +0ac5c733 +800003b7 +3a771863 +00d00193 +800005b7 +fff58593 +ffff8637 +0ac5c733 +ffff83b7 +38771a63 +00e00193 +00000593 +fff00613 +0ac5c733 +fff00393 +36771e63 +00f00193 +fff00593 +00100613 +0ac5c733 +fff00393 +36771263 +01000193 +fff00593 +fff00613 +0ac5c733 +fff00393 +34771663 +01100193 +00e00593 +00d00613 +0ac5c5b3 +00d00393 +32759a63 +01200193 +00b00593 +00d00613 +0ac5c633 +00b00393 +30761e63 +01300193 +00d00593 +0ab5c5b3 +00d00393 +30759463 +01400193 +00000213 +00b00093 +00d00113 +0a20c733 +00070313 +00120213 +00200293 +fe5214e3 +00b00393 +2c731e63 +01500193 +00000213 +00e00093 +00d00113 +0a20c733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +00d00393 +2a731663 +01600193 +00000213 +00c00093 +00d00113 +0a20c733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +00c00393 +26731c63 +01700193 +00000213 +00e00093 +00d00113 +0a20c733 +00120213 +00200293 +fe5216e3 +00d00393 +24771863 +01800193 +00000213 +00b00093 +00d00113 +00000013 +0a20c733 +00120213 +00200293 +fe5214e3 +00b00393 +22771263 +01900193 +00000213 +00f00093 +00d00113 +00000013 +00000013 +0a20c733 +00120213 +00200293 +fe5212e3 +00d00393 +1e771a63 +01a00193 +00000213 +00a00093 +00000013 +00d00113 +0a20c733 +00120213 +00200293 +fe5214e3 +00a00393 +1c771463 +01b00193 +00000213 +01000093 +00000013 +00d00113 +00000013 +0a20c733 +00120213 +00200293 +fe5212e3 +00d00393 +18771c63 +01c00193 +00000213 +00900093 +00000013 +00000013 +00d00113 +0a20c733 +00120213 +00200293 +fe5212e3 +00900393 +16771463 +01d00193 +00000213 +00d00113 +01100093 +0a20c733 +00120213 +00200293 +fe5216e3 +00d00393 +14771063 +01e00193 +00000213 +00d00113 +00800093 +00000013 +0a20c733 +00120213 +00200293 +fe5214e3 +00800393 +10771a63 +01f00193 +00000213 +00d00113 +01200093 +00000013 +00000013 +0a20c733 +00120213 +00200293 +fe5212e3 +00d00393 +0e771263 +02000193 +00000213 +00d00113 +00000013 +00700093 +0a20c733 +00120213 +00200293 +fe5214e3 +00700393 +0a771c63 +02100193 +00000213 +00d00113 +00000013 +01300093 +00000013 +0a20c733 +00120213 +00200293 +fe5212e3 +00d00393 +08771463 +02200193 +00000213 +00d00113 +00000013 +00000013 +00600093 +0a20c733 +00120213 +00200293 +fe5212e3 +00600393 +04771c63 +02300193 +fff00093 +0a104133 +fff00393 +04711263 +02400193 +fff00093 +0a00c133 +fff00393 +02711863 +02500193 +0a0040b3 +00000393 +02709063 +02600193 +01000093 +01e00113 +0a20c033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000660 +00000000 +00010000 +000000a8 +800001ac +00000000 +00010000 +000000af +800001c4 +00000000 +00010000 +000000b6 +800001dc +00000000 +00010000 +000000bd +800001f4 +00000000 +00010000 +000000c4 +8000020c +00000000 +00010000 +000000cb +80000224 +00000000 +00010000 +000000d2 +8000023c +00000000 +00010000 +000000d9 +80000258 +00000000 +00010000 +000000e1 +80000274 +00000000 +00010000 +000000e9 +80000298 +00000000 +00010000 +000000f1 +800002b4 +00000000 +00010000 +000000f9 +800002d0 +00000000 +00010000 +00000101 +800002e8 +00000000 +00010000 +00000109 +80000300 +00000000 +00010000 +00000111 +80000318 +00000000 +00010000 +00000119 +80000330 +00000000 +00010000 +00000121 +80000348 +00000000 +00010000 +00000129 +8000035c +00000000 +00010000 +00000131 +80000388 +00000000 +00010000 +00000139 +800003b8 +00000000 +00010000 +00000141 +800003ec +00000000 +00010000 +00000149 +80000414 +00000000 +00010000 +00000151 +80000440 +00000000 +00010000 +00000159 +80000470 +00000000 +00010000 +00000161 +8000049c +00000000 +00010000 +00000169 +800004cc +00000000 +00010000 +00000171 +800004fc +00000000 +00010000 +00000179 +80000524 +00000000 +00010000 +00000181 +80000550 +00000000 +00010000 +00000189 +80000580 +00000000 +00010000 +00000191 +800005ac +00000000 +00010000 +00000199 +800005dc +00000000 +00010000 +000001a1 +8000060c +00000000 +00010000 +000001a9 +80000620 +00000000 +00010000 +000001b1 +80000634 +00000000 +00010000 +000001b9 +80000644 +00000000 +00010000 +000001c1 +8000067c +00000000 +00010000 +000001c6 +80002000 +00000000 +00020010 +000001d4 +80002000 +00000000 +00020010 +000001e4 +80000000 +00000000 +00010010 +000001eb +80002000 +00000000 +00020010 +000001f0 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +78636300 +59354f43 +006f2e34 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73657400 +30335f74 +73657400 +31335f74 +73657400 +32335f74 +73657400 +33335f74 +73657400 +34335f74 +73657400 +35335f74 +73657400 +36335f74 +73657400 +37335f74 +73657400 +38335f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +00000390 +00000005 +00000033 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002430 +000001f9 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002629 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-minu.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-minu.dump new file mode 100644 index 0000000..a1a66fc --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-minu.dump @@ -0,0 +1,534 @@ + +rv32uzbb-p-minu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000593 li a1,0 +8000019c: 00000613 li a2,0 +800001a0: 0ac5d733 minu a4,a1,a2 +800001a4: 00000393 li t2,0 +800001a8: 4c771063 bne a4,t2,80000668 + +800001ac : +800001ac: 00300193 li gp,3 +800001b0: 00100593 li a1,1 +800001b4: 00100613 li a2,1 +800001b8: 0ac5d733 minu a4,a1,a2 +800001bc: 00100393 li t2,1 +800001c0: 4a771463 bne a4,t2,80000668 + +800001c4 : +800001c4: 00400193 li gp,4 +800001c8: 00300593 li a1,3 +800001cc: 00700613 li a2,7 +800001d0: 0ac5d733 minu a4,a1,a2 +800001d4: 00300393 li t2,3 +800001d8: 48771863 bne a4,t2,80000668 + +800001dc : +800001dc: 00500193 li gp,5 +800001e0: 00700593 li a1,7 +800001e4: 00300613 li a2,3 +800001e8: 0ac5d733 minu a4,a1,a2 +800001ec: 00300393 li t2,3 +800001f0: 46771c63 bne a4,t2,80000668 + +800001f4 : +800001f4: 00600193 li gp,6 +800001f8: 00000593 li a1,0 +800001fc: ffff8637 lui a2,0xffff8 +80000200: 0ac5d733 minu a4,a1,a2 +80000204: 00000393 li t2,0 +80000208: 46771063 bne a4,t2,80000668 + +8000020c : +8000020c: 00700193 li gp,7 +80000210: 800005b7 lui a1,0x80000 +80000214: 00000613 li a2,0 +80000218: 0ac5d733 minu a4,a1,a2 +8000021c: 00000393 li t2,0 +80000220: 44771463 bne a4,t2,80000668 + +80000224 : +80000224: 00800193 li gp,8 +80000228: 800005b7 lui a1,0x80000 +8000022c: ffff8637 lui a2,0xffff8 +80000230: 0ac5d733 minu a4,a1,a2 +80000234: 800003b7 lui t2,0x80000 +80000238: 42771863 bne a4,t2,80000668 + +8000023c : +8000023c: 00900193 li gp,9 +80000240: 00000593 li a1,0 +80000244: 00008637 lui a2,0x8 +80000248: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +8000024c: 0ac5d733 minu a4,a1,a2 +80000250: 00000393 li t2,0 +80000254: 40771a63 bne a4,t2,80000668 + +80000258 : +80000258: 00a00193 li gp,10 +8000025c: 800005b7 lui a1,0x80000 +80000260: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +80000264: 00000613 li a2,0 +80000268: 0ac5d733 minu a4,a1,a2 +8000026c: 00000393 li t2,0 +80000270: 3e771c63 bne a4,t2,80000668 + +80000274 : +80000274: 00b00193 li gp,11 +80000278: 800005b7 lui a1,0x80000 +8000027c: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +80000280: 00008637 lui a2,0x8 +80000284: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000288: 0ac5d733 minu a4,a1,a2 +8000028c: 000083b7 lui t2,0x8 +80000290: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +80000294: 3c771a63 bne a4,t2,80000668 + +80000298 : +80000298: 00c00193 li gp,12 +8000029c: 800005b7 lui a1,0x80000 +800002a0: 00008637 lui a2,0x8 +800002a4: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +800002a8: 0ac5d733 minu a4,a1,a2 +800002ac: 000083b7 lui t2,0x8 +800002b0: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +800002b4: 3a771a63 bne a4,t2,80000668 + +800002b8 : +800002b8: 00d00193 li gp,13 +800002bc: 800005b7 lui a1,0x80000 +800002c0: fff58593 addi a1,a1,-1 # 7fffffff <_start-0x1> +800002c4: ffff8637 lui a2,0xffff8 +800002c8: 0ac5d733 minu a4,a1,a2 +800002cc: 800003b7 lui t2,0x80000 +800002d0: fff38393 addi t2,t2,-1 # 7fffffff <_start-0x1> +800002d4: 38771a63 bne a4,t2,80000668 + +800002d8 : +800002d8: 00e00193 li gp,14 +800002dc: 00000593 li a1,0 +800002e0: fff00613 li a2,-1 +800002e4: 0ac5d733 minu a4,a1,a2 +800002e8: 00000393 li t2,0 +800002ec: 36771e63 bne a4,t2,80000668 + +800002f0 : +800002f0: 00f00193 li gp,15 +800002f4: fff00593 li a1,-1 +800002f8: 00100613 li a2,1 +800002fc: 0ac5d733 minu a4,a1,a2 +80000300: 00100393 li t2,1 +80000304: 36771263 bne a4,t2,80000668 + +80000308 : +80000308: 01000193 li gp,16 +8000030c: fff00593 li a1,-1 +80000310: fff00613 li a2,-1 +80000314: 0ac5d733 minu a4,a1,a2 +80000318: fff00393 li t2,-1 +8000031c: 34771663 bne a4,t2,80000668 + +80000320 : +80000320: 01100193 li gp,17 +80000324: 00e00593 li a1,14 +80000328: 00d00613 li a2,13 +8000032c: 0ac5d5b3 minu a1,a1,a2 +80000330: 00d00393 li t2,13 +80000334: 32759a63 bne a1,t2,80000668 + +80000338 : +80000338: 01200193 li gp,18 +8000033c: 00b00593 li a1,11 +80000340: 00d00613 li a2,13 +80000344: 0ac5d633 minu a2,a1,a2 +80000348: 00b00393 li t2,11 +8000034c: 30761e63 bne a2,t2,80000668 + +80000350 : +80000350: 01300193 li gp,19 +80000354: 00d00593 li a1,13 +80000358: 0ab5d5b3 minu a1,a1,a1 +8000035c: 00d00393 li t2,13 +80000360: 30759463 bne a1,t2,80000668 + +80000364 : +80000364: 01400193 li gp,20 +80000368: 00000213 li tp,0 +8000036c: 00b00093 li ra,11 +80000370: 00d00113 li sp,13 +80000374: 0a20d733 minu a4,ra,sp +80000378: 00070313 mv t1,a4 +8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000380: 00200293 li t0,2 +80000384: fe5214e3 bne tp,t0,8000036c +80000388: 00b00393 li t2,11 +8000038c: 2c731e63 bne t1,t2,80000668 + +80000390 : +80000390: 01500193 li gp,21 +80000394: 00000213 li tp,0 +80000398: 00e00093 li ra,14 +8000039c: 00d00113 li sp,13 +800003a0: 0a20d733 minu a4,ra,sp +800003a4: 00000013 nop +800003a8: 00070313 mv t1,a4 +800003ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003b0: 00200293 li t0,2 +800003b4: fe5212e3 bne tp,t0,80000398 +800003b8: 00d00393 li t2,13 +800003bc: 2a731663 bne t1,t2,80000668 + +800003c0 : +800003c0: 01600193 li gp,22 +800003c4: 00000213 li tp,0 +800003c8: 00c00093 li ra,12 +800003cc: 00d00113 li sp,13 +800003d0: 0a20d733 minu a4,ra,sp +800003d4: 00000013 nop +800003d8: 00000013 nop +800003dc: 00070313 mv t1,a4 +800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003e4: 00200293 li t0,2 +800003e8: fe5210e3 bne tp,t0,800003c8 +800003ec: 00c00393 li t2,12 +800003f0: 26731c63 bne t1,t2,80000668 + +800003f4 : +800003f4: 01700193 li gp,23 +800003f8: 00000213 li tp,0 +800003fc: 00e00093 li ra,14 +80000400: 00d00113 li sp,13 +80000404: 0a20d733 minu a4,ra,sp +80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000040c: 00200293 li t0,2 +80000410: fe5216e3 bne tp,t0,800003fc +80000414: 00d00393 li t2,13 +80000418: 24771863 bne a4,t2,80000668 + +8000041c : +8000041c: 01800193 li gp,24 +80000420: 00000213 li tp,0 +80000424: 00b00093 li ra,11 +80000428: 00d00113 li sp,13 +8000042c: 00000013 nop +80000430: 0a20d733 minu a4,ra,sp +80000434: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000438: 00200293 li t0,2 +8000043c: fe5214e3 bne tp,t0,80000424 +80000440: 00b00393 li t2,11 +80000444: 22771263 bne a4,t2,80000668 + +80000448 : +80000448: 01900193 li gp,25 +8000044c: 00000213 li tp,0 +80000450: 00f00093 li ra,15 +80000454: 00d00113 li sp,13 +80000458: 00000013 nop +8000045c: 00000013 nop +80000460: 0a20d733 minu a4,ra,sp +80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000468: 00200293 li t0,2 +8000046c: fe5212e3 bne tp,t0,80000450 +80000470: 00d00393 li t2,13 +80000474: 1e771a63 bne a4,t2,80000668 + +80000478 : +80000478: 01a00193 li gp,26 +8000047c: 00000213 li tp,0 +80000480: 00a00093 li ra,10 +80000484: 00000013 nop +80000488: 00d00113 li sp,13 +8000048c: 0a20d733 minu a4,ra,sp +80000490: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000494: 00200293 li t0,2 +80000498: fe5214e3 bne tp,t0,80000480 +8000049c: 00a00393 li t2,10 +800004a0: 1c771463 bne a4,t2,80000668 + +800004a4 : +800004a4: 01b00193 li gp,27 +800004a8: 00000213 li tp,0 +800004ac: 01000093 li ra,16 +800004b0: 00000013 nop +800004b4: 00d00113 li sp,13 +800004b8: 00000013 nop +800004bc: 0a20d733 minu a4,ra,sp +800004c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004c4: 00200293 li t0,2 +800004c8: fe5212e3 bne tp,t0,800004ac +800004cc: 00d00393 li t2,13 +800004d0: 18771c63 bne a4,t2,80000668 + +800004d4 : +800004d4: 01c00193 li gp,28 +800004d8: 00000213 li tp,0 +800004dc: 00900093 li ra,9 +800004e0: 00000013 nop +800004e4: 00000013 nop +800004e8: 00d00113 li sp,13 +800004ec: 0a20d733 minu a4,ra,sp +800004f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004f4: 00200293 li t0,2 +800004f8: fe5212e3 bne tp,t0,800004dc +800004fc: 00900393 li t2,9 +80000500: 16771463 bne a4,t2,80000668 + +80000504 : +80000504: 01d00193 li gp,29 +80000508: 00000213 li tp,0 +8000050c: 00d00113 li sp,13 +80000510: 01100093 li ra,17 +80000514: 0a20d733 minu a4,ra,sp +80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000051c: 00200293 li t0,2 +80000520: fe5216e3 bne tp,t0,8000050c +80000524: 00d00393 li t2,13 +80000528: 14771063 bne a4,t2,80000668 + +8000052c : +8000052c: 01e00193 li gp,30 +80000530: 00000213 li tp,0 +80000534: 00d00113 li sp,13 +80000538: 00800093 li ra,8 +8000053c: 00000013 nop +80000540: 0a20d733 minu a4,ra,sp +80000544: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000548: 00200293 li t0,2 +8000054c: fe5214e3 bne tp,t0,80000534 +80000550: 00800393 li t2,8 +80000554: 10771a63 bne a4,t2,80000668 + +80000558 : +80000558: 01f00193 li gp,31 +8000055c: 00000213 li tp,0 +80000560: 00d00113 li sp,13 +80000564: 01200093 li ra,18 +80000568: 00000013 nop +8000056c: 00000013 nop +80000570: 0a20d733 minu a4,ra,sp +80000574: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000578: 00200293 li t0,2 +8000057c: fe5212e3 bne tp,t0,80000560 +80000580: 00d00393 li t2,13 +80000584: 0e771263 bne a4,t2,80000668 + +80000588 : +80000588: 02000193 li gp,32 +8000058c: 00000213 li tp,0 +80000590: 00d00113 li sp,13 +80000594: 00000013 nop +80000598: 00700093 li ra,7 +8000059c: 0a20d733 minu a4,ra,sp +800005a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005a4: 00200293 li t0,2 +800005a8: fe5214e3 bne tp,t0,80000590 +800005ac: 00700393 li t2,7 +800005b0: 0a771c63 bne a4,t2,80000668 + +800005b4 : +800005b4: 02100193 li gp,33 +800005b8: 00000213 li tp,0 +800005bc: 00d00113 li sp,13 +800005c0: 00000013 nop +800005c4: 01300093 li ra,19 +800005c8: 00000013 nop +800005cc: 0a20d733 minu a4,ra,sp +800005d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005d4: 00200293 li t0,2 +800005d8: fe5212e3 bne tp,t0,800005bc +800005dc: 00d00393 li t2,13 +800005e0: 08771463 bne a4,t2,80000668 + +800005e4 : +800005e4: 02200193 li gp,34 +800005e8: 00000213 li tp,0 +800005ec: 00d00113 li sp,13 +800005f0: 00000013 nop +800005f4: 00000013 nop +800005f8: 00600093 li ra,6 +800005fc: 0a20d733 minu a4,ra,sp +80000600: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000604: 00200293 li t0,2 +80000608: fe5212e3 bne tp,t0,800005ec +8000060c: 00600393 li t2,6 +80000610: 04771c63 bne a4,t2,80000668 + +80000614 : +80000614: 02300193 li gp,35 +80000618: fff00093 li ra,-1 +8000061c: 0a105133 minu sp,zero,ra +80000620: 00000393 li t2,0 +80000624: 04711263 bne sp,t2,80000668 + +80000628 : +80000628: 02400193 li gp,36 +8000062c: fff00093 li ra,-1 +80000630: 0a00d133 minu sp,ra,zero +80000634: 00000393 li t2,0 +80000638: 02711863 bne sp,t2,80000668 + +8000063c : +8000063c: 02500193 li gp,37 +80000640: 0a0050b3 minu ra,zero,zero +80000644: 00000393 li t2,0 +80000648: 02709063 bne ra,t2,80000668 + +8000064c : +8000064c: 02600193 li gp,38 +80000650: 01000093 li ra,16 +80000654: 01e00113 li sp,30 +80000658: 0a20d033 minu zero,ra,sp +8000065c: 00000393 li t2,0 +80000660: 00701463 bne zero,t2,80000668 +80000664: 02301063 bne zero,gp,80000684 + +80000668 : +80000668: 0ff0000f fence +8000066c: 00018063 beqz gp,8000066c +80000670: 00119193 slli gp,gp,0x1 +80000674: 0011e193 ori gp,gp,1 +80000678: 05d00893 li a7,93 +8000067c: 00018513 mv a0,gp +80000680: 00000073 ecall + +80000684 : +80000684: 0ff0000f fence +80000688: 00100193 li gp,1 +8000068c: 05d00893 li a7,93 +80000690: 00000513 li a0,0 +80000694: 00000073 ecall +80000698: c0001073 unimp +8000069c: 0000 .insn 2, 0x +8000069e: 0000 .insn 2, 0x +800006a0: 0000 .insn 2, 0x +800006a2: 0000 .insn 2, 0x +800006a4: 0000 .insn 2, 0x +800006a6: 0000 .insn 2, 0x +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-minu.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-minu.hex new file mode 100644 index 0000000..453132f --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-minu.hex @@ -0,0 +1,1505 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000593 +00000613 +0ac5d733 +00000393 +4c771063 +00300193 +00100593 +00100613 +0ac5d733 +00100393 +4a771463 +00400193 +00300593 +00700613 +0ac5d733 +00300393 +48771863 +00500193 +00700593 +00300613 +0ac5d733 +00300393 +46771c63 +00600193 +00000593 +ffff8637 +0ac5d733 +00000393 +46771063 +00700193 +800005b7 +00000613 +0ac5d733 +00000393 +44771463 +00800193 +800005b7 +ffff8637 +0ac5d733 +800003b7 +42771863 +00900193 +00000593 +00008637 +fff60613 +0ac5d733 +00000393 +40771a63 +00a00193 +800005b7 +fff58593 +00000613 +0ac5d733 +00000393 +3e771c63 +00b00193 +800005b7 +fff58593 +00008637 +fff60613 +0ac5d733 +000083b7 +fff38393 +3c771a63 +00c00193 +800005b7 +00008637 +fff60613 +0ac5d733 +000083b7 +fff38393 +3a771a63 +00d00193 +800005b7 +fff58593 +ffff8637 +0ac5d733 +800003b7 +fff38393 +38771a63 +00e00193 +00000593 +fff00613 +0ac5d733 +00000393 +36771e63 +00f00193 +fff00593 +00100613 +0ac5d733 +00100393 +36771263 +01000193 +fff00593 +fff00613 +0ac5d733 +fff00393 +34771663 +01100193 +00e00593 +00d00613 +0ac5d5b3 +00d00393 +32759a63 +01200193 +00b00593 +00d00613 +0ac5d633 +00b00393 +30761e63 +01300193 +00d00593 +0ab5d5b3 +00d00393 +30759463 +01400193 +00000213 +00b00093 +00d00113 +0a20d733 +00070313 +00120213 +00200293 +fe5214e3 +00b00393 +2c731e63 +01500193 +00000213 +00e00093 +00d00113 +0a20d733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +00d00393 +2a731663 +01600193 +00000213 +00c00093 +00d00113 +0a20d733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +00c00393 +26731c63 +01700193 +00000213 +00e00093 +00d00113 +0a20d733 +00120213 +00200293 +fe5216e3 +00d00393 +24771863 +01800193 +00000213 +00b00093 +00d00113 +00000013 +0a20d733 +00120213 +00200293 +fe5214e3 +00b00393 +22771263 +01900193 +00000213 +00f00093 +00d00113 +00000013 +00000013 +0a20d733 +00120213 +00200293 +fe5212e3 +00d00393 +1e771a63 +01a00193 +00000213 +00a00093 +00000013 +00d00113 +0a20d733 +00120213 +00200293 +fe5214e3 +00a00393 +1c771463 +01b00193 +00000213 +01000093 +00000013 +00d00113 +00000013 +0a20d733 +00120213 +00200293 +fe5212e3 +00d00393 +18771c63 +01c00193 +00000213 +00900093 +00000013 +00000013 +00d00113 +0a20d733 +00120213 +00200293 +fe5212e3 +00900393 +16771463 +01d00193 +00000213 +00d00113 +01100093 +0a20d733 +00120213 +00200293 +fe5216e3 +00d00393 +14771063 +01e00193 +00000213 +00d00113 +00800093 +00000013 +0a20d733 +00120213 +00200293 +fe5214e3 +00800393 +10771a63 +01f00193 +00000213 +00d00113 +01200093 +00000013 +00000013 +0a20d733 +00120213 +00200293 +fe5212e3 +00d00393 +0e771263 +02000193 +00000213 +00d00113 +00000013 +00700093 +0a20d733 +00120213 +00200293 +fe5214e3 +00700393 +0a771c63 +02100193 +00000213 +00d00113 +00000013 +01300093 +00000013 +0a20d733 +00120213 +00200293 +fe5212e3 +00d00393 +08771463 +02200193 +00000213 +00d00113 +00000013 +00000013 +00600093 +0a20d733 +00120213 +00200293 +fe5212e3 +00600393 +04771c63 +02300193 +fff00093 +0a105133 +00000393 +04711263 +02400193 +fff00093 +0a00d133 +00000393 +02711863 +02500193 +0a0050b3 +00000393 +02709063 +02600193 +01000093 +01e00113 +0a20d033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000668 +00000000 +00010000 +000000a8 +800001ac +00000000 +00010000 +000000af +800001c4 +00000000 +00010000 +000000b6 +800001dc +00000000 +00010000 +000000bd +800001f4 +00000000 +00010000 +000000c4 +8000020c +00000000 +00010000 +000000cb +80000224 +00000000 +00010000 +000000d2 +8000023c +00000000 +00010000 +000000d9 +80000258 +00000000 +00010000 +000000e1 +80000274 +00000000 +00010000 +000000e9 +80000298 +00000000 +00010000 +000000f1 +800002b8 +00000000 +00010000 +000000f9 +800002d8 +00000000 +00010000 +00000101 +800002f0 +00000000 +00010000 +00000109 +80000308 +00000000 +00010000 +00000111 +80000320 +00000000 +00010000 +00000119 +80000338 +00000000 +00010000 +00000121 +80000350 +00000000 +00010000 +00000129 +80000364 +00000000 +00010000 +00000131 +80000390 +00000000 +00010000 +00000139 +800003c0 +00000000 +00010000 +00000141 +800003f4 +00000000 +00010000 +00000149 +8000041c +00000000 +00010000 +00000151 +80000448 +00000000 +00010000 +00000159 +80000478 +00000000 +00010000 +00000161 +800004a4 +00000000 +00010000 +00000169 +800004d4 +00000000 +00010000 +00000171 +80000504 +00000000 +00010000 +00000179 +8000052c +00000000 +00010000 +00000181 +80000558 +00000000 +00010000 +00000189 +80000588 +00000000 +00010000 +00000191 +800005b4 +00000000 +00010000 +00000199 +800005e4 +00000000 +00010000 +000001a1 +80000614 +00000000 +00010000 +000001a9 +80000628 +00000000 +00010000 +000001b1 +8000063c +00000000 +00010000 +000001b9 +8000064c +00000000 +00010000 +000001c1 +80000684 +00000000 +00010000 +000001c6 +80002000 +00000000 +00020010 +000001d4 +80002000 +00000000 +00020010 +000001e4 +80000000 +00000000 +00010010 +000001eb +80002000 +00000000 +00020010 +000001f0 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +48636300 +70796134 +006f2e4b +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73657400 +30335f74 +73657400 +31335f74 +73657400 +32335f74 +73657400 +33335f74 +73657400 +34335f74 +73657400 +35335f74 +73657400 +36335f74 +73657400 +37335f74 +73657400 +38335f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +00000390 +00000005 +00000033 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002430 +000001f9 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002629 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orc_b.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orc_b.dump new file mode 100644 index 0000000..b059dc4 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orc_b.dump @@ -0,0 +1,342 @@ + +rv32uzbb-p-orc_b: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000093 li ra,0 +8000019c: 2870d713 orc.b a4,ra +800001a0: 00000393 li t2,0 +800001a4: 26771263 bne a4,t2,80000408 + +800001a8 : +800001a8: 00300193 li gp,3 +800001ac: 00100093 li ra,1 +800001b0: 2870d713 orc.b a4,ra +800001b4: 0ff00393 li t2,255 +800001b8: 24771863 bne a4,t2,80000408 + +800001bc : +800001bc: 00400193 li gp,4 +800001c0: 00300093 li ra,3 +800001c4: 2870d713 orc.b a4,ra +800001c8: 0ff00393 li t2,255 +800001cc: 22771e63 bne a4,t2,80000408 + +800001d0 : +800001d0: 00500193 li gp,5 +800001d4: ffff80b7 lui ra,0xffff8 +800001d8: 2870d713 orc.b a4,ra +800001dc: f0000393 li t2,-256 +800001e0: 22771463 bne a4,t2,80000408 + +800001e4 : +800001e4: 00600193 li gp,6 +800001e8: 008000b7 lui ra,0x800 +800001ec: 2870d713 orc.b a4,ra +800001f0: 00ff03b7 lui t2,0xff0 +800001f4: 20771a63 bne a4,t2,80000408 + +800001f8 : +800001f8: 00700193 li gp,7 +800001fc: ffff80b7 lui ra,0xffff8 +80000200: 2870d713 orc.b a4,ra +80000204: f0000393 li t2,-256 +80000208: 20771063 bne a4,t2,80000408 + +8000020c : +8000020c: 00800193 li gp,8 +80000210: 000080b7 lui ra,0x8 +80000214: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +80000218: 2870d713 orc.b a4,ra +8000021c: 000103b7 lui t2,0x10 +80000220: fff38393 addi t2,t2,-1 # ffff <_start-0x7fff0001> +80000224: 1e771263 bne a4,t2,80000408 + +80000228 : +80000228: 00900193 li gp,9 +8000022c: 800000b7 lui ra,0x80000 +80000230: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +80000234: 2870d713 orc.b a4,ra +80000238: fff00393 li t2,-1 +8000023c: 1c771663 bne a4,t2,80000408 + +80000240 : +80000240: 00a00193 li gp,10 +80000244: 000800b7 lui ra,0x80 +80000248: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +8000024c: 2870d713 orc.b a4,ra +80000250: 010003b7 lui t2,0x1000 +80000254: fff38393 addi t2,t2,-1 # ffffff <_start-0x7f000001> +80000258: 1a771863 bne a4,t2,80000408 + +8000025c : +8000025c: 00b00193 li gp,11 +80000260: 800000b7 lui ra,0x80000 +80000264: 2870d713 orc.b a4,ra +80000268: ff0003b7 lui t2,0xff000 +8000026c: 18771e63 bne a4,t2,80000408 + +80000270 : +80000270: 00c00193 li gp,12 +80000274: 121f50b7 lui ra,0x121f5 +80000278: 2870d713 orc.b a4,ra +8000027c: f0000393 li t2,-256 +80000280: 18771463 bne a4,t2,80000408 + +80000284 : +80000284: 00d00193 li gp,13 +80000288: 00000093 li ra,0 +8000028c: 2870d713 orc.b a4,ra +80000290: 00000393 li t2,0 +80000294: 16771a63 bne a4,t2,80000408 + +80000298 : +80000298: 00e00193 li gp,14 +8000029c: 00e00093 li ra,14 +800002a0: 2870d713 orc.b a4,ra +800002a4: 0ff00393 li t2,255 +800002a8: 16771063 bne a4,t2,80000408 + +800002ac : +800002ac: 00f00193 li gp,15 +800002b0: 204010b7 lui ra,0x20401 +800002b4: 34108093 addi ra,ra,833 # 20401341 <_start-0x5fbfecbf> +800002b8: 2870d713 orc.b a4,ra +800002bc: fff00393 li t2,-1 +800002c0: 14771463 bne a4,t2,80000408 + +800002c4 : +800002c4: 01000193 li gp,16 +800002c8: 00d00093 li ra,13 +800002cc: 2870d093 orc.b ra,ra +800002d0: 0ff00393 li t2,255 +800002d4: 12709a63 bne ra,t2,80000408 + +800002d8 : +800002d8: 01100193 li gp,17 +800002dc: 00b00093 li ra,11 +800002e0: 2870d093 orc.b ra,ra +800002e4: 0ff00393 li t2,255 +800002e8: 12709063 bne ra,t2,80000408 + +800002ec : +800002ec: 01200193 li gp,18 +800002f0: 00000213 li tp,0 +800002f4: 00d00093 li ra,13 +800002f8: 2870d713 orc.b a4,ra +800002fc: 00070313 mv t1,a4 +80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000304: 00200293 li t0,2 +80000308: fe5216e3 bne tp,t0,800002f4 +8000030c: 0ff00393 li t2,255 +80000310: 0e731c63 bne t1,t2,80000408 + +80000314 : +80000314: 01d00193 li gp,29 +80000318: 00000213 li tp,0 +8000031c: 01300093 li ra,19 +80000320: 2870d713 orc.b a4,ra +80000324: 00000013 nop +80000328: 00070313 mv t1,a4 +8000032c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000330: 00200293 li t0,2 +80000334: fe5214e3 bne tp,t0,8000031c +80000338: 0ff00393 li t2,255 +8000033c: 0c731663 bne t1,t2,80000408 + +80000340 : +80000340: 01400193 li gp,20 +80000344: 00000213 li tp,0 +80000348: 02200093 li ra,34 +8000034c: 2870d713 orc.b a4,ra +80000350: 00000013 nop +80000354: 00000013 nop +80000358: 00070313 mv t1,a4 +8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000360: 00200293 li t0,2 +80000364: fe5212e3 bne tp,t0,80000348 +80000368: 0ff00393 li t2,255 +8000036c: 08731e63 bne t1,t2,80000408 + +80000370 : +80000370: 01500193 li gp,21 +80000374: 007f80b7 lui ra,0x7f8 +80000378: 2870d713 orc.b a4,ra +8000037c: 010003b7 lui t2,0x1000 +80000380: f0038393 addi t2,t2,-256 # ffff00 <_start-0x7f000100> +80000384: 08771263 bne a4,t2,80000408 + +80000388 : +80000388: 01600193 li gp,22 +8000038c: 008080b7 lui ra,0x808 +80000390: 2870d713 orc.b a4,ra +80000394: 010003b7 lui t2,0x1000 +80000398: f0038393 addi t2,t2,-256 # ffff00 <_start-0x7f000100> +8000039c: 06771663 bne a4,t2,80000408 + +800003a0 : +800003a0: 01700193 li gp,23 +800003a4: 018080b7 lui ra,0x1808 +800003a8: 2870d713 orc.b a4,ra +800003ac: f0000393 li t2,-256 +800003b0: 04771c63 bne a4,t2,80000408 + +800003b4 : +800003b4: 01800193 li gp,24 +800003b8: 000080b7 lui ra,0x8 +800003bc: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +800003c0: 2870d713 orc.b a4,ra +800003c4: 000103b7 lui t2,0x10 +800003c8: fff38393 addi t2,t2,-1 # ffff <_start-0x7fff0001> +800003cc: 02771e63 bne a4,t2,80000408 + +800003d0 : +800003d0: 01900193 li gp,25 +800003d4: 800000b7 lui ra,0x80000 +800003d8: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +800003dc: 2870d713 orc.b a4,ra +800003e0: fff00393 li t2,-1 +800003e4: 02771263 bne a4,t2,80000408 + +800003e8 : +800003e8: 01a00193 li gp,26 +800003ec: 000800b7 lui ra,0x80 +800003f0: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +800003f4: 2870d713 orc.b a4,ra +800003f8: 010003b7 lui t2,0x1000 +800003fc: fff38393 addi t2,t2,-1 # ffffff <_start-0x7f000001> +80000400: 00771463 bne a4,t2,80000408 +80000404: 02301063 bne zero,gp,80000424 + +80000408 : +80000408: 0ff0000f fence +8000040c: 00018063 beqz gp,8000040c +80000410: 00119193 slli gp,gp,0x1 +80000414: 0011e193 ori gp,gp,1 +80000418: 05d00893 li a7,93 +8000041c: 00018513 mv a0,gp +80000420: 00000073 ecall + +80000424 : +80000424: 0ff0000f fence +80000428: 00100193 li gp,1 +8000042c: 05d00893 li a7,93 +80000430: 00000513 li a0,0 +80000434: 00000073 ecall +80000438: c0001073 unimp diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orc_b.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orc_b.hex new file mode 100644 index 0000000..15a44be --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orc_b.hex @@ -0,0 +1,1433 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000093 +2870d713 +00000393 +26771263 +00300193 +00100093 +2870d713 +0ff00393 +24771863 +00400193 +00300093 +2870d713 +0ff00393 +22771e63 +00500193 +ffff80b7 +2870d713 +f0000393 +22771463 +00600193 +008000b7 +2870d713 +00ff03b7 +20771a63 +00700193 +ffff80b7 +2870d713 +f0000393 +20771063 +00800193 +000080b7 +fff08093 +2870d713 +000103b7 +fff38393 +1e771263 +00900193 +800000b7 +fff08093 +2870d713 +fff00393 +1c771663 +00a00193 +000800b7 +fff08093 +2870d713 +010003b7 +fff38393 +1a771863 +00b00193 +800000b7 +2870d713 +ff0003b7 +18771e63 +00c00193 +121f50b7 +2870d713 +f0000393 +18771463 +00d00193 +00000093 +2870d713 +00000393 +16771a63 +00e00193 +00e00093 +2870d713 +0ff00393 +16771063 +00f00193 +204010b7 +34108093 +2870d713 +fff00393 +14771463 +01000193 +00d00093 +2870d093 +0ff00393 +12709a63 +01100193 +00b00093 +2870d093 +0ff00393 +12709063 +01200193 +00000213 +00d00093 +2870d713 +00070313 +00120213 +00200293 +fe5216e3 +0ff00393 +0e731c63 +01d00193 +00000213 +01300093 +2870d713 +00000013 +00070313 +00120213 +00200293 +fe5214e3 +0ff00393 +0c731663 +01400193 +00000213 +02200093 +2870d713 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +0ff00393 +08731e63 +01500193 +007f80b7 +2870d713 +010003b7 +f0038393 +08771263 +01600193 +008080b7 +2870d713 +010003b7 +f0038393 +06771663 +01700193 +018080b7 +2870d713 +f0000393 +04771c63 +01800193 +000080b7 +fff08093 +2870d713 +000103b7 +fff38393 +02771e63 +01900193 +800000b7 +fff08093 +2870d713 +fff00393 +02771263 +01a00193 +000800b7 +fff08093 +2870d713 +010003b7 +fff38393 +00771463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000408 +00000000 +00010000 +000000a8 +800001a8 +00000000 +00010000 +000000af +800001bc +00000000 +00010000 +000000b6 +800001d0 +00000000 +00010000 +000000bd +800001e4 +00000000 +00010000 +000000c4 +800001f8 +00000000 +00010000 +000000cb +8000020c +00000000 +00010000 +000000d2 +80000228 +00000000 +00010000 +000000d9 +80000240 +00000000 +00010000 +000000e1 +8000025c +00000000 +00010000 +000000e9 +80000270 +00000000 +00010000 +000000f1 +80000284 +00000000 +00010000 +000000f9 +80000298 +00000000 +00010000 +00000101 +800002ac +00000000 +00010000 +00000109 +800002c4 +00000000 +00010000 +00000111 +800002d8 +00000000 +00010000 +00000119 +800002ec +00000000 +00010000 +00000121 +80000314 +00000000 +00010000 +00000129 +80000340 +00000000 +00010000 +00000131 +80000370 +00000000 +00010000 +00000139 +80000388 +00000000 +00010000 +00000141 +800003a0 +00000000 +00010000 +00000149 +800003b4 +00000000 +00010000 +00000151 +800003d0 +00000000 +00010000 +00000159 +800003e8 +00000000 +00010000 +00000161 +80000424 +00000000 +00010000 +00000166 +80002000 +00000000 +00020010 +00000174 +80002000 +00000000 +00020010 +00000184 +80000000 +00000000 +00010010 +0000018b +80002000 +00000000 +00020010 +00000190 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +68636300 +626c3445 +006f2e58 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39325f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +0000043c +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002d0 +00000005 +00000027 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002370 +00000199 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002509 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orn.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orn.dump new file mode 100644 index 0000000..b89d29b --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orn.dump @@ -0,0 +1,518 @@ + +rv32uzbb-p-orn: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: ff0105b7 lui a1,0xff010 +8000019c: f0058593 addi a1,a1,-256 # ff00ff00 <_end+0x7f00df00> +800001a0: 0f0f1637 lui a2,0xf0f1 +800001a4: f0f60613 addi a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> +800001a8: 40c5e733 orn a4,a1,a2 +800001ac: fff103b7 lui t2,0xfff10 +800001b0: ff038393 addi t2,t2,-16 # fff0fff0 <_end+0x7ff0dff0> +800001b4: 48771e63 bne a4,t2,80000650 + +800001b8 : +800001b8: 00300193 li gp,3 +800001bc: 0ff015b7 lui a1,0xff01 +800001c0: ff058593 addi a1,a1,-16 # ff00ff0 <_start-0x700ff010> +800001c4: f0f0f637 lui a2,0xf0f0f +800001c8: 0f060613 addi a2,a2,240 # f0f0f0f0 <_end+0x70f0d0f0> +800001cc: 40c5e733 orn a4,a1,a2 +800001d0: 0fff13b7 lui t2,0xfff1 +800001d4: fff38393 addi t2,t2,-1 # fff0fff <_start-0x7000f001> +800001d8: 46771c63 bne a4,t2,80000650 + +800001dc : +800001dc: 00400193 li gp,4 +800001e0: 00ff05b7 lui a1,0xff0 +800001e4: 0ff58593 addi a1,a1,255 # ff00ff <_start-0x7f00ff01> +800001e8: 0f0f1637 lui a2,0xf0f1 +800001ec: f0f60613 addi a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> +800001f0: 40c5e733 orn a4,a1,a2 +800001f4: f0fff3b7 lui t2,0xf0fff +800001f8: 0ff38393 addi t2,t2,255 # f0fff0ff <_end+0x70ffd0ff> +800001fc: 44771a63 bne a4,t2,80000650 + +80000200 : +80000200: 00500193 li gp,5 +80000204: f00ff5b7 lui a1,0xf00ff +80000208: 00f58593 addi a1,a1,15 # f00ff00f <_end+0x700fd00f> +8000020c: f0f0f637 lui a2,0xf0f0f +80000210: 0f060613 addi a2,a2,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000214: 40c5e733 orn a4,a1,a2 +80000218: ff1003b7 lui t2,0xff100 +8000021c: f0f38393 addi t2,t2,-241 # ff0fff0f <_end+0x7f0fdf0f> +80000220: 42771863 bne a4,t2,80000650 + +80000224 : +80000224: 00600193 li gp,6 +80000228: ff0105b7 lui a1,0xff010 +8000022c: f0058593 addi a1,a1,-256 # ff00ff00 <_end+0x7f00df00> +80000230: 0f0f1637 lui a2,0xf0f1 +80000234: f0f60613 addi a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> +80000238: 40c5e5b3 orn a1,a1,a2 +8000023c: fff103b7 lui t2,0xfff10 +80000240: ff038393 addi t2,t2,-16 # fff0fff0 <_end+0x7ff0dff0> +80000244: 40759663 bne a1,t2,80000650 + +80000248 : +80000248: 00700193 li gp,7 +8000024c: ff0105b7 lui a1,0xff010 +80000250: f0058593 addi a1,a1,-256 # ff00ff00 <_end+0x7f00df00> +80000254: 0f0f1637 lui a2,0xf0f1 +80000258: f0f60613 addi a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> +8000025c: 40c5e633 orn a2,a1,a2 +80000260: fff103b7 lui t2,0xfff10 +80000264: ff038393 addi t2,t2,-16 # fff0fff0 <_end+0x7ff0dff0> +80000268: 3e761463 bne a2,t2,80000650 + +8000026c : +8000026c: 00800193 li gp,8 +80000270: ff0105b7 lui a1,0xff010 +80000274: f0058593 addi a1,a1,-256 # ff00ff00 <_end+0x7f00df00> +80000278: 40b5e5b3 orn a1,a1,a1 +8000027c: fff00393 li t2,-1 +80000280: 3c759863 bne a1,t2,80000650 + +80000284 : +80000284: 00900193 li gp,9 +80000288: 00000213 li tp,0 +8000028c: ff0100b7 lui ra,0xff010 +80000290: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000294: 0f0f1137 lui sp,0xf0f1 +80000298: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000029c: 4020e733 orn a4,ra,sp +800002a0: 00070313 mv t1,a4 +800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a8: 00200293 li t0,2 +800002ac: fe5210e3 bne tp,t0,8000028c +800002b0: fff103b7 lui t2,0xfff10 +800002b4: ff038393 addi t2,t2,-16 # fff0fff0 <_end+0x7ff0dff0> +800002b8: 38731c63 bne t1,t2,80000650 + +800002bc : +800002bc: 00a00193 li gp,10 +800002c0: 00000213 li tp,0 +800002c4: 0ff010b7 lui ra,0xff01 +800002c8: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800002cc: f0f0f137 lui sp,0xf0f0f +800002d0: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800002d4: 4020e733 orn a4,ra,sp +800002d8: 00000013 nop +800002dc: 00070313 mv t1,a4 +800002e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e4: 00200293 li t0,2 +800002e8: fc521ee3 bne tp,t0,800002c4 +800002ec: 0fff13b7 lui t2,0xfff1 +800002f0: fff38393 addi t2,t2,-1 # fff0fff <_start-0x7000f001> +800002f4: 34731e63 bne t1,t2,80000650 + +800002f8 : +800002f8: 00b00193 li gp,11 +800002fc: 00000213 li tp,0 +80000300: 00ff00b7 lui ra,0xff0 +80000304: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000308: 0f0f1137 lui sp,0xf0f1 +8000030c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000310: 4020e733 orn a4,ra,sp +80000314: 00000013 nop +80000318: 00000013 nop +8000031c: 00070313 mv t1,a4 +80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000324: 00200293 li t0,2 +80000328: fc521ce3 bne tp,t0,80000300 +8000032c: f0fff3b7 lui t2,0xf0fff +80000330: 0ff38393 addi t2,t2,255 # f0fff0ff <_end+0x70ffd0ff> +80000334: 30731e63 bne t1,t2,80000650 + +80000338 : +80000338: 00c00193 li gp,12 +8000033c: 00000213 li tp,0 +80000340: ff0100b7 lui ra,0xff010 +80000344: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000348: 0f0f1137 lui sp,0xf0f1 +8000034c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000350: 4020e733 orn a4,ra,sp +80000354: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000358: 00200293 li t0,2 +8000035c: fe5212e3 bne tp,t0,80000340 +80000360: fff103b7 lui t2,0xfff10 +80000364: ff038393 addi t2,t2,-16 # fff0fff0 <_end+0x7ff0dff0> +80000368: 2e771463 bne a4,t2,80000650 + +8000036c : +8000036c: 00d00193 li gp,13 +80000370: 00000213 li tp,0 +80000374: 0ff010b7 lui ra,0xff01 +80000378: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000037c: f0f0f137 lui sp,0xf0f0f +80000380: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000384: 00000013 nop +80000388: 4020e733 orn a4,ra,sp +8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000390: 00200293 li t0,2 +80000394: fe5210e3 bne tp,t0,80000374 +80000398: 0fff13b7 lui t2,0xfff1 +8000039c: fff38393 addi t2,t2,-1 # fff0fff <_start-0x7000f001> +800003a0: 2a771863 bne a4,t2,80000650 + +800003a4 : +800003a4: 00e00193 li gp,14 +800003a8: 00000213 li tp,0 +800003ac: 00ff00b7 lui ra,0xff0 +800003b0: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800003b4: 0f0f1137 lui sp,0xf0f1 +800003b8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003bc: 00000013 nop +800003c0: 00000013 nop +800003c4: 4020e733 orn a4,ra,sp +800003c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003cc: 00200293 li t0,2 +800003d0: fc521ee3 bne tp,t0,800003ac +800003d4: f0fff3b7 lui t2,0xf0fff +800003d8: 0ff38393 addi t2,t2,255 # f0fff0ff <_end+0x70ffd0ff> +800003dc: 26771a63 bne a4,t2,80000650 + +800003e0 : +800003e0: 00f00193 li gp,15 +800003e4: 00000213 li tp,0 +800003e8: ff0100b7 lui ra,0xff010 +800003ec: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800003f0: 00000013 nop +800003f4: 0f0f1137 lui sp,0xf0f1 +800003f8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003fc: 4020e733 orn a4,ra,sp +80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000404: 00200293 li t0,2 +80000408: fe5210e3 bne tp,t0,800003e8 +8000040c: fff103b7 lui t2,0xfff10 +80000410: ff038393 addi t2,t2,-16 # fff0fff0 <_end+0x7ff0dff0> +80000414: 22771e63 bne a4,t2,80000650 + +80000418 : +80000418: 01000193 li gp,16 +8000041c: 00000213 li tp,0 +80000420: 0ff010b7 lui ra,0xff01 +80000424: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000428: 00000013 nop +8000042c: f0f0f137 lui sp,0xf0f0f +80000430: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000434: 00000013 nop +80000438: 4020e733 orn a4,ra,sp +8000043c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000440: 00200293 li t0,2 +80000444: fc521ee3 bne tp,t0,80000420 +80000448: 0fff13b7 lui t2,0xfff1 +8000044c: fff38393 addi t2,t2,-1 # fff0fff <_start-0x7000f001> +80000450: 20771063 bne a4,t2,80000650 + +80000454 : +80000454: 01100193 li gp,17 +80000458: 00000213 li tp,0 +8000045c: 00ff00b7 lui ra,0xff0 +80000460: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000464: 00000013 nop +80000468: 00000013 nop +8000046c: 0f0f1137 lui sp,0xf0f1 +80000470: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000474: 4020e733 orn a4,ra,sp +80000478: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000047c: 00200293 li t0,2 +80000480: fc521ee3 bne tp,t0,8000045c +80000484: f0fff3b7 lui t2,0xf0fff +80000488: 0ff38393 addi t2,t2,255 # f0fff0ff <_end+0x70ffd0ff> +8000048c: 1c771263 bne a4,t2,80000650 + +80000490 : +80000490: 01200193 li gp,18 +80000494: 00000213 li tp,0 +80000498: 0f0f1137 lui sp,0xf0f1 +8000049c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800004a0: ff0100b7 lui ra,0xff010 +800004a4: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800004a8: 4020e733 orn a4,ra,sp +800004ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004b0: 00200293 li t0,2 +800004b4: fe5212e3 bne tp,t0,80000498 +800004b8: fff103b7 lui t2,0xfff10 +800004bc: ff038393 addi t2,t2,-16 # fff0fff0 <_end+0x7ff0dff0> +800004c0: 18771863 bne a4,t2,80000650 + +800004c4 : +800004c4: 01300193 li gp,19 +800004c8: 00000213 li tp,0 +800004cc: f0f0f137 lui sp,0xf0f0f +800004d0: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800004d4: 0ff010b7 lui ra,0xff01 +800004d8: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800004dc: 00000013 nop +800004e0: 4020e733 orn a4,ra,sp +800004e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004e8: 00200293 li t0,2 +800004ec: fe5210e3 bne tp,t0,800004cc +800004f0: 0fff13b7 lui t2,0xfff1 +800004f4: fff38393 addi t2,t2,-1 # fff0fff <_start-0x7000f001> +800004f8: 14771c63 bne a4,t2,80000650 + +800004fc : +800004fc: 01400193 li gp,20 +80000500: 00000213 li tp,0 +80000504: 0f0f1137 lui sp,0xf0f1 +80000508: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000050c: 00ff00b7 lui ra,0xff0 +80000510: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000514: 00000013 nop +80000518: 00000013 nop +8000051c: 4020e733 orn a4,ra,sp +80000520: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000524: 00200293 li t0,2 +80000528: fc521ee3 bne tp,t0,80000504 +8000052c: f0fff3b7 lui t2,0xf0fff +80000530: 0ff38393 addi t2,t2,255 # f0fff0ff <_end+0x70ffd0ff> +80000534: 10771e63 bne a4,t2,80000650 + +80000538 : +80000538: 01500193 li gp,21 +8000053c: 00000213 li tp,0 +80000540: 0f0f1137 lui sp,0xf0f1 +80000544: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000548: 00000013 nop +8000054c: ff0100b7 lui ra,0xff010 +80000550: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000554: 4020e733 orn a4,ra,sp +80000558: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000055c: 00200293 li t0,2 +80000560: fe5210e3 bne tp,t0,80000540 +80000564: fff103b7 lui t2,0xfff10 +80000568: ff038393 addi t2,t2,-16 # fff0fff0 <_end+0x7ff0dff0> +8000056c: 0e771263 bne a4,t2,80000650 + +80000570 : +80000570: 01600193 li gp,22 +80000574: 00000213 li tp,0 +80000578: f0f0f137 lui sp,0xf0f0f +8000057c: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000580: 00000013 nop +80000584: 0ff010b7 lui ra,0xff01 +80000588: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000058c: 00000013 nop +80000590: 4020e733 orn a4,ra,sp +80000594: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000598: 00200293 li t0,2 +8000059c: fc521ee3 bne tp,t0,80000578 +800005a0: 0fff13b7 lui t2,0xfff1 +800005a4: fff38393 addi t2,t2,-1 # fff0fff <_start-0x7000f001> +800005a8: 0a771463 bne a4,t2,80000650 + +800005ac : +800005ac: 01700193 li gp,23 +800005b0: 00000213 li tp,0 +800005b4: 0f0f1137 lui sp,0xf0f1 +800005b8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800005bc: 00000013 nop +800005c0: 00000013 nop +800005c4: 00ff00b7 lui ra,0xff0 +800005c8: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800005cc: 4020e733 orn a4,ra,sp +800005d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005d4: 00200293 li t0,2 +800005d8: fc521ee3 bne tp,t0,800005b4 +800005dc: f0fff3b7 lui t2,0xf0fff +800005e0: 0ff38393 addi t2,t2,255 # f0fff0ff <_end+0x70ffd0ff> +800005e4: 06771663 bne a4,t2,80000650 + +800005e8 : +800005e8: 01800193 li gp,24 +800005ec: ff0100b7 lui ra,0xff010 +800005f0: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800005f4: 40106133 orn sp,zero,ra +800005f8: 00ff03b7 lui t2,0xff0 +800005fc: 0ff38393 addi t2,t2,255 # ff00ff <_start-0x7f00ff01> +80000600: 04711863 bne sp,t2,80000650 + +80000604 : +80000604: 01900193 li gp,25 +80000608: 00ff00b7 lui ra,0xff0 +8000060c: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000610: 4000e133 orn sp,ra,zero +80000614: fff00393 li t2,-1 +80000618: 02711c63 bne sp,t2,80000650 + +8000061c : +8000061c: 01a00193 li gp,26 +80000620: 400060b3 orn ra,zero,zero +80000624: fff00393 li t2,-1 +80000628: 02709463 bne ra,t2,80000650 + +8000062c : +8000062c: 01b00193 li gp,27 +80000630: 111110b7 lui ra,0x11111 +80000634: 11108093 addi ra,ra,273 # 11111111 <_start-0x6eeeeeef> +80000638: 22222137 lui sp,0x22222 +8000063c: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +80000640: 4020e033 orn zero,ra,sp +80000644: 00000393 li t2,0 +80000648: 00701463 bne zero,t2,80000650 +8000064c: 02301063 bne zero,gp,8000066c + +80000650 : +80000650: 0ff0000f fence +80000654: 00018063 beqz gp,80000654 +80000658: 00119193 slli gp,gp,0x1 +8000065c: 0011e193 ori gp,gp,1 +80000660: 05d00893 li a7,93 +80000664: 00018513 mv a0,gp +80000668: 00000073 ecall + +8000066c : +8000066c: 0ff0000f fence +80000670: 00100193 li gp,1 +80000674: 05d00893 li a7,93 +80000678: 00000513 li a0,0 +8000067c: 00000073 ecall +80000680: c0001073 unimp +80000684: 0000 .insn 2, 0x +80000686: 0000 .insn 2, 0x +80000688: 0000 .insn 2, 0x +8000068a: 0000 .insn 2, 0x +8000068c: 0000 .insn 2, 0x +8000068e: 0000 .insn 2, 0x +80000690: 0000 .insn 2, 0x +80000692: 0000 .insn 2, 0x +80000694: 0000 .insn 2, 0x +80000696: 0000 .insn 2, 0x +80000698: 0000 .insn 2, 0x +8000069a: 0000 .insn 2, 0x +8000069c: 0000 .insn 2, 0x +8000069e: 0000 .insn 2, 0x +800006a0: 0000 .insn 2, 0x +800006a2: 0000 .insn 2, 0x +800006a4: 0000 .insn 2, 0x +800006a6: 0000 .insn 2, 0x +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orn.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orn.hex new file mode 100644 index 0000000..67d44aa --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-orn.hex @@ -0,0 +1,1439 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +ff0105b7 +f0058593 +0f0f1637 +f0f60613 +40c5e733 +fff103b7 +ff038393 +48771e63 +00300193 +0ff015b7 +ff058593 +f0f0f637 +0f060613 +40c5e733 +0fff13b7 +fff38393 +46771c63 +00400193 +00ff05b7 +0ff58593 +0f0f1637 +f0f60613 +40c5e733 +f0fff3b7 +0ff38393 +44771a63 +00500193 +f00ff5b7 +00f58593 +f0f0f637 +0f060613 +40c5e733 +ff1003b7 +f0f38393 +42771863 +00600193 +ff0105b7 +f0058593 +0f0f1637 +f0f60613 +40c5e5b3 +fff103b7 +ff038393 +40759663 +00700193 +ff0105b7 +f0058593 +0f0f1637 +f0f60613 +40c5e633 +fff103b7 +ff038393 +3e761463 +00800193 +ff0105b7 +f0058593 +40b5e5b3 +fff00393 +3c759863 +00900193 +00000213 +ff0100b7 +f0008093 +0f0f1137 +f0f10113 +4020e733 +00070313 +00120213 +00200293 +fe5210e3 +fff103b7 +ff038393 +38731c63 +00a00193 +00000213 +0ff010b7 +ff008093 +f0f0f137 +0f010113 +4020e733 +00000013 +00070313 +00120213 +00200293 +fc521ee3 +0fff13b7 +fff38393 +34731e63 +00b00193 +00000213 +00ff00b7 +0ff08093 +0f0f1137 +f0f10113 +4020e733 +00000013 +00000013 +00070313 +00120213 +00200293 +fc521ce3 +f0fff3b7 +0ff38393 +30731e63 +00c00193 +00000213 +ff0100b7 +f0008093 +0f0f1137 +f0f10113 +4020e733 +00120213 +00200293 +fe5212e3 +fff103b7 +ff038393 +2e771463 +00d00193 +00000213 +0ff010b7 +ff008093 +f0f0f137 +0f010113 +00000013 +4020e733 +00120213 +00200293 +fe5210e3 +0fff13b7 +fff38393 +2a771863 +00e00193 +00000213 +00ff00b7 +0ff08093 +0f0f1137 +f0f10113 +00000013 +00000013 +4020e733 +00120213 +00200293 +fc521ee3 +f0fff3b7 +0ff38393 +26771a63 +00f00193 +00000213 +ff0100b7 +f0008093 +00000013 +0f0f1137 +f0f10113 +4020e733 +00120213 +00200293 +fe5210e3 +fff103b7 +ff038393 +22771e63 +01000193 +00000213 +0ff010b7 +ff008093 +00000013 +f0f0f137 +0f010113 +00000013 +4020e733 +00120213 +00200293 +fc521ee3 +0fff13b7 +fff38393 +20771063 +01100193 +00000213 +00ff00b7 +0ff08093 +00000013 +00000013 +0f0f1137 +f0f10113 +4020e733 +00120213 +00200293 +fc521ee3 +f0fff3b7 +0ff38393 +1c771263 +01200193 +00000213 +0f0f1137 +f0f10113 +ff0100b7 +f0008093 +4020e733 +00120213 +00200293 +fe5212e3 +fff103b7 +ff038393 +18771863 +01300193 +00000213 +f0f0f137 +0f010113 +0ff010b7 +ff008093 +00000013 +4020e733 +00120213 +00200293 +fe5210e3 +0fff13b7 +fff38393 +14771c63 +01400193 +00000213 +0f0f1137 +f0f10113 +00ff00b7 +0ff08093 +00000013 +00000013 +4020e733 +00120213 +00200293 +fc521ee3 +f0fff3b7 +0ff38393 +10771e63 +01500193 +00000213 +0f0f1137 +f0f10113 +00000013 +ff0100b7 +f0008093 +4020e733 +00120213 +00200293 +fe5210e3 +fff103b7 +ff038393 +0e771263 +01600193 +00000213 +f0f0f137 +0f010113 +00000013 +0ff010b7 +ff008093 +00000013 +4020e733 +00120213 +00200293 +fc521ee3 +0fff13b7 +fff38393 +0a771463 +01700193 +00000213 +0f0f1137 +f0f10113 +00000013 +00000013 +00ff00b7 +0ff08093 +4020e733 +00120213 +00200293 +fc521ee3 +f0fff3b7 +0ff38393 +06771663 +01800193 +ff0100b7 +f0008093 +40106133 +00ff03b7 +0ff38393 +04711863 +01900193 +00ff00b7 +0ff08093 +4000e133 +fff00393 +02711c63 +01a00193 +400060b3 +fff00393 +02709463 +01b00193 +111110b7 +11108093 +22222137 +22210113 +4020e033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000650 +00000000 +00010000 +000000a8 +800001b8 +00000000 +00010000 +000000af +800001dc +00000000 +00010000 +000000b6 +80000200 +00000000 +00010000 +000000bd +80000224 +00000000 +00010000 +000000c4 +80000248 +00000000 +00010000 +000000cb +8000026c +00000000 +00010000 +000000d2 +80000284 +00000000 +00010000 +000000d9 +800002bc +00000000 +00010000 +000000e1 +800002f8 +00000000 +00010000 +000000e9 +80000338 +00000000 +00010000 +000000f1 +8000036c +00000000 +00010000 +000000f9 +800003a4 +00000000 +00010000 +00000101 +800003e0 +00000000 +00010000 +00000109 +80000418 +00000000 +00010000 +00000111 +80000454 +00000000 +00010000 +00000119 +80000490 +00000000 +00010000 +00000121 +800004c4 +00000000 +00010000 +00000129 +800004fc +00000000 +00010000 +00000131 +80000538 +00000000 +00010000 +00000139 +80000570 +00000000 +00010000 +00000141 +800005ac +00000000 +00010000 +00000149 +800005e8 +00000000 +00010000 +00000151 +80000604 +00000000 +00010000 +00000159 +8000061c +00000000 +00010000 +00000161 +8000062c +00000000 +00010000 +00000169 +8000066c +00000000 +00010000 +0000016e +80002000 +00000000 +00020010 +0000017c +80002000 +00000000 +00020010 +0000018c +80000000 +00000000 +00010010 +00000193 +80002000 +00000000 +00020010 +00000198 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +66636300 +4f6e3669 +006f2e43 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002e0 +00000005 +00000028 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002380 +000001a1 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002521 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rev8.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rev8.dump new file mode 100644 index 0000000..d2ef89c --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rev8.dump @@ -0,0 +1,372 @@ + +rv32uzbb-p-rev8: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000093 li ra,0 +8000019c: 6980d713 rev8 a4,ra +800001a0: 00000393 li t2,0 +800001a4: 26771663 bne a4,t2,80000410 + +800001a8 : +800001a8: 00300193 li gp,3 +800001ac: 00100093 li ra,1 +800001b0: 6980d713 rev8 a4,ra +800001b4: 010003b7 lui t2,0x1000 +800001b8: 24771c63 bne a4,t2,80000410 + +800001bc : +800001bc: 00400193 li gp,4 +800001c0: 00300093 li ra,3 +800001c4: 6980d713 rev8 a4,ra +800001c8: 030003b7 lui t2,0x3000 +800001cc: 24771263 bne a4,t2,80000410 + +800001d0 : +800001d0: 00500193 li gp,5 +800001d4: ffff80b7 lui ra,0xffff8 +800001d8: 6980d713 rev8 a4,ra +800001dc: 008103b7 lui t2,0x810 +800001e0: fff38393 addi t2,t2,-1 # 80ffff <_start-0x7f7f0001> +800001e4: 22771663 bne a4,t2,80000410 + +800001e8 : +800001e8: 00600193 li gp,6 +800001ec: 008000b7 lui ra,0x800 +800001f0: 6980d713 rev8 a4,ra +800001f4: 000083b7 lui t2,0x8 +800001f8: 20771c63 bne a4,t2,80000410 + +800001fc : +800001fc: 00700193 li gp,7 +80000200: ffff80b7 lui ra,0xffff8 +80000204: 6980d713 rev8 a4,ra +80000208: 008103b7 lui t2,0x810 +8000020c: fff38393 addi t2,t2,-1 # 80ffff <_start-0x7f7f0001> +80000210: 20771063 bne a4,t2,80000410 + +80000214 : +80000214: 00800193 li gp,8 +80000218: 000080b7 lui ra,0x8 +8000021c: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +80000220: 6980d713 rev8 a4,ra +80000224: ff7f03b7 lui t2,0xff7f0 +80000228: 1e771463 bne a4,t2,80000410 + +8000022c : +8000022c: 00900193 li gp,9 +80000230: 800000b7 lui ra,0x80000 +80000234: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +80000238: 6980d713 rev8 a4,ra +8000023c: f7f00393 li t2,-129 +80000240: 1c771863 bne a4,t2,80000410 + +80000244 : +80000244: 00a00193 li gp,10 +80000248: 000800b7 lui ra,0x80 +8000024c: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +80000250: 6980d713 rev8 a4,ra +80000254: ffff03b7 lui t2,0xffff0 +80000258: 70038393 addi t2,t2,1792 # ffff0700 <_end+0x7ffee700> +8000025c: 1a771a63 bne a4,t2,80000410 + +80000260 : +80000260: 00b00193 li gp,11 +80000264: 800000b7 lui ra,0x80000 +80000268: 6980d713 rev8 a4,ra +8000026c: 08000393 li t2,128 +80000270: 1a771063 bne a4,t2,80000410 + +80000274 : +80000274: 00c00193 li gp,12 +80000278: 121f50b7 lui ra,0x121f5 +8000027c: 6980d713 rev8 a4,ra +80000280: 005023b7 lui t2,0x502 +80000284: f1238393 addi t2,t2,-238 # 501f12 <_start-0x7fafe0ee> +80000288: 18771463 bne a4,t2,80000410 + +8000028c : +8000028c: 00d00193 li gp,13 +80000290: 00000093 li ra,0 +80000294: 6980d713 rev8 a4,ra +80000298: 00000393 li t2,0 +8000029c: 16771a63 bne a4,t2,80000410 + +800002a0 : +800002a0: 00e00193 li gp,14 +800002a4: 00e00093 li ra,14 +800002a8: 6980d713 rev8 a4,ra +800002ac: 0e0003b7 lui t2,0xe000 +800002b0: 16771063 bne a4,t2,80000410 + +800002b4 : +800002b4: 00f00193 li gp,15 +800002b8: 204010b7 lui ra,0x20401 +800002bc: 34108093 addi ra,ra,833 # 20401341 <_start-0x5fbfecbf> +800002c0: 6980d713 rev8 a4,ra +800002c4: 411343b7 lui t2,0x41134 +800002c8: 02038393 addi t2,t2,32 # 41134020 <_start-0x3eecbfe0> +800002cc: 14771263 bne a4,t2,80000410 + +800002d0 : +800002d0: 01000193 li gp,16 +800002d4: 00d00093 li ra,13 +800002d8: 6980d093 rev8 ra,ra +800002dc: 0d0003b7 lui t2,0xd000 +800002e0: 12709863 bne ra,t2,80000410 + +800002e4 : +800002e4: 01100193 li gp,17 +800002e8: 00b00093 li ra,11 +800002ec: 6980d093 rev8 ra,ra +800002f0: 0b0003b7 lui t2,0xb000 +800002f4: 10709e63 bne ra,t2,80000410 + +800002f8 : +800002f8: 01200193 li gp,18 +800002fc: 00000213 li tp,0 +80000300: 00d00093 li ra,13 +80000304: 6980d713 rev8 a4,ra +80000308: 00070313 mv t1,a4 +8000030c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000310: 00200293 li t0,2 +80000314: fe5216e3 bne tp,t0,80000300 +80000318: 0d0003b7 lui t2,0xd000 +8000031c: 0e731a63 bne t1,t2,80000410 + +80000320 : +80000320: 01d00193 li gp,29 +80000324: 00000213 li tp,0 +80000328: 01300093 li ra,19 +8000032c: 6980d713 rev8 a4,ra +80000330: 00000013 nop +80000334: 00070313 mv t1,a4 +80000338: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000033c: 00200293 li t0,2 +80000340: fe5214e3 bne tp,t0,80000328 +80000344: 130003b7 lui t2,0x13000 +80000348: 0c731463 bne t1,t2,80000410 + +8000034c : +8000034c: 01400193 li gp,20 +80000350: 00000213 li tp,0 +80000354: 02200093 li ra,34 +80000358: 6980d713 rev8 a4,ra +8000035c: 00000013 nop +80000360: 00000013 nop +80000364: 00070313 mv t1,a4 +80000368: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000036c: 00200293 li t0,2 +80000370: fe5212e3 bne tp,t0,80000354 +80000374: 220003b7 lui t2,0x22000 +80000378: 08731c63 bne t1,t2,80000410 + +8000037c : +8000037c: 01500193 li gp,21 +80000380: 007f80b7 lui ra,0x7f8 +80000384: 6980d713 rev8 a4,ra +80000388: 008083b7 lui t2,0x808 +8000038c: f0038393 addi t2,t2,-256 # 807f00 <_start-0x7f7f8100> +80000390: 08771063 bne a4,t2,80000410 + +80000394 : +80000394: 01600193 li gp,22 +80000398: 008080b7 lui ra,0x808 +8000039c: 6980d713 rev8 a4,ra +800003a0: 008083b7 lui t2,0x808 +800003a4: 06771663 bne a4,t2,80000410 + +800003a8 : +800003a8: 01700193 li gp,23 +800003ac: 018080b7 lui ra,0x1808 +800003b0: 6980d713 rev8 a4,ra +800003b4: 008083b7 lui t2,0x808 +800003b8: 00138393 addi t2,t2,1 # 808001 <_start-0x7f7f7fff> +800003bc: 04771a63 bne a4,t2,80000410 + +800003c0 : +800003c0: 01800193 li gp,24 +800003c4: 000080b7 lui ra,0x8 +800003c8: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +800003cc: 6980d713 rev8 a4,ra +800003d0: ff7f03b7 lui t2,0xff7f0 +800003d4: 02771e63 bne a4,t2,80000410 + +800003d8 : +800003d8: 01900193 li gp,25 +800003dc: 800000b7 lui ra,0x80000 +800003e0: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +800003e4: 6980d713 rev8 a4,ra +800003e8: f7f00393 li t2,-129 +800003ec: 02771263 bne a4,t2,80000410 + +800003f0 : +800003f0: 01a00193 li gp,26 +800003f4: 000800b7 lui ra,0x80 +800003f8: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +800003fc: 6980d713 rev8 a4,ra +80000400: ffff03b7 lui t2,0xffff0 +80000404: 70038393 addi t2,t2,1792 # ffff0700 <_end+0x7ffee700> +80000408: 00771463 bne a4,t2,80000410 +8000040c: 02301063 bne zero,gp,8000042c + +80000410 : +80000410: 0ff0000f fence +80000414: 00018063 beqz gp,80000414 +80000418: 00119193 slli gp,gp,0x1 +8000041c: 0011e193 ori gp,gp,1 +80000420: 05d00893 li a7,93 +80000424: 00018513 mv a0,gp +80000428: 00000073 ecall + +8000042c : +8000042c: 0ff0000f fence +80000430: 00100193 li gp,1 +80000434: 05d00893 li a7,93 +80000438: 00000513 li a0,0 +8000043c: 00000073 ecall +80000440: c0001073 unimp +80000444: 0000 .insn 2, 0x +80000446: 0000 .insn 2, 0x +80000448: 0000 .insn 2, 0x +8000044a: 0000 .insn 2, 0x +8000044c: 0000 .insn 2, 0x +8000044e: 0000 .insn 2, 0x +80000450: 0000 .insn 2, 0x +80000452: 0000 .insn 2, 0x +80000454: 0000 .insn 2, 0x +80000456: 0000 .insn 2, 0x +80000458: 0000 .insn 2, 0x +8000045a: 0000 .insn 2, 0x +8000045c: 0000 .insn 2, 0x +8000045e: 0000 .insn 2, 0x +80000460: 0000 .insn 2, 0x +80000462: 0000 .insn 2, 0x +80000464: 0000 .insn 2, 0x +80000466: 0000 .insn 2, 0x +80000468: 0000 .insn 2, 0x +8000046a: 0000 .insn 2, 0x +8000046c: 0000 .insn 2, 0x +8000046e: 0000 .insn 2, 0x +80000470: 0000 .insn 2, 0x +80000472: 0000 .insn 2, 0x +80000474: 0000 .insn 2, 0x +80000476: 0000 .insn 2, 0x +80000478: 0000 .insn 2, 0x +8000047a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rev8.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rev8.hex new file mode 100644 index 0000000..e50c70b --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rev8.hex @@ -0,0 +1,1433 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000093 +6980d713 +00000393 +26771663 +00300193 +00100093 +6980d713 +010003b7 +24771c63 +00400193 +00300093 +6980d713 +030003b7 +24771263 +00500193 +ffff80b7 +6980d713 +008103b7 +fff38393 +22771663 +00600193 +008000b7 +6980d713 +000083b7 +20771c63 +00700193 +ffff80b7 +6980d713 +008103b7 +fff38393 +20771063 +00800193 +000080b7 +fff08093 +6980d713 +ff7f03b7 +1e771463 +00900193 +800000b7 +fff08093 +6980d713 +f7f00393 +1c771863 +00a00193 +000800b7 +fff08093 +6980d713 +ffff03b7 +70038393 +1a771a63 +00b00193 +800000b7 +6980d713 +08000393 +1a771063 +00c00193 +121f50b7 +6980d713 +005023b7 +f1238393 +18771463 +00d00193 +00000093 +6980d713 +00000393 +16771a63 +00e00193 +00e00093 +6980d713 +0e0003b7 +16771063 +00f00193 +204010b7 +34108093 +6980d713 +411343b7 +02038393 +14771263 +01000193 +00d00093 +6980d093 +0d0003b7 +12709863 +01100193 +00b00093 +6980d093 +0b0003b7 +10709e63 +01200193 +00000213 +00d00093 +6980d713 +00070313 +00120213 +00200293 +fe5216e3 +0d0003b7 +0e731a63 +01d00193 +00000213 +01300093 +6980d713 +00000013 +00070313 +00120213 +00200293 +fe5214e3 +130003b7 +0c731463 +01400193 +00000213 +02200093 +6980d713 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +220003b7 +08731c63 +01500193 +007f80b7 +6980d713 +008083b7 +f0038393 +08771063 +01600193 +008080b7 +6980d713 +008083b7 +06771663 +01700193 +018080b7 +6980d713 +008083b7 +00138393 +04771a63 +01800193 +000080b7 +fff08093 +6980d713 +ff7f03b7 +02771e63 +01900193 +800000b7 +fff08093 +6980d713 +f7f00393 +02771263 +01a00193 +000800b7 +fff08093 +6980d713 +ffff03b7 +70038393 +00771463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000410 +00000000 +00010000 +000000a8 +800001a8 +00000000 +00010000 +000000af +800001bc +00000000 +00010000 +000000b6 +800001d0 +00000000 +00010000 +000000bd +800001e8 +00000000 +00010000 +000000c4 +800001fc +00000000 +00010000 +000000cb +80000214 +00000000 +00010000 +000000d2 +8000022c +00000000 +00010000 +000000d9 +80000244 +00000000 +00010000 +000000e1 +80000260 +00000000 +00010000 +000000e9 +80000274 +00000000 +00010000 +000000f1 +8000028c +00000000 +00010000 +000000f9 +800002a0 +00000000 +00010000 +00000101 +800002b4 +00000000 +00010000 +00000109 +800002d0 +00000000 +00010000 +00000111 +800002e4 +00000000 +00010000 +00000119 +800002f8 +00000000 +00010000 +00000121 +80000320 +00000000 +00010000 +00000129 +8000034c +00000000 +00010000 +00000131 +8000037c +00000000 +00010000 +00000139 +80000394 +00000000 +00010000 +00000141 +800003a8 +00000000 +00010000 +00000149 +800003c0 +00000000 +00010000 +00000151 +800003d8 +00000000 +00010000 +00000159 +800003f0 +00000000 +00010000 +00000161 +8000042c +00000000 +00010000 +00000166 +80002000 +00000000 +00020010 +00000174 +80002000 +00000000 +00020010 +00000184 +80000000 +00000000 +00010010 +0000018b +80002000 +00000000 +00020010 +00000190 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +50636300 +73627279 +006f2e7a +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39325f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +0000047c +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002d0 +00000005 +00000027 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002370 +00000199 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002509 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rol.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rol.dump new file mode 100644 index 0000000..a0c98ab --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rol.dump @@ -0,0 +1,638 @@ + +rv32uzbb-p-rol: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00100593 li a1,1 +8000019c: 00000613 li a2,0 +800001a0: 60c59733 rol a4,a1,a2 +800001a4: 00100393 li t2,1 +800001a8: 5e771463 bne a4,t2,80000790 + +800001ac : +800001ac: 00300193 li gp,3 +800001b0: 00100593 li a1,1 +800001b4: 00100613 li a2,1 +800001b8: 60c59733 rol a4,a1,a2 +800001bc: 00200393 li t2,2 +800001c0: 5c771863 bne a4,t2,80000790 + +800001c4 : +800001c4: 00400193 li gp,4 +800001c8: 00100593 li a1,1 +800001cc: 00700613 li a2,7 +800001d0: 60c59733 rol a4,a1,a2 +800001d4: 08000393 li t2,128 +800001d8: 5a771c63 bne a4,t2,80000790 + +800001dc : +800001dc: 00500193 li gp,5 +800001e0: 00100593 li a1,1 +800001e4: 00e00613 li a2,14 +800001e8: 60c59733 rol a4,a1,a2 +800001ec: 000043b7 lui t2,0x4 +800001f0: 5a771063 bne a4,t2,80000790 + +800001f4 : +800001f4: 00600193 li gp,6 +800001f8: 00100593 li a1,1 +800001fc: 01f00613 li a2,31 +80000200: 60c59733 rol a4,a1,a2 +80000204: 800003b7 lui t2,0x80000 +80000208: 58771463 bne a4,t2,80000790 + +8000020c : +8000020c: 00700193 li gp,7 +80000210: fff00593 li a1,-1 +80000214: 00000613 li a2,0 +80000218: 60c59733 rol a4,a1,a2 +8000021c: fff00393 li t2,-1 +80000220: 56771863 bne a4,t2,80000790 + +80000224 : +80000224: 00800193 li gp,8 +80000228: fff00593 li a1,-1 +8000022c: 00100613 li a2,1 +80000230: 60c59733 rol a4,a1,a2 +80000234: fff00393 li t2,-1 +80000238: 54771c63 bne a4,t2,80000790 + +8000023c : +8000023c: 00900193 li gp,9 +80000240: fff00593 li a1,-1 +80000244: 00700613 li a2,7 +80000248: 60c59733 rol a4,a1,a2 +8000024c: fff00393 li t2,-1 +80000250: 54771063 bne a4,t2,80000790 + +80000254 : +80000254: 00a00193 li gp,10 +80000258: fff00593 li a1,-1 +8000025c: 00e00613 li a2,14 +80000260: 60c59733 rol a4,a1,a2 +80000264: fff00393 li t2,-1 +80000268: 52771463 bne a4,t2,80000790 + +8000026c : +8000026c: 00b00193 li gp,11 +80000270: fff00593 li a1,-1 +80000274: 01f00613 li a2,31 +80000278: 60c59733 rol a4,a1,a2 +8000027c: fff00393 li t2,-1 +80000280: 50771863 bne a4,t2,80000790 + +80000284 : +80000284: 00c00193 li gp,12 +80000288: 212125b7 lui a1,0x21212 +8000028c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000290: 00000613 li a2,0 +80000294: 60c59733 rol a4,a1,a2 +80000298: 212123b7 lui t2,0x21212 +8000029c: 12138393 addi t2,t2,289 # 21212121 <_start-0x5edededf> +800002a0: 4e771863 bne a4,t2,80000790 + +800002a4 : +800002a4: 00d00193 li gp,13 +800002a8: 212125b7 lui a1,0x21212 +800002ac: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +800002b0: 00100613 li a2,1 +800002b4: 60c59733 rol a4,a1,a2 +800002b8: 424243b7 lui t2,0x42424 +800002bc: 24238393 addi t2,t2,578 # 42424242 <_start-0x3dbdbdbe> +800002c0: 4c771863 bne a4,t2,80000790 + +800002c4 : +800002c4: 00e00193 li gp,14 +800002c8: 212125b7 lui a1,0x21212 +800002cc: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +800002d0: 00700613 li a2,7 +800002d4: 60c59733 rol a4,a1,a2 +800002d8: 909093b7 lui t2,0x90909 +800002dc: 09038393 addi t2,t2,144 # 90909090 <_end+0x10907090> +800002e0: 4a771863 bne a4,t2,80000790 + +800002e4 : +800002e4: 00f00193 li gp,15 +800002e8: 212125b7 lui a1,0x21212 +800002ec: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +800002f0: 00e00613 li a2,14 +800002f4: 60c59733 rol a4,a1,a2 +800002f8: 484853b7 lui t2,0x48485 +800002fc: 84838393 addi t2,t2,-1976 # 48484848 <_start-0x37b7b7b8> +80000300: 48771863 bne a4,t2,80000790 + +80000304 : +80000304: 01000193 li gp,16 +80000308: 212125b7 lui a1,0x21212 +8000030c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000310: 01f00613 li a2,31 +80000314: 60c59733 rol a4,a1,a2 +80000318: 909093b7 lui t2,0x90909 +8000031c: 09038393 addi t2,t2,144 # 90909090 <_end+0x10907090> +80000320: 46771863 bne a4,t2,80000790 + +80000324 : +80000324: 01100193 li gp,17 +80000328: 212125b7 lui a1,0x21212 +8000032c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000330: fe000613 li a2,-32 +80000334: 60c59733 rol a4,a1,a2 +80000338: 212123b7 lui t2,0x21212 +8000033c: 12138393 addi t2,t2,289 # 21212121 <_start-0x5edededf> +80000340: 44771863 bne a4,t2,80000790 + +80000344 : +80000344: 01200193 li gp,18 +80000348: 212125b7 lui a1,0x21212 +8000034c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000350: fe100613 li a2,-31 +80000354: 60c59733 rol a4,a1,a2 +80000358: 424243b7 lui t2,0x42424 +8000035c: 24238393 addi t2,t2,578 # 42424242 <_start-0x3dbdbdbe> +80000360: 42771863 bne a4,t2,80000790 + +80000364 : +80000364: 01300193 li gp,19 +80000368: 212125b7 lui a1,0x21212 +8000036c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000370: fe700613 li a2,-25 +80000374: 60c59733 rol a4,a1,a2 +80000378: 909093b7 lui t2,0x90909 +8000037c: 09038393 addi t2,t2,144 # 90909090 <_end+0x10907090> +80000380: 40771863 bne a4,t2,80000790 + +80000384 : +80000384: 01400193 li gp,20 +80000388: 212125b7 lui a1,0x21212 +8000038c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000390: fee00613 li a2,-18 +80000394: 60c59733 rol a4,a1,a2 +80000398: 484853b7 lui t2,0x48485 +8000039c: 84838393 addi t2,t2,-1976 # 48484848 <_start-0x37b7b7b8> +800003a0: 3e771863 bne a4,t2,80000790 + +800003a4 : +800003a4: 01500193 li gp,21 +800003a8: 212125b7 lui a1,0x21212 +800003ac: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +800003b0: fff00613 li a2,-1 +800003b4: 60c59733 rol a4,a1,a2 +800003b8: 909093b7 lui t2,0x90909 +800003bc: 09038393 addi t2,t2,144 # 90909090 <_end+0x10907090> +800003c0: 3c771863 bne a4,t2,80000790 + +800003c4 : +800003c4: 02c00193 li gp,44 +800003c8: 123455b7 lui a1,0x12345 +800003cc: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988> +800003d0: 00000613 li a2,0 +800003d4: 60c59733 rol a4,a1,a2 +800003d8: 123453b7 lui t2,0x12345 +800003dc: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988> +800003e0: 3a771863 bne a4,t2,80000790 + +800003e4 : +800003e4: 02d00193 li gp,45 +800003e8: 123455b7 lui a1,0x12345 +800003ec: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988> +800003f0: 00400613 li a2,4 +800003f4: 60c59733 rol a4,a1,a2 +800003f8: 234563b7 lui t2,0x23456 +800003fc: 78138393 addi t2,t2,1921 # 23456781 <_start-0x5cba987f> +80000400: 38771863 bne a4,t2,80000790 + +80000404 : +80000404: 02e00193 li gp,46 +80000408: 923455b7 lui a1,0x92345 +8000040c: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678> +80000410: 00000613 li a2,0 +80000414: 60c59733 rol a4,a1,a2 +80000418: 923453b7 lui t2,0x92345 +8000041c: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678> +80000420: 36771863 bne a4,t2,80000790 + +80000424 : +80000424: 02f00193 li gp,47 +80000428: 993455b7 lui a1,0x99345 +8000042c: 67858593 addi a1,a1,1656 # 99345678 <_end+0x19343678> +80000430: 00400613 li a2,4 +80000434: 60c59733 rol a4,a1,a2 +80000438: 934563b7 lui t2,0x93456 +8000043c: 78938393 addi t2,t2,1929 # 93456789 <_end+0x13454789> +80000440: 34771863 bne a4,t2,80000790 + +80000444 : +80000444: 01600193 li gp,22 +80000448: 00100593 li a1,1 +8000044c: 00700613 li a2,7 +80000450: 60c595b3 rol a1,a1,a2 +80000454: 08000393 li t2,128 +80000458: 32759c63 bne a1,t2,80000790 + +8000045c : +8000045c: 01700193 li gp,23 +80000460: 00100593 li a1,1 +80000464: 00e00613 li a2,14 +80000468: 60c59633 rol a2,a1,a2 +8000046c: 000043b7 lui t2,0x4 +80000470: 32761063 bne a2,t2,80000790 + +80000474 : +80000474: 01800193 li gp,24 +80000478: 00300593 li a1,3 +8000047c: 60b595b3 rol a1,a1,a1 +80000480: 01800393 li t2,24 +80000484: 30759663 bne a1,t2,80000790 + +80000488 : +80000488: 01900193 li gp,25 +8000048c: 00000213 li tp,0 +80000490: 00100093 li ra,1 +80000494: 00700113 li sp,7 +80000498: 60209733 rol a4,ra,sp +8000049c: 00070313 mv t1,a4 +800004a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004a4: 00200293 li t0,2 +800004a8: fe5214e3 bne tp,t0,80000490 +800004ac: 08000393 li t2,128 +800004b0: 2e731063 bne t1,t2,80000790 + +800004b4 : +800004b4: 01a00193 li gp,26 +800004b8: 00000213 li tp,0 +800004bc: 00100093 li ra,1 +800004c0: 00e00113 li sp,14 +800004c4: 60209733 rol a4,ra,sp +800004c8: 00000013 nop +800004cc: 00070313 mv t1,a4 +800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004d4: 00200293 li t0,2 +800004d8: fe5212e3 bne tp,t0,800004bc +800004dc: 000043b7 lui t2,0x4 +800004e0: 2a731863 bne t1,t2,80000790 + +800004e4 : +800004e4: 01b00193 li gp,27 +800004e8: 00000213 li tp,0 +800004ec: 00100093 li ra,1 +800004f0: 01f00113 li sp,31 +800004f4: 60209733 rol a4,ra,sp +800004f8: 00000013 nop +800004fc: 00000013 nop +80000500: 00070313 mv t1,a4 +80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000508: 00200293 li t0,2 +8000050c: fe5210e3 bne tp,t0,800004ec +80000510: 800003b7 lui t2,0x80000 +80000514: 26731e63 bne t1,t2,80000790 + +80000518 : +80000518: 01c00193 li gp,28 +8000051c: 00000213 li tp,0 +80000520: 00100093 li ra,1 +80000524: 00700113 li sp,7 +80000528: 60209733 rol a4,ra,sp +8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000530: 00200293 li t0,2 +80000534: fe5216e3 bne tp,t0,80000520 +80000538: 08000393 li t2,128 +8000053c: 24771a63 bne a4,t2,80000790 + +80000540 : +80000540: 01d00193 li gp,29 +80000544: 00000213 li tp,0 +80000548: 00100093 li ra,1 +8000054c: 00e00113 li sp,14 +80000550: 00000013 nop +80000554: 60209733 rol a4,ra,sp +80000558: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000055c: 00200293 li t0,2 +80000560: fe5214e3 bne tp,t0,80000548 +80000564: 000043b7 lui t2,0x4 +80000568: 22771463 bne a4,t2,80000790 + +8000056c : +8000056c: 01e00193 li gp,30 +80000570: 00000213 li tp,0 +80000574: 00100093 li ra,1 +80000578: 01f00113 li sp,31 +8000057c: 00000013 nop +80000580: 00000013 nop +80000584: 60209733 rol a4,ra,sp +80000588: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000058c: 00200293 li t0,2 +80000590: fe5212e3 bne tp,t0,80000574 +80000594: 800003b7 lui t2,0x80000 +80000598: 1e771c63 bne a4,t2,80000790 + +8000059c : +8000059c: 01f00193 li gp,31 +800005a0: 00000213 li tp,0 +800005a4: 00100093 li ra,1 +800005a8: 00000013 nop +800005ac: 00700113 li sp,7 +800005b0: 60209733 rol a4,ra,sp +800005b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005b8: 00200293 li t0,2 +800005bc: fe5214e3 bne tp,t0,800005a4 +800005c0: 08000393 li t2,128 +800005c4: 1c771663 bne a4,t2,80000790 + +800005c8 : +800005c8: 02000193 li gp,32 +800005cc: 00000213 li tp,0 +800005d0: 00100093 li ra,1 +800005d4: 00000013 nop +800005d8: 00e00113 li sp,14 +800005dc: 00000013 nop +800005e0: 60209733 rol a4,ra,sp +800005e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005e8: 00200293 li t0,2 +800005ec: fe5212e3 bne tp,t0,800005d0 +800005f0: 000043b7 lui t2,0x4 +800005f4: 18771e63 bne a4,t2,80000790 + +800005f8 : +800005f8: 02100193 li gp,33 +800005fc: 00000213 li tp,0 +80000600: 00100093 li ra,1 +80000604: 00000013 nop +80000608: 00000013 nop +8000060c: 01f00113 li sp,31 +80000610: 60209733 rol a4,ra,sp +80000614: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000618: 00200293 li t0,2 +8000061c: fe5212e3 bne tp,t0,80000600 +80000620: 800003b7 lui t2,0x80000 +80000624: 16771663 bne a4,t2,80000790 + +80000628 : +80000628: 02200193 li gp,34 +8000062c: 00000213 li tp,0 +80000630: 00700113 li sp,7 +80000634: 00100093 li ra,1 +80000638: 60209733 rol a4,ra,sp +8000063c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000640: 00200293 li t0,2 +80000644: fe5216e3 bne tp,t0,80000630 +80000648: 08000393 li t2,128 +8000064c: 14771263 bne a4,t2,80000790 + +80000650 : +80000650: 02300193 li gp,35 +80000654: 00000213 li tp,0 +80000658: 00e00113 li sp,14 +8000065c: 00100093 li ra,1 +80000660: 00000013 nop +80000664: 60209733 rol a4,ra,sp +80000668: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000066c: 00200293 li t0,2 +80000670: fe5214e3 bne tp,t0,80000658 +80000674: 000043b7 lui t2,0x4 +80000678: 10771c63 bne a4,t2,80000790 + +8000067c : +8000067c: 02400193 li gp,36 +80000680: 00000213 li tp,0 +80000684: 01f00113 li sp,31 +80000688: 00100093 li ra,1 +8000068c: 00000013 nop +80000690: 00000013 nop +80000694: 60209733 rol a4,ra,sp +80000698: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000069c: 00200293 li t0,2 +800006a0: fe5212e3 bne tp,t0,80000684 +800006a4: 800003b7 lui t2,0x80000 +800006a8: 0e771463 bne a4,t2,80000790 + +800006ac : +800006ac: 02500193 li gp,37 +800006b0: 00000213 li tp,0 +800006b4: 00700113 li sp,7 +800006b8: 00000013 nop +800006bc: 00100093 li ra,1 +800006c0: 60209733 rol a4,ra,sp +800006c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800006c8: 00200293 li t0,2 +800006cc: fe5214e3 bne tp,t0,800006b4 +800006d0: 08000393 li t2,128 +800006d4: 0a771e63 bne a4,t2,80000790 + +800006d8 : +800006d8: 02600193 li gp,38 +800006dc: 00000213 li tp,0 +800006e0: 00e00113 li sp,14 +800006e4: 00000013 nop +800006e8: 00100093 li ra,1 +800006ec: 00000013 nop +800006f0: 60209733 rol a4,ra,sp +800006f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800006f8: 00200293 li t0,2 +800006fc: fe5212e3 bne tp,t0,800006e0 +80000700: 000043b7 lui t2,0x4 +80000704: 08771663 bne a4,t2,80000790 + +80000708 : +80000708: 02700193 li gp,39 +8000070c: 00000213 li tp,0 +80000710: 01f00113 li sp,31 +80000714: 00000013 nop +80000718: 00000013 nop +8000071c: 00100093 li ra,1 +80000720: 60209733 rol a4,ra,sp +80000724: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000728: 00200293 li t0,2 +8000072c: fe5212e3 bne tp,t0,80000710 +80000730: 800003b7 lui t2,0x80000 +80000734: 04771e63 bne a4,t2,80000790 + +80000738 : +80000738: 02800193 li gp,40 +8000073c: 00f00093 li ra,15 +80000740: 60101133 rol sp,zero,ra +80000744: 00000393 li t2,0 +80000748: 04711463 bne sp,t2,80000790 + +8000074c : +8000074c: 02900193 li gp,41 +80000750: 02000093 li ra,32 +80000754: 60009133 rol sp,ra,zero +80000758: 02000393 li t2,32 +8000075c: 02711a63 bne sp,t2,80000790 + +80000760 : +80000760: 02a00193 li gp,42 +80000764: 600010b3 rol ra,zero,zero +80000768: 00000393 li t2,0 +8000076c: 02709263 bne ra,t2,80000790 + +80000770 : +80000770: 02b00193 li gp,43 +80000774: 40000093 li ra,1024 +80000778: 00001137 lui sp,0x1 +8000077c: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800> +80000780: 60209033 rol zero,ra,sp +80000784: 00000393 li t2,0 +80000788: 00701463 bne zero,t2,80000790 +8000078c: 02301063 bne zero,gp,800007ac + +80000790 : +80000790: 0ff0000f fence +80000794: 00018063 beqz gp,80000794 +80000798: 00119193 slli gp,gp,0x1 +8000079c: 0011e193 ori gp,gp,1 +800007a0: 05d00893 li a7,93 +800007a4: 00018513 mv a0,gp +800007a8: 00000073 ecall + +800007ac : +800007ac: 0ff0000f fence +800007b0: 00100193 li gp,1 +800007b4: 05d00893 li a7,93 +800007b8: 00000513 li a0,0 +800007bc: 00000073 ecall +800007c0: c0001073 unimp +800007c4: 0000 .insn 2, 0x +800007c6: 0000 .insn 2, 0x +800007c8: 0000 .insn 2, 0x +800007ca: 0000 .insn 2, 0x +800007cc: 0000 .insn 2, 0x +800007ce: 0000 .insn 2, 0x +800007d0: 0000 .insn 2, 0x +800007d2: 0000 .insn 2, 0x +800007d4: 0000 .insn 2, 0x +800007d6: 0000 .insn 2, 0x +800007d8: 0000 .insn 2, 0x +800007da: 0000 .insn 2, 0x +800007dc: 0000 .insn 2, 0x +800007de: 0000 .insn 2, 0x +800007e0: 0000 .insn 2, 0x +800007e2: 0000 .insn 2, 0x +800007e4: 0000 .insn 2, 0x +800007e6: 0000 .insn 2, 0x +800007e8: 0000 .insn 2, 0x +800007ea: 0000 .insn 2, 0x +800007ec: 0000 .insn 2, 0x +800007ee: 0000 .insn 2, 0x +800007f0: 0000 .insn 2, 0x +800007f2: 0000 .insn 2, 0x +800007f4: 0000 .insn 2, 0x +800007f6: 0000 .insn 2, 0x +800007f8: 0000 .insn 2, 0x +800007fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rol.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rol.hex new file mode 100644 index 0000000..35361f8 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rol.hex @@ -0,0 +1,1559 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00100593 +00000613 +60c59733 +00100393 +5e771463 +00300193 +00100593 +00100613 +60c59733 +00200393 +5c771863 +00400193 +00100593 +00700613 +60c59733 +08000393 +5a771c63 +00500193 +00100593 +00e00613 +60c59733 +000043b7 +5a771063 +00600193 +00100593 +01f00613 +60c59733 +800003b7 +58771463 +00700193 +fff00593 +00000613 +60c59733 +fff00393 +56771863 +00800193 +fff00593 +00100613 +60c59733 +fff00393 +54771c63 +00900193 +fff00593 +00700613 +60c59733 +fff00393 +54771063 +00a00193 +fff00593 +00e00613 +60c59733 +fff00393 +52771463 +00b00193 +fff00593 +01f00613 +60c59733 +fff00393 +50771863 +00c00193 +212125b7 +12158593 +00000613 +60c59733 +212123b7 +12138393 +4e771863 +00d00193 +212125b7 +12158593 +00100613 +60c59733 +424243b7 +24238393 +4c771863 +00e00193 +212125b7 +12158593 +00700613 +60c59733 +909093b7 +09038393 +4a771863 +00f00193 +212125b7 +12158593 +00e00613 +60c59733 +484853b7 +84838393 +48771863 +01000193 +212125b7 +12158593 +01f00613 +60c59733 +909093b7 +09038393 +46771863 +01100193 +212125b7 +12158593 +fe000613 +60c59733 +212123b7 +12138393 +44771863 +01200193 +212125b7 +12158593 +fe100613 +60c59733 +424243b7 +24238393 +42771863 +01300193 +212125b7 +12158593 +fe700613 +60c59733 +909093b7 +09038393 +40771863 +01400193 +212125b7 +12158593 +fee00613 +60c59733 +484853b7 +84838393 +3e771863 +01500193 +212125b7 +12158593 +fff00613 +60c59733 +909093b7 +09038393 +3c771863 +02c00193 +123455b7 +67858593 +00000613 +60c59733 +123453b7 +67838393 +3a771863 +02d00193 +123455b7 +67858593 +00400613 +60c59733 +234563b7 +78138393 +38771863 +02e00193 +923455b7 +67858593 +00000613 +60c59733 +923453b7 +67838393 +36771863 +02f00193 +993455b7 +67858593 +00400613 +60c59733 +934563b7 +78938393 +34771863 +01600193 +00100593 +00700613 +60c595b3 +08000393 +32759c63 +01700193 +00100593 +00e00613 +60c59633 +000043b7 +32761063 +01800193 +00300593 +60b595b3 +01800393 +30759663 +01900193 +00000213 +00100093 +00700113 +60209733 +00070313 +00120213 +00200293 +fe5214e3 +08000393 +2e731063 +01a00193 +00000213 +00100093 +00e00113 +60209733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +000043b7 +2a731863 +01b00193 +00000213 +00100093 +01f00113 +60209733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +800003b7 +26731e63 +01c00193 +00000213 +00100093 +00700113 +60209733 +00120213 +00200293 +fe5216e3 +08000393 +24771a63 +01d00193 +00000213 +00100093 +00e00113 +00000013 +60209733 +00120213 +00200293 +fe5214e3 +000043b7 +22771463 +01e00193 +00000213 +00100093 +01f00113 +00000013 +00000013 +60209733 +00120213 +00200293 +fe5212e3 +800003b7 +1e771c63 +01f00193 +00000213 +00100093 +00000013 +00700113 +60209733 +00120213 +00200293 +fe5214e3 +08000393 +1c771663 +02000193 +00000213 +00100093 +00000013 +00e00113 +00000013 +60209733 +00120213 +00200293 +fe5212e3 +000043b7 +18771e63 +02100193 +00000213 +00100093 +00000013 +00000013 +01f00113 +60209733 +00120213 +00200293 +fe5212e3 +800003b7 +16771663 +02200193 +00000213 +00700113 +00100093 +60209733 +00120213 +00200293 +fe5216e3 +08000393 +14771263 +02300193 +00000213 +00e00113 +00100093 +00000013 +60209733 +00120213 +00200293 +fe5214e3 +000043b7 +10771c63 +02400193 +00000213 +01f00113 +00100093 +00000013 +00000013 +60209733 +00120213 +00200293 +fe5212e3 +800003b7 +0e771463 +02500193 +00000213 +00700113 +00000013 +00100093 +60209733 +00120213 +00200293 +fe5214e3 +08000393 +0a771e63 +02600193 +00000213 +00e00113 +00000013 +00100093 +00000013 +60209733 +00120213 +00200293 +fe5212e3 +000043b7 +08771663 +02700193 +00000213 +01f00113 +00000013 +00000013 +00100093 +60209733 +00120213 +00200293 +fe5212e3 +800003b7 +04771e63 +02800193 +00f00093 +60101133 +00000393 +04711463 +02900193 +02000093 +60009133 +02000393 +02711a63 +02a00193 +600010b3 +00000393 +02709263 +02b00193 +40000093 +00001137 +80010113 +60209033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000790 +00000000 +00010000 +000000a8 +800001ac +00000000 +00010000 +000000af +800001c4 +00000000 +00010000 +000000b6 +800001dc +00000000 +00010000 +000000bd +800001f4 +00000000 +00010000 +000000c4 +8000020c +00000000 +00010000 +000000cb +80000224 +00000000 +00010000 +000000d2 +8000023c +00000000 +00010000 +000000d9 +80000254 +00000000 +00010000 +000000e1 +8000026c +00000000 +00010000 +000000e9 +80000284 +00000000 +00010000 +000000f1 +800002a4 +00000000 +00010000 +000000f9 +800002c4 +00000000 +00010000 +00000101 +800002e4 +00000000 +00010000 +00000109 +80000304 +00000000 +00010000 +00000111 +80000324 +00000000 +00010000 +00000119 +80000344 +00000000 +00010000 +00000121 +80000364 +00000000 +00010000 +00000129 +80000384 +00000000 +00010000 +00000131 +800003a4 +00000000 +00010000 +00000139 +800003c4 +00000000 +00010000 +00000141 +800003e4 +00000000 +00010000 +00000149 +80000404 +00000000 +00010000 +00000151 +80000424 +00000000 +00010000 +00000159 +80000444 +00000000 +00010000 +00000161 +8000045c +00000000 +00010000 +00000169 +80000474 +00000000 +00010000 +00000171 +80000488 +00000000 +00010000 +00000179 +800004b4 +00000000 +00010000 +00000181 +800004e4 +00000000 +00010000 +00000189 +80000518 +00000000 +00010000 +00000191 +80000540 +00000000 +00010000 +00000199 +8000056c +00000000 +00010000 +000001a1 +8000059c +00000000 +00010000 +000001a9 +800005c8 +00000000 +00010000 +000001b1 +800005f8 +00000000 +00010000 +000001b9 +80000628 +00000000 +00010000 +000001c1 +80000650 +00000000 +00010000 +000001c9 +8000067c +00000000 +00010000 +000001d1 +800006ac +00000000 +00010000 +000001d9 +800006d8 +00000000 +00010000 +000001e1 +80000708 +00000000 +00010000 +000001e9 +80000738 +00000000 +00010000 +000001f1 +8000074c +00000000 +00010000 +000001f9 +80000760 +00000000 +00010000 +00000201 +80000770 +00000000 +00010000 +00000209 +800007ac +00000000 +00010000 +0000020e +80002000 +00000000 +00020010 +0000021c +80002000 +00000000 +00020010 +0000022c +80000000 +00000000 +00010010 +00000233 +80002000 +00000000 +00020010 +00000238 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +35636300 +49714a70 +006f2e56 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +34345f74 +73657400 +35345f74 +73657400 +36345f74 +73657400 +37345f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73657400 +30335f74 +73657400 +31335f74 +73657400 +32335f74 +73657400 +33335f74 +73657400 +34335f74 +73657400 +35335f74 +73657400 +36335f74 +73657400 +37335f74 +73657400 +38335f74 +73657400 +39335f74 +73657400 +30345f74 +73657400 +31345f74 +73657400 +32345f74 +73657400 +33345f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000007fc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +00000420 +00000005 +0000003c +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +000024c0 +00000241 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002701 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ror.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ror.dump new file mode 100644 index 0000000..122f10e --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ror.dump @@ -0,0 +1,598 @@ + +rv32uzbb-p-ror: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00100593 li a1,1 +8000019c: 00000613 li a2,0 +800001a0: 60c5d733 ror a4,a1,a2 +800001a4: 00100393 li t2,1 +800001a8: 56771463 bne a4,t2,80000710 + +800001ac : +800001ac: 00300193 li gp,3 +800001b0: 00100593 li a1,1 +800001b4: 00100613 li a2,1 +800001b8: 60c5d733 ror a4,a1,a2 +800001bc: 800003b7 lui t2,0x80000 +800001c0: 54771863 bne a4,t2,80000710 + +800001c4 : +800001c4: 00400193 li gp,4 +800001c8: 00100593 li a1,1 +800001cc: 00700613 li a2,7 +800001d0: 60c5d733 ror a4,a1,a2 +800001d4: 020003b7 lui t2,0x2000 +800001d8: 52771c63 bne a4,t2,80000710 + +800001dc : +800001dc: 00500193 li gp,5 +800001e0: 00100593 li a1,1 +800001e4: 00e00613 li a2,14 +800001e8: 60c5d733 ror a4,a1,a2 +800001ec: 000403b7 lui t2,0x40 +800001f0: 52771063 bne a4,t2,80000710 + +800001f4 : +800001f4: 00600193 li gp,6 +800001f8: 00100593 li a1,1 +800001fc: 01f00613 li a2,31 +80000200: 60c5d733 ror a4,a1,a2 +80000204: 00200393 li t2,2 +80000208: 50771463 bne a4,t2,80000710 + +8000020c : +8000020c: 00700193 li gp,7 +80000210: fff00593 li a1,-1 +80000214: 00000613 li a2,0 +80000218: 60c5d733 ror a4,a1,a2 +8000021c: fff00393 li t2,-1 +80000220: 4e771863 bne a4,t2,80000710 + +80000224 : +80000224: 00800193 li gp,8 +80000228: fff00593 li a1,-1 +8000022c: 00100613 li a2,1 +80000230: 60c5d733 ror a4,a1,a2 +80000234: fff00393 li t2,-1 +80000238: 4c771c63 bne a4,t2,80000710 + +8000023c : +8000023c: 00900193 li gp,9 +80000240: fff00593 li a1,-1 +80000244: 00700613 li a2,7 +80000248: 60c5d733 ror a4,a1,a2 +8000024c: fff00393 li t2,-1 +80000250: 4c771063 bne a4,t2,80000710 + +80000254 : +80000254: 00a00193 li gp,10 +80000258: fff00593 li a1,-1 +8000025c: 00e00613 li a2,14 +80000260: 60c5d733 ror a4,a1,a2 +80000264: fff00393 li t2,-1 +80000268: 4a771463 bne a4,t2,80000710 + +8000026c : +8000026c: 00b00193 li gp,11 +80000270: fff00593 li a1,-1 +80000274: 01f00613 li a2,31 +80000278: 60c5d733 ror a4,a1,a2 +8000027c: fff00393 li t2,-1 +80000280: 48771863 bne a4,t2,80000710 + +80000284 : +80000284: 00c00193 li gp,12 +80000288: 212125b7 lui a1,0x21212 +8000028c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000290: 00000613 li a2,0 +80000294: 60c5d733 ror a4,a1,a2 +80000298: 212123b7 lui t2,0x21212 +8000029c: 12138393 addi t2,t2,289 # 21212121 <_start-0x5edededf> +800002a0: 46771863 bne a4,t2,80000710 + +800002a4 : +800002a4: 00d00193 li gp,13 +800002a8: 212125b7 lui a1,0x21212 +800002ac: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +800002b0: 00100613 li a2,1 +800002b4: 60c5d733 ror a4,a1,a2 +800002b8: 909093b7 lui t2,0x90909 +800002bc: 09038393 addi t2,t2,144 # 90909090 <_end+0x10907090> +800002c0: 44771863 bne a4,t2,80000710 + +800002c4 : +800002c4: 00e00193 li gp,14 +800002c8: 212125b7 lui a1,0x21212 +800002cc: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +800002d0: 00700613 li a2,7 +800002d4: 60c5d733 ror a4,a1,a2 +800002d8: 424243b7 lui t2,0x42424 +800002dc: 24238393 addi t2,t2,578 # 42424242 <_start-0x3dbdbdbe> +800002e0: 42771863 bne a4,t2,80000710 + +800002e4 : +800002e4: 00f00193 li gp,15 +800002e8: 212125b7 lui a1,0x21212 +800002ec: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +800002f0: 00e00613 li a2,14 +800002f4: 60c5d733 ror a4,a1,a2 +800002f8: 848483b7 lui t2,0x84848 +800002fc: 48438393 addi t2,t2,1156 # 84848484 <_end+0x4846484> +80000300: 40771863 bne a4,t2,80000710 + +80000304 : +80000304: 01000193 li gp,16 +80000308: 212125b7 lui a1,0x21212 +8000030c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000310: 01f00613 li a2,31 +80000314: 60c5d733 ror a4,a1,a2 +80000318: 424243b7 lui t2,0x42424 +8000031c: 24238393 addi t2,t2,578 # 42424242 <_start-0x3dbdbdbe> +80000320: 3e771863 bne a4,t2,80000710 + +80000324 : +80000324: 01100193 li gp,17 +80000328: 212125b7 lui a1,0x21212 +8000032c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000330: fc000613 li a2,-64 +80000334: 60c5d733 ror a4,a1,a2 +80000338: 212123b7 lui t2,0x21212 +8000033c: 12138393 addi t2,t2,289 # 21212121 <_start-0x5edededf> +80000340: 3c771863 bne a4,t2,80000710 + +80000344 : +80000344: 01200193 li gp,18 +80000348: 212125b7 lui a1,0x21212 +8000034c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000350: fc100613 li a2,-63 +80000354: 60c5d733 ror a4,a1,a2 +80000358: 909093b7 lui t2,0x90909 +8000035c: 09038393 addi t2,t2,144 # 90909090 <_end+0x10907090> +80000360: 3a771863 bne a4,t2,80000710 + +80000364 : +80000364: 01300193 li gp,19 +80000368: 212125b7 lui a1,0x21212 +8000036c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000370: fc700613 li a2,-57 +80000374: 60c5d733 ror a4,a1,a2 +80000378: 424243b7 lui t2,0x42424 +8000037c: 24238393 addi t2,t2,578 # 42424242 <_start-0x3dbdbdbe> +80000380: 38771863 bne a4,t2,80000710 + +80000384 : +80000384: 01400193 li gp,20 +80000388: 212125b7 lui a1,0x21212 +8000038c: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +80000390: fce00613 li a2,-50 +80000394: 60c5d733 ror a4,a1,a2 +80000398: 848483b7 lui t2,0x84848 +8000039c: 48438393 addi t2,t2,1156 # 84848484 <_end+0x4846484> +800003a0: 36771863 bne a4,t2,80000710 + +800003a4 : +800003a4: 01500193 li gp,21 +800003a8: 212125b7 lui a1,0x21212 +800003ac: 12158593 addi a1,a1,289 # 21212121 <_start-0x5edededf> +800003b0: fff00613 li a2,-1 +800003b4: 60c5d733 ror a4,a1,a2 +800003b8: 424243b7 lui t2,0x42424 +800003bc: 24238393 addi t2,t2,578 # 42424242 <_start-0x3dbdbdbe> +800003c0: 34771863 bne a4,t2,80000710 + +800003c4 : +800003c4: 01600193 li gp,22 +800003c8: 00100593 li a1,1 +800003cc: 00700613 li a2,7 +800003d0: 60c5d5b3 ror a1,a1,a2 +800003d4: 020003b7 lui t2,0x2000 +800003d8: 32759c63 bne a1,t2,80000710 + +800003dc : +800003dc: 01700193 li gp,23 +800003e0: 00100593 li a1,1 +800003e4: 00e00613 li a2,14 +800003e8: 60c5d633 ror a2,a1,a2 +800003ec: 000403b7 lui t2,0x40 +800003f0: 32761063 bne a2,t2,80000710 + +800003f4 : +800003f4: 01800193 li gp,24 +800003f8: 00300593 li a1,3 +800003fc: 60b5d5b3 ror a1,a1,a1 +80000400: 600003b7 lui t2,0x60000 +80000404: 30759663 bne a1,t2,80000710 + +80000408 : +80000408: 01900193 li gp,25 +8000040c: 00000213 li tp,0 +80000410: 00100093 li ra,1 +80000414: 00700113 li sp,7 +80000418: 6020d733 ror a4,ra,sp +8000041c: 00070313 mv t1,a4 +80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000424: 00200293 li t0,2 +80000428: fe5214e3 bne tp,t0,80000410 +8000042c: 020003b7 lui t2,0x2000 +80000430: 2e731063 bne t1,t2,80000710 + +80000434 : +80000434: 01a00193 li gp,26 +80000438: 00000213 li tp,0 +8000043c: 00100093 li ra,1 +80000440: 00e00113 li sp,14 +80000444: 6020d733 ror a4,ra,sp +80000448: 00000013 nop +8000044c: 00070313 mv t1,a4 +80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000454: 00200293 li t0,2 +80000458: fe5212e3 bne tp,t0,8000043c +8000045c: 000403b7 lui t2,0x40 +80000460: 2a731863 bne t1,t2,80000710 + +80000464 : +80000464: 01b00193 li gp,27 +80000468: 00000213 li tp,0 +8000046c: 00100093 li ra,1 +80000470: 01f00113 li sp,31 +80000474: 6020d733 ror a4,ra,sp +80000478: 00000013 nop +8000047c: 00000013 nop +80000480: 00070313 mv t1,a4 +80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000488: 00200293 li t0,2 +8000048c: fe5210e3 bne tp,t0,8000046c +80000490: 00200393 li t2,2 +80000494: 26731e63 bne t1,t2,80000710 + +80000498 : +80000498: 01c00193 li gp,28 +8000049c: 00000213 li tp,0 +800004a0: 00100093 li ra,1 +800004a4: 00700113 li sp,7 +800004a8: 6020d733 ror a4,ra,sp +800004ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004b0: 00200293 li t0,2 +800004b4: fe5216e3 bne tp,t0,800004a0 +800004b8: 020003b7 lui t2,0x2000 +800004bc: 24771a63 bne a4,t2,80000710 + +800004c0 : +800004c0: 01d00193 li gp,29 +800004c4: 00000213 li tp,0 +800004c8: 00100093 li ra,1 +800004cc: 00e00113 li sp,14 +800004d0: 00000013 nop +800004d4: 6020d733 ror a4,ra,sp +800004d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004dc: 00200293 li t0,2 +800004e0: fe5214e3 bne tp,t0,800004c8 +800004e4: 000403b7 lui t2,0x40 +800004e8: 22771463 bne a4,t2,80000710 + +800004ec : +800004ec: 01e00193 li gp,30 +800004f0: 00000213 li tp,0 +800004f4: 00100093 li ra,1 +800004f8: 01f00113 li sp,31 +800004fc: 00000013 nop +80000500: 00000013 nop +80000504: 6020d733 ror a4,ra,sp +80000508: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000050c: 00200293 li t0,2 +80000510: fe5212e3 bne tp,t0,800004f4 +80000514: 00200393 li t2,2 +80000518: 1e771c63 bne a4,t2,80000710 + +8000051c : +8000051c: 01f00193 li gp,31 +80000520: 00000213 li tp,0 +80000524: 00100093 li ra,1 +80000528: 00000013 nop +8000052c: 00700113 li sp,7 +80000530: 6020d733 ror a4,ra,sp +80000534: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000538: 00200293 li t0,2 +8000053c: fe5214e3 bne tp,t0,80000524 +80000540: 020003b7 lui t2,0x2000 +80000544: 1c771663 bne a4,t2,80000710 + +80000548 : +80000548: 02000193 li gp,32 +8000054c: 00000213 li tp,0 +80000550: 00100093 li ra,1 +80000554: 00000013 nop +80000558: 00e00113 li sp,14 +8000055c: 00000013 nop +80000560: 6020d733 ror a4,ra,sp +80000564: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000568: 00200293 li t0,2 +8000056c: fe5212e3 bne tp,t0,80000550 +80000570: 000403b7 lui t2,0x40 +80000574: 18771e63 bne a4,t2,80000710 + +80000578 : +80000578: 02100193 li gp,33 +8000057c: 00000213 li tp,0 +80000580: 00100093 li ra,1 +80000584: 00000013 nop +80000588: 00000013 nop +8000058c: 01f00113 li sp,31 +80000590: 6020d733 ror a4,ra,sp +80000594: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000598: 00200293 li t0,2 +8000059c: fe5212e3 bne tp,t0,80000580 +800005a0: 00200393 li t2,2 +800005a4: 16771663 bne a4,t2,80000710 + +800005a8 : +800005a8: 02200193 li gp,34 +800005ac: 00000213 li tp,0 +800005b0: 00700113 li sp,7 +800005b4: 00100093 li ra,1 +800005b8: 6020d733 ror a4,ra,sp +800005bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005c0: 00200293 li t0,2 +800005c4: fe5216e3 bne tp,t0,800005b0 +800005c8: 020003b7 lui t2,0x2000 +800005cc: 14771263 bne a4,t2,80000710 + +800005d0 : +800005d0: 02300193 li gp,35 +800005d4: 00000213 li tp,0 +800005d8: 00e00113 li sp,14 +800005dc: 00100093 li ra,1 +800005e0: 00000013 nop +800005e4: 6020d733 ror a4,ra,sp +800005e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005ec: 00200293 li t0,2 +800005f0: fe5214e3 bne tp,t0,800005d8 +800005f4: 000403b7 lui t2,0x40 +800005f8: 10771c63 bne a4,t2,80000710 + +800005fc : +800005fc: 02400193 li gp,36 +80000600: 00000213 li tp,0 +80000604: 01f00113 li sp,31 +80000608: 00100093 li ra,1 +8000060c: 00000013 nop +80000610: 00000013 nop +80000614: 6020d733 ror a4,ra,sp +80000618: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000061c: 00200293 li t0,2 +80000620: fe5212e3 bne tp,t0,80000604 +80000624: 00200393 li t2,2 +80000628: 0e771463 bne a4,t2,80000710 + +8000062c : +8000062c: 02500193 li gp,37 +80000630: 00000213 li tp,0 +80000634: 00700113 li sp,7 +80000638: 00000013 nop +8000063c: 00100093 li ra,1 +80000640: 6020d733 ror a4,ra,sp +80000644: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000648: 00200293 li t0,2 +8000064c: fe5214e3 bne tp,t0,80000634 +80000650: 020003b7 lui t2,0x2000 +80000654: 0a771e63 bne a4,t2,80000710 + +80000658 : +80000658: 02600193 li gp,38 +8000065c: 00000213 li tp,0 +80000660: 00e00113 li sp,14 +80000664: 00000013 nop +80000668: 00100093 li ra,1 +8000066c: 00000013 nop +80000670: 6020d733 ror a4,ra,sp +80000674: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000678: 00200293 li t0,2 +8000067c: fe5212e3 bne tp,t0,80000660 +80000680: 000403b7 lui t2,0x40 +80000684: 08771663 bne a4,t2,80000710 + +80000688 : +80000688: 02700193 li gp,39 +8000068c: 00000213 li tp,0 +80000690: 01f00113 li sp,31 +80000694: 00000013 nop +80000698: 00000013 nop +8000069c: 00100093 li ra,1 +800006a0: 6020d733 ror a4,ra,sp +800006a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800006a8: 00200293 li t0,2 +800006ac: fe5212e3 bne tp,t0,80000690 +800006b0: 00200393 li t2,2 +800006b4: 04771e63 bne a4,t2,80000710 + +800006b8 : +800006b8: 02800193 li gp,40 +800006bc: 00f00093 li ra,15 +800006c0: 60105133 ror sp,zero,ra +800006c4: 00000393 li t2,0 +800006c8: 04711463 bne sp,t2,80000710 + +800006cc : +800006cc: 02900193 li gp,41 +800006d0: 02000093 li ra,32 +800006d4: 6000d133 ror sp,ra,zero +800006d8: 02000393 li t2,32 +800006dc: 02711a63 bne sp,t2,80000710 + +800006e0 : +800006e0: 02a00193 li gp,42 +800006e4: 600050b3 ror ra,zero,zero +800006e8: 00000393 li t2,0 +800006ec: 02709263 bne ra,t2,80000710 + +800006f0 : +800006f0: 02b00193 li gp,43 +800006f4: 40000093 li ra,1024 +800006f8: 00001137 lui sp,0x1 +800006fc: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800> +80000700: 6020d033 ror zero,ra,sp +80000704: 00000393 li t2,0 +80000708: 00701463 bne zero,t2,80000710 +8000070c: 02301063 bne zero,gp,8000072c + +80000710 : +80000710: 0ff0000f fence +80000714: 00018063 beqz gp,80000714 +80000718: 00119193 slli gp,gp,0x1 +8000071c: 0011e193 ori gp,gp,1 +80000720: 05d00893 li a7,93 +80000724: 00018513 mv a0,gp +80000728: 00000073 ecall + +8000072c : +8000072c: 0ff0000f fence +80000730: 00100193 li gp,1 +80000734: 05d00893 li a7,93 +80000738: 00000513 li a0,0 +8000073c: 00000073 ecall +80000740: c0001073 unimp +80000744: 0000 .insn 2, 0x +80000746: 0000 .insn 2, 0x +80000748: 0000 .insn 2, 0x +8000074a: 0000 .insn 2, 0x +8000074c: 0000 .insn 2, 0x +8000074e: 0000 .insn 2, 0x +80000750: 0000 .insn 2, 0x +80000752: 0000 .insn 2, 0x +80000754: 0000 .insn 2, 0x +80000756: 0000 .insn 2, 0x +80000758: 0000 .insn 2, 0x +8000075a: 0000 .insn 2, 0x +8000075c: 0000 .insn 2, 0x +8000075e: 0000 .insn 2, 0x +80000760: 0000 .insn 2, 0x +80000762: 0000 .insn 2, 0x +80000764: 0000 .insn 2, 0x +80000766: 0000 .insn 2, 0x +80000768: 0000 .insn 2, 0x +8000076a: 0000 .insn 2, 0x +8000076c: 0000 .insn 2, 0x +8000076e: 0000 .insn 2, 0x +80000770: 0000 .insn 2, 0x +80000772: 0000 .insn 2, 0x +80000774: 0000 .insn 2, 0x +80000776: 0000 .insn 2, 0x +80000778: 0000 .insn 2, 0x +8000077a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ror.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ror.hex new file mode 100644 index 0000000..ee5fb19 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-ror.hex @@ -0,0 +1,1535 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00100593 +00000613 +60c5d733 +00100393 +56771463 +00300193 +00100593 +00100613 +60c5d733 +800003b7 +54771863 +00400193 +00100593 +00700613 +60c5d733 +020003b7 +52771c63 +00500193 +00100593 +00e00613 +60c5d733 +000403b7 +52771063 +00600193 +00100593 +01f00613 +60c5d733 +00200393 +50771463 +00700193 +fff00593 +00000613 +60c5d733 +fff00393 +4e771863 +00800193 +fff00593 +00100613 +60c5d733 +fff00393 +4c771c63 +00900193 +fff00593 +00700613 +60c5d733 +fff00393 +4c771063 +00a00193 +fff00593 +00e00613 +60c5d733 +fff00393 +4a771463 +00b00193 +fff00593 +01f00613 +60c5d733 +fff00393 +48771863 +00c00193 +212125b7 +12158593 +00000613 +60c5d733 +212123b7 +12138393 +46771863 +00d00193 +212125b7 +12158593 +00100613 +60c5d733 +909093b7 +09038393 +44771863 +00e00193 +212125b7 +12158593 +00700613 +60c5d733 +424243b7 +24238393 +42771863 +00f00193 +212125b7 +12158593 +00e00613 +60c5d733 +848483b7 +48438393 +40771863 +01000193 +212125b7 +12158593 +01f00613 +60c5d733 +424243b7 +24238393 +3e771863 +01100193 +212125b7 +12158593 +fc000613 +60c5d733 +212123b7 +12138393 +3c771863 +01200193 +212125b7 +12158593 +fc100613 +60c5d733 +909093b7 +09038393 +3a771863 +01300193 +212125b7 +12158593 +fc700613 +60c5d733 +424243b7 +24238393 +38771863 +01400193 +212125b7 +12158593 +fce00613 +60c5d733 +848483b7 +48438393 +36771863 +01500193 +212125b7 +12158593 +fff00613 +60c5d733 +424243b7 +24238393 +34771863 +01600193 +00100593 +00700613 +60c5d5b3 +020003b7 +32759c63 +01700193 +00100593 +00e00613 +60c5d633 +000403b7 +32761063 +01800193 +00300593 +60b5d5b3 +600003b7 +30759663 +01900193 +00000213 +00100093 +00700113 +6020d733 +00070313 +00120213 +00200293 +fe5214e3 +020003b7 +2e731063 +01a00193 +00000213 +00100093 +00e00113 +6020d733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +000403b7 +2a731863 +01b00193 +00000213 +00100093 +01f00113 +6020d733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +00200393 +26731e63 +01c00193 +00000213 +00100093 +00700113 +6020d733 +00120213 +00200293 +fe5216e3 +020003b7 +24771a63 +01d00193 +00000213 +00100093 +00e00113 +00000013 +6020d733 +00120213 +00200293 +fe5214e3 +000403b7 +22771463 +01e00193 +00000213 +00100093 +01f00113 +00000013 +00000013 +6020d733 +00120213 +00200293 +fe5212e3 +00200393 +1e771c63 +01f00193 +00000213 +00100093 +00000013 +00700113 +6020d733 +00120213 +00200293 +fe5214e3 +020003b7 +1c771663 +02000193 +00000213 +00100093 +00000013 +00e00113 +00000013 +6020d733 +00120213 +00200293 +fe5212e3 +000403b7 +18771e63 +02100193 +00000213 +00100093 +00000013 +00000013 +01f00113 +6020d733 +00120213 +00200293 +fe5212e3 +00200393 +16771663 +02200193 +00000213 +00700113 +00100093 +6020d733 +00120213 +00200293 +fe5216e3 +020003b7 +14771263 +02300193 +00000213 +00e00113 +00100093 +00000013 +6020d733 +00120213 +00200293 +fe5214e3 +000403b7 +10771c63 +02400193 +00000213 +01f00113 +00100093 +00000013 +00000013 +6020d733 +00120213 +00200293 +fe5212e3 +00200393 +0e771463 +02500193 +00000213 +00700113 +00000013 +00100093 +6020d733 +00120213 +00200293 +fe5214e3 +020003b7 +0a771e63 +02600193 +00000213 +00e00113 +00000013 +00100093 +00000013 +6020d733 +00120213 +00200293 +fe5212e3 +000403b7 +08771663 +02700193 +00000213 +01f00113 +00000013 +00000013 +00100093 +6020d733 +00120213 +00200293 +fe5212e3 +00200393 +04771e63 +02800193 +00f00093 +60105133 +00000393 +04711463 +02900193 +02000093 +6000d133 +02000393 +02711a63 +02a00193 +600050b3 +00000393 +02709263 +02b00193 +40000093 +00001137 +80010113 +6020d033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000710 +00000000 +00010000 +000000a8 +800001ac +00000000 +00010000 +000000af +800001c4 +00000000 +00010000 +000000b6 +800001dc +00000000 +00010000 +000000bd +800001f4 +00000000 +00010000 +000000c4 +8000020c +00000000 +00010000 +000000cb +80000224 +00000000 +00010000 +000000d2 +8000023c +00000000 +00010000 +000000d9 +80000254 +00000000 +00010000 +000000e1 +8000026c +00000000 +00010000 +000000e9 +80000284 +00000000 +00010000 +000000f1 +800002a4 +00000000 +00010000 +000000f9 +800002c4 +00000000 +00010000 +00000101 +800002e4 +00000000 +00010000 +00000109 +80000304 +00000000 +00010000 +00000111 +80000324 +00000000 +00010000 +00000119 +80000344 +00000000 +00010000 +00000121 +80000364 +00000000 +00010000 +00000129 +80000384 +00000000 +00010000 +00000131 +800003a4 +00000000 +00010000 +00000139 +800003c4 +00000000 +00010000 +00000141 +800003dc +00000000 +00010000 +00000149 +800003f4 +00000000 +00010000 +00000151 +80000408 +00000000 +00010000 +00000159 +80000434 +00000000 +00010000 +00000161 +80000464 +00000000 +00010000 +00000169 +80000498 +00000000 +00010000 +00000171 +800004c0 +00000000 +00010000 +00000179 +800004ec +00000000 +00010000 +00000181 +8000051c +00000000 +00010000 +00000189 +80000548 +00000000 +00010000 +00000191 +80000578 +00000000 +00010000 +00000199 +800005a8 +00000000 +00010000 +000001a1 +800005d0 +00000000 +00010000 +000001a9 +800005fc +00000000 +00010000 +000001b1 +8000062c +00000000 +00010000 +000001b9 +80000658 +00000000 +00010000 +000001c1 +80000688 +00000000 +00010000 +000001c9 +800006b8 +00000000 +00010000 +000001d1 +800006cc +00000000 +00010000 +000001d9 +800006e0 +00000000 +00010000 +000001e1 +800006f0 +00000000 +00010000 +000001e9 +8000072c +00000000 +00010000 +000001ee +80002000 +00000000 +00020010 +000001fc +80002000 +00000000 +00020010 +0000020c +80000000 +00000000 +00010010 +00000213 +80002000 +00000000 +00020010 +00000218 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +73636300 +77444539 +006f2e67 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73657400 +30335f74 +73657400 +31335f74 +73657400 +32335f74 +73657400 +33335f74 +73657400 +34335f74 +73657400 +35335f74 +73657400 +36335f74 +73657400 +37335f74 +73657400 +38335f74 +73657400 +39335f74 +73657400 +30345f74 +73657400 +31345f74 +73657400 +32345f74 +73657400 +33345f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +0000077c +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000003e0 +00000005 +00000038 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002480 +00000221 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +000026a1 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rori.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rori.dump new file mode 100644 index 0000000..281df4e --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rori.dump @@ -0,0 +1,366 @@ + +rv32uzbb-p-rori: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00100693 li a3,1 +8000019c: 6006d713 rori a4,a3,0x0 +800001a0: 00100393 li t2,1 +800001a4: 26771e63 bne a4,t2,80000420 + +800001a8 : +800001a8: 00300193 li gp,3 +800001ac: 00100693 li a3,1 +800001b0: 6016d713 rori a4,a3,0x1 +800001b4: 800003b7 lui t2,0x80000 +800001b8: 26771463 bne a4,t2,80000420 + +800001bc : +800001bc: 00400193 li gp,4 +800001c0: 00100693 li a3,1 +800001c4: 6076d713 rori a4,a3,0x7 +800001c8: 020003b7 lui t2,0x2000 +800001cc: 24771a63 bne a4,t2,80000420 + +800001d0 : +800001d0: 00500193 li gp,5 +800001d4: 00100693 li a3,1 +800001d8: 60e6d713 rori a4,a3,0xe +800001dc: 000403b7 lui t2,0x40 +800001e0: 24771063 bne a4,t2,80000420 + +800001e4 : +800001e4: 00600193 li gp,6 +800001e8: 00100693 li a3,1 +800001ec: 61f6d713 rori a4,a3,0x1f +800001f0: 00200393 li t2,2 +800001f4: 22771663 bne a4,t2,80000420 + +800001f8 : +800001f8: 00700193 li gp,7 +800001fc: fff00693 li a3,-1 +80000200: 6006d713 rori a4,a3,0x0 +80000204: fff00393 li t2,-1 +80000208: 20771c63 bne a4,t2,80000420 + +8000020c : +8000020c: 00800193 li gp,8 +80000210: fff00693 li a3,-1 +80000214: 6016d713 rori a4,a3,0x1 +80000218: fff00393 li t2,-1 +8000021c: 20771263 bne a4,t2,80000420 + +80000220 : +80000220: 00900193 li gp,9 +80000224: fff00693 li a3,-1 +80000228: 6076d713 rori a4,a3,0x7 +8000022c: fff00393 li t2,-1 +80000230: 1e771863 bne a4,t2,80000420 + +80000234 : +80000234: 00a00193 li gp,10 +80000238: fff00693 li a3,-1 +8000023c: 60e6d713 rori a4,a3,0xe +80000240: fff00393 li t2,-1 +80000244: 1c771e63 bne a4,t2,80000420 + +80000248 : +80000248: 00b00193 li gp,11 +8000024c: fff00693 li a3,-1 +80000250: 61f6d713 rori a4,a3,0x1f +80000254: fff00393 li t2,-1 +80000258: 1c771463 bne a4,t2,80000420 + +8000025c : +8000025c: 00c00193 li gp,12 +80000260: 212126b7 lui a3,0x21212 +80000264: 12168693 addi a3,a3,289 # 21212121 <_start-0x5edededf> +80000268: 6006d713 rori a4,a3,0x0 +8000026c: 212123b7 lui t2,0x21212 +80000270: 12138393 addi t2,t2,289 # 21212121 <_start-0x5edededf> +80000274: 1a771663 bne a4,t2,80000420 + +80000278 : +80000278: 00d00193 li gp,13 +8000027c: 212126b7 lui a3,0x21212 +80000280: 12168693 addi a3,a3,289 # 21212121 <_start-0x5edededf> +80000284: 6016d713 rori a4,a3,0x1 +80000288: 909093b7 lui t2,0x90909 +8000028c: 09038393 addi t2,t2,144 # 90909090 <_end+0x10907090> +80000290: 18771863 bne a4,t2,80000420 + +80000294 : +80000294: 00e00193 li gp,14 +80000298: 212126b7 lui a3,0x21212 +8000029c: 12168693 addi a3,a3,289 # 21212121 <_start-0x5edededf> +800002a0: 6076d713 rori a4,a3,0x7 +800002a4: 424243b7 lui t2,0x42424 +800002a8: 24238393 addi t2,t2,578 # 42424242 <_start-0x3dbdbdbe> +800002ac: 16771a63 bne a4,t2,80000420 + +800002b0 : +800002b0: 00f00193 li gp,15 +800002b4: 212126b7 lui a3,0x21212 +800002b8: 12168693 addi a3,a3,289 # 21212121 <_start-0x5edededf> +800002bc: 60e6d713 rori a4,a3,0xe +800002c0: 848483b7 lui t2,0x84848 +800002c4: 48438393 addi t2,t2,1156 # 84848484 <_end+0x4846484> +800002c8: 14771c63 bne a4,t2,80000420 + +800002cc : +800002cc: 01000193 li gp,16 +800002d0: 212126b7 lui a3,0x21212 +800002d4: 12168693 addi a3,a3,289 # 21212121 <_start-0x5edededf> +800002d8: 61f6d713 rori a4,a3,0x1f +800002dc: 424243b7 lui t2,0x42424 +800002e0: 24238393 addi t2,t2,578 # 42424242 <_start-0x3dbdbdbe> +800002e4: 12771e63 bne a4,t2,80000420 + +800002e8 : +800002e8: 01400193 li gp,20 +800002ec: 00100593 li a1,1 +800002f0: 6075d593 rori a1,a1,0x7 +800002f4: 020003b7 lui t2,0x2000 +800002f8: 12759463 bne a1,t2,80000420 + +800002fc : +800002fc: 01500193 li gp,21 +80000300: 00000213 li tp,0 +80000304: 00100093 li ra,1 +80000308: 6070d713 rori a4,ra,0x7 +8000030c: 00070313 mv t1,a4 +80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000314: 00200293 li t0,2 +80000318: fe5216e3 bne tp,t0,80000304 +8000031c: 020003b7 lui t2,0x2000 +80000320: 10731063 bne t1,t2,80000420 + +80000324 : +80000324: 01600193 li gp,22 +80000328: 00000213 li tp,0 +8000032c: 00100093 li ra,1 +80000330: 60e0d713 rori a4,ra,0xe +80000334: 00000013 nop +80000338: 00070313 mv t1,a4 +8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000340: 00200293 li t0,2 +80000344: fe5214e3 bne tp,t0,8000032c +80000348: 000403b7 lui t2,0x40 +8000034c: 0c731a63 bne t1,t2,80000420 + +80000350 : +80000350: 01700193 li gp,23 +80000354: 00000213 li tp,0 +80000358: 00100093 li ra,1 +8000035c: 61f0d713 rori a4,ra,0x1f +80000360: 00000013 nop +80000364: 00000013 nop +80000368: 00070313 mv t1,a4 +8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000370: 00200293 li t0,2 +80000374: fe5212e3 bne tp,t0,80000358 +80000378: 00200393 li t2,2 +8000037c: 0a731263 bne t1,t2,80000420 + +80000380 : +80000380: 01800193 li gp,24 +80000384: 00000213 li tp,0 +80000388: 00100093 li ra,1 +8000038c: 6070d713 rori a4,ra,0x7 +80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000394: 00200293 li t0,2 +80000398: fe5218e3 bne tp,t0,80000388 +8000039c: 020003b7 lui t2,0x2000 +800003a0: 08771063 bne a4,t2,80000420 + +800003a4 : +800003a4: 01900193 li gp,25 +800003a8: 00000213 li tp,0 +800003ac: 00100093 li ra,1 +800003b0: 00000013 nop +800003b4: 60e0d713 rori a4,ra,0xe +800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003bc: 00200293 li t0,2 +800003c0: fe5216e3 bne tp,t0,800003ac +800003c4: 000403b7 lui t2,0x40 +800003c8: 04771c63 bne a4,t2,80000420 + +800003cc : +800003cc: 01a00193 li gp,26 +800003d0: 00000213 li tp,0 +800003d4: 00100093 li ra,1 +800003d8: 00000013 nop +800003dc: 00000013 nop +800003e0: 61f0d713 rori a4,ra,0x1f +800003e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003e8: 00200293 li t0,2 +800003ec: fe5214e3 bne tp,t0,800003d4 +800003f0: 00200393 li t2,2 +800003f4: 02771663 bne a4,t2,80000420 + +800003f8 : +800003f8: 01b00193 li gp,27 +800003fc: 61f05093 rori ra,zero,0x1f +80000400: 00000393 li t2,0 +80000404: 00709e63 bne ra,t2,80000420 + +80000408 : +80000408: 01c00193 li gp,28 +8000040c: 02100093 li ra,33 +80000410: 6140d013 rori zero,ra,0x14 +80000414: 00000393 li t2,0 +80000418: 00701463 bne zero,t2,80000420 +8000041c: 02301063 bne zero,gp,8000043c + +80000420 : +80000420: 0ff0000f fence +80000424: 00018063 beqz gp,80000424 +80000428: 00119193 slli gp,gp,0x1 +8000042c: 0011e193 ori gp,gp,1 +80000430: 05d00893 li a7,93 +80000434: 00018513 mv a0,gp +80000438: 00000073 ecall + +8000043c : +8000043c: 0ff0000f fence +80000440: 00100193 li gp,1 +80000444: 05d00893 li a7,93 +80000448: 00000513 li a0,0 +8000044c: 00000073 ecall +80000450: c0001073 unimp +80000454: 0000 .insn 2, 0x +80000456: 0000 .insn 2, 0x +80000458: 0000 .insn 2, 0x +8000045a: 0000 .insn 2, 0x +8000045c: 0000 .insn 2, 0x +8000045e: 0000 .insn 2, 0x +80000460: 0000 .insn 2, 0x +80000462: 0000 .insn 2, 0x +80000464: 0000 .insn 2, 0x +80000466: 0000 .insn 2, 0x +80000468: 0000 .insn 2, 0x +8000046a: 0000 .insn 2, 0x +8000046c: 0000 .insn 2, 0x +8000046e: 0000 .insn 2, 0x +80000470: 0000 .insn 2, 0x +80000472: 0000 .insn 2, 0x +80000474: 0000 .insn 2, 0x +80000476: 0000 .insn 2, 0x +80000478: 0000 .insn 2, 0x +8000047a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rori.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rori.hex new file mode 100644 index 0000000..185e32c --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-rori.hex @@ -0,0 +1,1427 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00100693 +6006d713 +00100393 +26771e63 +00300193 +00100693 +6016d713 +800003b7 +26771463 +00400193 +00100693 +6076d713 +020003b7 +24771a63 +00500193 +00100693 +60e6d713 +000403b7 +24771063 +00600193 +00100693 +61f6d713 +00200393 +22771663 +00700193 +fff00693 +6006d713 +fff00393 +20771c63 +00800193 +fff00693 +6016d713 +fff00393 +20771263 +00900193 +fff00693 +6076d713 +fff00393 +1e771863 +00a00193 +fff00693 +60e6d713 +fff00393 +1c771e63 +00b00193 +fff00693 +61f6d713 +fff00393 +1c771463 +00c00193 +212126b7 +12168693 +6006d713 +212123b7 +12138393 +1a771663 +00d00193 +212126b7 +12168693 +6016d713 +909093b7 +09038393 +18771863 +00e00193 +212126b7 +12168693 +6076d713 +424243b7 +24238393 +16771a63 +00f00193 +212126b7 +12168693 +60e6d713 +848483b7 +48438393 +14771c63 +01000193 +212126b7 +12168693 +61f6d713 +424243b7 +24238393 +12771e63 +01400193 +00100593 +6075d593 +020003b7 +12759463 +01500193 +00000213 +00100093 +6070d713 +00070313 +00120213 +00200293 +fe5216e3 +020003b7 +10731063 +01600193 +00000213 +00100093 +60e0d713 +00000013 +00070313 +00120213 +00200293 +fe5214e3 +000403b7 +0c731a63 +01700193 +00000213 +00100093 +61f0d713 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +00200393 +0a731263 +01800193 +00000213 +00100093 +6070d713 +00120213 +00200293 +fe5218e3 +020003b7 +08771063 +01900193 +00000213 +00100093 +00000013 +60e0d713 +00120213 +00200293 +fe5216e3 +000403b7 +04771c63 +01a00193 +00000213 +00100093 +00000013 +00000013 +61f0d713 +00120213 +00200293 +fe5214e3 +00200393 +02771663 +01b00193 +61f05093 +00000393 +00709e63 +01c00193 +02100093 +6140d013 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000420 +00000000 +00010000 +000000a8 +800001a8 +00000000 +00010000 +000000af +800001bc +00000000 +00010000 +000000b6 +800001d0 +00000000 +00010000 +000000bd +800001e4 +00000000 +00010000 +000000c4 +800001f8 +00000000 +00010000 +000000cb +8000020c +00000000 +00010000 +000000d2 +80000220 +00000000 +00010000 +000000d9 +80000234 +00000000 +00010000 +000000e1 +80000248 +00000000 +00010000 +000000e9 +8000025c +00000000 +00010000 +000000f1 +80000278 +00000000 +00010000 +000000f9 +80000294 +00000000 +00010000 +00000101 +800002b0 +00000000 +00010000 +00000109 +800002cc +00000000 +00010000 +00000111 +800002e8 +00000000 +00010000 +00000119 +800002fc +00000000 +00010000 +00000121 +80000324 +00000000 +00010000 +00000129 +80000350 +00000000 +00010000 +00000131 +80000380 +00000000 +00010000 +00000139 +800003a4 +00000000 +00010000 +00000141 +800003cc +00000000 +00010000 +00000149 +800003f8 +00000000 +00010000 +00000151 +80000408 +00000000 +00010000 +00000159 +8000043c +00000000 +00010000 +0000015e +80002000 +00000000 +00020010 +0000016c +80002000 +00000000 +00020010 +0000017c +80000000 +00000000 +00010010 +00000183 +80002000 +00000000 +00020010 +00000188 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +7a636300 +636f757a +006f2e58 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +0000047c +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002c0 +00000005 +00000026 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002360 +00000191 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +000024f1 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_b.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_b.dump new file mode 100644 index 0000000..5b85b53 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_b.dump @@ -0,0 +1,348 @@ + +rv32uzbb-p-sext_b: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000093 li ra,0 +8000019c: 60409713 sext.b a4,ra +800001a0: 00000393 li t2,0 +800001a4: 24771663 bne a4,t2,800003f0 + +800001a8 : +800001a8: 00300193 li gp,3 +800001ac: 00100093 li ra,1 +800001b0: 60409713 sext.b a4,ra +800001b4: 00100393 li t2,1 +800001b8: 22771c63 bne a4,t2,800003f0 + +800001bc : +800001bc: 00400193 li gp,4 +800001c0: 00300093 li ra,3 +800001c4: 60409713 sext.b a4,ra +800001c8: 00300393 li t2,3 +800001cc: 22771263 bne a4,t2,800003f0 + +800001d0 : +800001d0: 00500193 li gp,5 +800001d4: ffff80b7 lui ra,0xffff8 +800001d8: 60409713 sext.b a4,ra +800001dc: 00000393 li t2,0 +800001e0: 20771863 bne a4,t2,800003f0 + +800001e4 : +800001e4: 00600193 li gp,6 +800001e8: 008000b7 lui ra,0x800 +800001ec: 60409713 sext.b a4,ra +800001f0: 00000393 li t2,0 +800001f4: 1e771e63 bne a4,t2,800003f0 + +800001f8 : +800001f8: 00700193 li gp,7 +800001fc: ffff80b7 lui ra,0xffff8 +80000200: 60409713 sext.b a4,ra +80000204: 00000393 li t2,0 +80000208: 1e771463 bne a4,t2,800003f0 + +8000020c : +8000020c: 00800193 li gp,8 +80000210: 000080b7 lui ra,0x8 +80000214: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +80000218: 60409713 sext.b a4,ra +8000021c: fff00393 li t2,-1 +80000220: 1c771863 bne a4,t2,800003f0 + +80000224 : +80000224: 00900193 li gp,9 +80000228: 800000b7 lui ra,0x80000 +8000022c: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +80000230: 60409713 sext.b a4,ra +80000234: fff00393 li t2,-1 +80000238: 1a771c63 bne a4,t2,800003f0 + +8000023c : +8000023c: 00a00193 li gp,10 +80000240: 000800b7 lui ra,0x80 +80000244: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +80000248: 60409713 sext.b a4,ra +8000024c: fff00393 li t2,-1 +80000250: 1a771063 bne a4,t2,800003f0 + +80000254 : +80000254: 00b00193 li gp,11 +80000258: 800000b7 lui ra,0x80000 +8000025c: 60409713 sext.b a4,ra +80000260: 00000393 li t2,0 +80000264: 18771663 bne a4,t2,800003f0 + +80000268 : +80000268: 00c00193 li gp,12 +8000026c: 121f50b7 lui ra,0x121f5 +80000270: 60409713 sext.b a4,ra +80000274: 00000393 li t2,0 +80000278: 16771c63 bne a4,t2,800003f0 + +8000027c : +8000027c: 00d00193 li gp,13 +80000280: 000000b7 lui ra,0x0 +80000284: 60409713 sext.b a4,ra +80000288: 00000393 li t2,0 +8000028c: 16771263 bne a4,t2,800003f0 + +80000290 : +80000290: 00e00193 li gp,14 +80000294: 00e00093 li ra,14 +80000298: 60409713 sext.b a4,ra +8000029c: 00e00393 li t2,14 +800002a0: 14771863 bne a4,t2,800003f0 + +800002a4 : +800002a4: 00f00193 li gp,15 +800002a8: 204010b7 lui ra,0x20401 +800002ac: 34108093 addi ra,ra,833 # 20401341 <_start-0x5fbfecbf> +800002b0: 60409713 sext.b a4,ra +800002b4: 04100393 li t2,65 +800002b8: 12771c63 bne a4,t2,800003f0 + +800002bc : +800002bc: 01000193 li gp,16 +800002c0: 00d00093 li ra,13 +800002c4: 60409093 sext.b ra,ra +800002c8: 00d00393 li t2,13 +800002cc: 12709263 bne ra,t2,800003f0 + +800002d0 : +800002d0: 01100193 li gp,17 +800002d4: 00b00093 li ra,11 +800002d8: 60409093 sext.b ra,ra +800002dc: 00b00393 li t2,11 +800002e0: 10709863 bne ra,t2,800003f0 + +800002e4 : +800002e4: 01200193 li gp,18 +800002e8: 00000213 li tp,0 +800002ec: 00d00093 li ra,13 +800002f0: 60409713 sext.b a4,ra +800002f4: 00070313 mv t1,a4 +800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002fc: 00200293 li t0,2 +80000300: fe5216e3 bne tp,t0,800002ec +80000304: 00d00393 li t2,13 +80000308: 0e731463 bne t1,t2,800003f0 + +8000030c : +8000030c: 01d00193 li gp,29 +80000310: 00000213 li tp,0 +80000314: 01300093 li ra,19 +80000318: 60409713 sext.b a4,ra +8000031c: 00000013 nop +80000320: 00070313 mv t1,a4 +80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000328: 00200293 li t0,2 +8000032c: fe5214e3 bne tp,t0,80000314 +80000330: 01300393 li t2,19 +80000334: 0a731e63 bne t1,t2,800003f0 + +80000338 : +80000338: 01400193 li gp,20 +8000033c: 00000213 li tp,0 +80000340: 02200093 li ra,34 +80000344: 60409713 sext.b a4,ra +80000348: 00000013 nop +8000034c: 00000013 nop +80000350: 00070313 mv t1,a4 +80000354: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000358: 00200293 li t0,2 +8000035c: fe5212e3 bne tp,t0,80000340 +80000360: 02200393 li t2,34 +80000364: 08731663 bne t1,t2,800003f0 + +80000368 : +80000368: 01500193 li gp,21 +8000036c: 007f80b7 lui ra,0x7f8 +80000370: 60409713 sext.b a4,ra +80000374: 00000393 li t2,0 +80000378: 06771c63 bne a4,t2,800003f0 + +8000037c : +8000037c: 01600193 li gp,22 +80000380: 008080b7 lui ra,0x808 +80000384: 60409713 sext.b a4,ra +80000388: 00000393 li t2,0 +8000038c: 06771263 bne a4,t2,800003f0 + +80000390 : +80000390: 01700193 li gp,23 +80000394: 018080b7 lui ra,0x1808 +80000398: 60409713 sext.b a4,ra +8000039c: 00000393 li t2,0 +800003a0: 04771863 bne a4,t2,800003f0 + +800003a4 : +800003a4: 01800193 li gp,24 +800003a8: 000080b7 lui ra,0x8 +800003ac: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +800003b0: 60409713 sext.b a4,ra +800003b4: fff00393 li t2,-1 +800003b8: 02771c63 bne a4,t2,800003f0 + +800003bc : +800003bc: 01900193 li gp,25 +800003c0: 800000b7 lui ra,0x80000 +800003c4: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +800003c8: 60409713 sext.b a4,ra +800003cc: fff00393 li t2,-1 +800003d0: 02771063 bne a4,t2,800003f0 + +800003d4 : +800003d4: 01a00193 li gp,26 +800003d8: 000800b7 lui ra,0x80 +800003dc: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +800003e0: 60409713 sext.b a4,ra +800003e4: fff00393 li t2,-1 +800003e8: 00771463 bne a4,t2,800003f0 +800003ec: 02301063 bne zero,gp,8000040c + +800003f0 : +800003f0: 0ff0000f fence +800003f4: 00018063 beqz gp,800003f4 +800003f8: 00119193 slli gp,gp,0x1 +800003fc: 0011e193 ori gp,gp,1 +80000400: 05d00893 li a7,93 +80000404: 00018513 mv a0,gp +80000408: 00000073 ecall + +8000040c : +8000040c: 0ff0000f fence +80000410: 00100193 li gp,1 +80000414: 05d00893 li a7,93 +80000418: 00000513 li a0,0 +8000041c: 00000073 ecall +80000420: c0001073 unimp +80000424: 0000 .insn 2, 0x +80000426: 0000 .insn 2, 0x +80000428: 0000 .insn 2, 0x +8000042a: 0000 .insn 2, 0x +8000042c: 0000 .insn 2, 0x +8000042e: 0000 .insn 2, 0x +80000430: 0000 .insn 2, 0x +80000432: 0000 .insn 2, 0x +80000434: 0000 .insn 2, 0x +80000436: 0000 .insn 2, 0x +80000438: 0000 .insn 2, 0x +8000043a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_b.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_b.hex new file mode 100644 index 0000000..380ac4a --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_b.hex @@ -0,0 +1,1433 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000093 +60409713 +00000393 +24771663 +00300193 +00100093 +60409713 +00100393 +22771c63 +00400193 +00300093 +60409713 +00300393 +22771263 +00500193 +ffff80b7 +60409713 +00000393 +20771863 +00600193 +008000b7 +60409713 +00000393 +1e771e63 +00700193 +ffff80b7 +60409713 +00000393 +1e771463 +00800193 +000080b7 +fff08093 +60409713 +fff00393 +1c771863 +00900193 +800000b7 +fff08093 +60409713 +fff00393 +1a771c63 +00a00193 +000800b7 +fff08093 +60409713 +fff00393 +1a771063 +00b00193 +800000b7 +60409713 +00000393 +18771663 +00c00193 +121f50b7 +60409713 +00000393 +16771c63 +00d00193 +000000b7 +60409713 +00000393 +16771263 +00e00193 +00e00093 +60409713 +00e00393 +14771863 +00f00193 +204010b7 +34108093 +60409713 +04100393 +12771c63 +01000193 +00d00093 +60409093 +00d00393 +12709263 +01100193 +00b00093 +60409093 +00b00393 +10709863 +01200193 +00000213 +00d00093 +60409713 +00070313 +00120213 +00200293 +fe5216e3 +00d00393 +0e731463 +01d00193 +00000213 +01300093 +60409713 +00000013 +00070313 +00120213 +00200293 +fe5214e3 +01300393 +0a731e63 +01400193 +00000213 +02200093 +60409713 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +02200393 +08731663 +01500193 +007f80b7 +60409713 +00000393 +06771c63 +01600193 +008080b7 +60409713 +00000393 +06771263 +01700193 +018080b7 +60409713 +00000393 +04771863 +01800193 +000080b7 +fff08093 +60409713 +fff00393 +02771c63 +01900193 +800000b7 +fff08093 +60409713 +fff00393 +02771063 +01a00193 +000800b7 +fff08093 +60409713 +fff00393 +00771463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +800003f0 +00000000 +00010000 +000000a8 +800001a8 +00000000 +00010000 +000000af +800001bc +00000000 +00010000 +000000b6 +800001d0 +00000000 +00010000 +000000bd +800001e4 +00000000 +00010000 +000000c4 +800001f8 +00000000 +00010000 +000000cb +8000020c +00000000 +00010000 +000000d2 +80000224 +00000000 +00010000 +000000d9 +8000023c +00000000 +00010000 +000000e1 +80000254 +00000000 +00010000 +000000e9 +80000268 +00000000 +00010000 +000000f1 +8000027c +00000000 +00010000 +000000f9 +80000290 +00000000 +00010000 +00000101 +800002a4 +00000000 +00010000 +00000109 +800002bc +00000000 +00010000 +00000111 +800002d0 +00000000 +00010000 +00000119 +800002e4 +00000000 +00010000 +00000121 +8000030c +00000000 +00010000 +00000129 +80000338 +00000000 +00010000 +00000131 +80000368 +00000000 +00010000 +00000139 +8000037c +00000000 +00010000 +00000141 +80000390 +00000000 +00010000 +00000149 +800003a4 +00000000 +00010000 +00000151 +800003bc +00000000 +00010000 +00000159 +800003d4 +00000000 +00010000 +00000161 +8000040c +00000000 +00010000 +00000166 +80002000 +00000000 +00020010 +00000174 +80002000 +00000000 +00020010 +00000184 +80000000 +00000000 +00010010 +0000018b +80002000 +00000000 +00020010 +00000190 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +79636300 +35397750 +006f2e6c +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39325f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +0000043c +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002d0 +00000005 +00000027 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002370 +00000199 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002509 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_h.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_h.dump new file mode 100644 index 0000000..e64dc75 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_h.dump @@ -0,0 +1,345 @@ + +rv32uzbb-p-sext_h: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000093 li ra,0 +8000019c: 60509713 sext.h a4,ra +800001a0: 00000393 li t2,0 +800001a4: 24771c63 bne a4,t2,800003fc + +800001a8 : +800001a8: 00300193 li gp,3 +800001ac: 00100093 li ra,1 +800001b0: 60509713 sext.h a4,ra +800001b4: 00100393 li t2,1 +800001b8: 24771263 bne a4,t2,800003fc + +800001bc : +800001bc: 00400193 li gp,4 +800001c0: 00300093 li ra,3 +800001c4: 60509713 sext.h a4,ra +800001c8: 00300393 li t2,3 +800001cc: 22771863 bne a4,t2,800003fc + +800001d0 : +800001d0: 00500193 li gp,5 +800001d4: ffff80b7 lui ra,0xffff8 +800001d8: 60509713 sext.h a4,ra +800001dc: ffff83b7 lui t2,0xffff8 +800001e0: 20771e63 bne a4,t2,800003fc + +800001e4 : +800001e4: 00600193 li gp,6 +800001e8: 008000b7 lui ra,0x800 +800001ec: 60509713 sext.h a4,ra +800001f0: 00000393 li t2,0 +800001f4: 20771463 bne a4,t2,800003fc + +800001f8 : +800001f8: 00700193 li gp,7 +800001fc: ffff80b7 lui ra,0xffff8 +80000200: 60509713 sext.h a4,ra +80000204: ffff83b7 lui t2,0xffff8 +80000208: 1e771a63 bne a4,t2,800003fc + +8000020c : +8000020c: 00800193 li gp,8 +80000210: 000080b7 lui ra,0x8 +80000214: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +80000218: 60509713 sext.h a4,ra +8000021c: 000083b7 lui t2,0x8 +80000220: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +80000224: 1c771c63 bne a4,t2,800003fc + +80000228 : +80000228: 00900193 li gp,9 +8000022c: 800000b7 lui ra,0x80000 +80000230: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +80000234: 60509713 sext.h a4,ra +80000238: fff00393 li t2,-1 +8000023c: 1c771063 bne a4,t2,800003fc + +80000240 : +80000240: 00a00193 li gp,10 +80000244: 000800b7 lui ra,0x80 +80000248: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +8000024c: 60509713 sext.h a4,ra +80000250: fff00393 li t2,-1 +80000254: 1a771463 bne a4,t2,800003fc + +80000258 : +80000258: 00b00193 li gp,11 +8000025c: 800000b7 lui ra,0x80000 +80000260: 60509713 sext.h a4,ra +80000264: 00000393 li t2,0 +80000268: 18771a63 bne a4,t2,800003fc + +8000026c : +8000026c: 00c00193 li gp,12 +80000270: 121f50b7 lui ra,0x121f5 +80000274: 60509713 sext.h a4,ra +80000278: 000053b7 lui t2,0x5 +8000027c: 18771063 bne a4,t2,800003fc + +80000280 : +80000280: 00d00193 li gp,13 +80000284: 000000b7 lui ra,0x0 +80000288: 60509713 sext.h a4,ra +8000028c: 00000393 li t2,0 +80000290: 16771663 bne a4,t2,800003fc + +80000294 : +80000294: 00e00193 li gp,14 +80000298: 00e00093 li ra,14 +8000029c: 60509713 sext.h a4,ra +800002a0: 00e00393 li t2,14 +800002a4: 14771c63 bne a4,t2,800003fc + +800002a8 : +800002a8: 00f00193 li gp,15 +800002ac: 204010b7 lui ra,0x20401 +800002b0: 34108093 addi ra,ra,833 # 20401341 <_start-0x5fbfecbf> +800002b4: 60509713 sext.h a4,ra +800002b8: 000013b7 lui t2,0x1 +800002bc: 34138393 addi t2,t2,833 # 1341 <_start-0x7fffecbf> +800002c0: 12771e63 bne a4,t2,800003fc + +800002c4 : +800002c4: 01000193 li gp,16 +800002c8: 00d00093 li ra,13 +800002cc: 60509093 sext.h ra,ra +800002d0: 00d00393 li t2,13 +800002d4: 12709463 bne ra,t2,800003fc + +800002d8 : +800002d8: 01100193 li gp,17 +800002dc: 00b00093 li ra,11 +800002e0: 60509093 sext.h ra,ra +800002e4: 00b00393 li t2,11 +800002e8: 10709a63 bne ra,t2,800003fc + +800002ec : +800002ec: 01200193 li gp,18 +800002f0: 00000213 li tp,0 +800002f4: 00d00093 li ra,13 +800002f8: 60509713 sext.h a4,ra +800002fc: 00070313 mv t1,a4 +80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000304: 00200293 li t0,2 +80000308: fe5216e3 bne tp,t0,800002f4 +8000030c: 00d00393 li t2,13 +80000310: 0e731663 bne t1,t2,800003fc + +80000314 : +80000314: 01d00193 li gp,29 +80000318: 00000213 li tp,0 +8000031c: 01300093 li ra,19 +80000320: 60509713 sext.h a4,ra +80000324: 00000013 nop +80000328: 00070313 mv t1,a4 +8000032c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000330: 00200293 li t0,2 +80000334: fe5214e3 bne tp,t0,8000031c +80000338: 01300393 li t2,19 +8000033c: 0c731063 bne t1,t2,800003fc + +80000340 : +80000340: 01400193 li gp,20 +80000344: 00000213 li tp,0 +80000348: 02200093 li ra,34 +8000034c: 60509713 sext.h a4,ra +80000350: 00000013 nop +80000354: 00000013 nop +80000358: 00070313 mv t1,a4 +8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000360: 00200293 li t0,2 +80000364: fe5212e3 bne tp,t0,80000348 +80000368: 02200393 li t2,34 +8000036c: 08731863 bne t1,t2,800003fc + +80000370 : +80000370: 01500193 li gp,21 +80000374: 007f80b7 lui ra,0x7f8 +80000378: 60509713 sext.h a4,ra +8000037c: ffff83b7 lui t2,0xffff8 +80000380: 06771e63 bne a4,t2,800003fc + +80000384 : +80000384: 01600193 li gp,22 +80000388: 008080b7 lui ra,0x808 +8000038c: 60509713 sext.h a4,ra +80000390: ffff83b7 lui t2,0xffff8 +80000394: 06771463 bne a4,t2,800003fc + +80000398 : +80000398: 01700193 li gp,23 +8000039c: 018080b7 lui ra,0x1808 +800003a0: 60509713 sext.h a4,ra +800003a4: ffff83b7 lui t2,0xffff8 +800003a8: 04771a63 bne a4,t2,800003fc + +800003ac : +800003ac: 01800193 li gp,24 +800003b0: 000080b7 lui ra,0x8 +800003b4: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +800003b8: 60509713 sext.h a4,ra +800003bc: 000083b7 lui t2,0x8 +800003c0: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +800003c4: 02771c63 bne a4,t2,800003fc + +800003c8 : +800003c8: 01900193 li gp,25 +800003cc: 800000b7 lui ra,0x80000 +800003d0: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +800003d4: 60509713 sext.h a4,ra +800003d8: fff00393 li t2,-1 +800003dc: 02771063 bne a4,t2,800003fc + +800003e0 : +800003e0: 01a00193 li gp,26 +800003e4: 000800b7 lui ra,0x80 +800003e8: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +800003ec: 60509713 sext.h a4,ra +800003f0: fff00393 li t2,-1 +800003f4: 00771463 bne a4,t2,800003fc +800003f8: 02301063 bne zero,gp,80000418 + +800003fc : +800003fc: 0ff0000f fence +80000400: 00018063 beqz gp,80000400 +80000404: 00119193 slli gp,gp,0x1 +80000408: 0011e193 ori gp,gp,1 +8000040c: 05d00893 li a7,93 +80000410: 00018513 mv a0,gp +80000414: 00000073 ecall + +80000418 : +80000418: 0ff0000f fence +8000041c: 00100193 li gp,1 +80000420: 05d00893 li a7,93 +80000424: 00000513 li a0,0 +80000428: 00000073 ecall +8000042c: c0001073 unimp +80000430: 0000 .insn 2, 0x +80000432: 0000 .insn 2, 0x +80000434: 0000 .insn 2, 0x +80000436: 0000 .insn 2, 0x +80000438: 0000 .insn 2, 0x +8000043a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_h.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_h.hex new file mode 100644 index 0000000..df2893e --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-sext_h.hex @@ -0,0 +1,1433 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000093 +60509713 +00000393 +24771c63 +00300193 +00100093 +60509713 +00100393 +24771263 +00400193 +00300093 +60509713 +00300393 +22771863 +00500193 +ffff80b7 +60509713 +ffff83b7 +20771e63 +00600193 +008000b7 +60509713 +00000393 +20771463 +00700193 +ffff80b7 +60509713 +ffff83b7 +1e771a63 +00800193 +000080b7 +fff08093 +60509713 +000083b7 +fff38393 +1c771c63 +00900193 +800000b7 +fff08093 +60509713 +fff00393 +1c771063 +00a00193 +000800b7 +fff08093 +60509713 +fff00393 +1a771463 +00b00193 +800000b7 +60509713 +00000393 +18771a63 +00c00193 +121f50b7 +60509713 +000053b7 +18771063 +00d00193 +000000b7 +60509713 +00000393 +16771663 +00e00193 +00e00093 +60509713 +00e00393 +14771c63 +00f00193 +204010b7 +34108093 +60509713 +000013b7 +34138393 +12771e63 +01000193 +00d00093 +60509093 +00d00393 +12709463 +01100193 +00b00093 +60509093 +00b00393 +10709a63 +01200193 +00000213 +00d00093 +60509713 +00070313 +00120213 +00200293 +fe5216e3 +00d00393 +0e731663 +01d00193 +00000213 +01300093 +60509713 +00000013 +00070313 +00120213 +00200293 +fe5214e3 +01300393 +0c731063 +01400193 +00000213 +02200093 +60509713 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +02200393 +08731863 +01500193 +007f80b7 +60509713 +ffff83b7 +06771e63 +01600193 +008080b7 +60509713 +ffff83b7 +06771463 +01700193 +018080b7 +60509713 +ffff83b7 +04771a63 +01800193 +000080b7 +fff08093 +60509713 +000083b7 +fff38393 +02771c63 +01900193 +800000b7 +fff08093 +60509713 +fff00393 +02771063 +01a00193 +000800b7 +fff08093 +60509713 +fff00393 +00771463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +800003fc +00000000 +00010000 +000000a8 +800001a8 +00000000 +00010000 +000000af +800001bc +00000000 +00010000 +000000b6 +800001d0 +00000000 +00010000 +000000bd +800001e4 +00000000 +00010000 +000000c4 +800001f8 +00000000 +00010000 +000000cb +8000020c +00000000 +00010000 +000000d2 +80000228 +00000000 +00010000 +000000d9 +80000240 +00000000 +00010000 +000000e1 +80000258 +00000000 +00010000 +000000e9 +8000026c +00000000 +00010000 +000000f1 +80000280 +00000000 +00010000 +000000f9 +80000294 +00000000 +00010000 +00000101 +800002a8 +00000000 +00010000 +00000109 +800002c4 +00000000 +00010000 +00000111 +800002d8 +00000000 +00010000 +00000119 +800002ec +00000000 +00010000 +00000121 +80000314 +00000000 +00010000 +00000129 +80000340 +00000000 +00010000 +00000131 +80000370 +00000000 +00010000 +00000139 +80000384 +00000000 +00010000 +00000141 +80000398 +00000000 +00010000 +00000149 +800003ac +00000000 +00010000 +00000151 +800003c8 +00000000 +00010000 +00000159 +800003e0 +00000000 +00010000 +00000161 +80000418 +00000000 +00010000 +00000166 +80002000 +00000000 +00020010 +00000174 +80002000 +00000000 +00020010 +00000184 +80000000 +00000000 +00010010 +0000018b +80002000 +00000000 +00020010 +00000190 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +4f636300 +4a764461 +006f2e4d +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39325f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +0000043c +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002d0 +00000005 +00000027 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002370 +00000199 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002509 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-xnor.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-xnor.dump new file mode 100644 index 0000000..297ee2c --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-xnor.dump @@ -0,0 +1,517 @@ + +rv32uzbb-p-xnor: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: ff0105b7 lui a1,0xff010 +8000019c: f0058593 addi a1,a1,-256 # ff00ff00 <_end+0x7f00df00> +800001a0: 0f0f1637 lui a2,0xf0f1 +800001a4: f0f60613 addi a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> +800001a8: 40c5c733 xnor a4,a1,a2 +800001ac: 0ff013b7 lui t2,0xff01 +800001b0: ff038393 addi t2,t2,-16 # ff00ff0 <_start-0x700ff010> +800001b4: 4a771063 bne a4,t2,80000654 + +800001b8 : +800001b8: 00300193 li gp,3 +800001bc: 0ff015b7 lui a1,0xff01 +800001c0: ff058593 addi a1,a1,-16 # ff00ff0 <_start-0x700ff010> +800001c4: f0f0f637 lui a2,0xf0f0f +800001c8: 0f060613 addi a2,a2,240 # f0f0f0f0 <_end+0x70f0d0f0> +800001cc: 40c5c733 xnor a4,a1,a2 +800001d0: 00ff03b7 lui t2,0xff0 +800001d4: 0ff38393 addi t2,t2,255 # ff00ff <_start-0x7f00ff01> +800001d8: 46771e63 bne a4,t2,80000654 + +800001dc : +800001dc: 00400193 li gp,4 +800001e0: 00ff05b7 lui a1,0xff0 +800001e4: 0ff58593 addi a1,a1,255 # ff00ff <_start-0x7f00ff01> +800001e8: 0f0f1637 lui a2,0xf0f1 +800001ec: f0f60613 addi a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> +800001f0: 40c5c733 xnor a4,a1,a2 +800001f4: f00ff3b7 lui t2,0xf00ff +800001f8: 00f38393 addi t2,t2,15 # f00ff00f <_end+0x700fd00f> +800001fc: 44771c63 bne a4,t2,80000654 + +80000200 : +80000200: 00500193 li gp,5 +80000204: f00ff5b7 lui a1,0xf00ff +80000208: 00f58593 addi a1,a1,15 # f00ff00f <_end+0x700fd00f> +8000020c: f0f0f637 lui a2,0xf0f0f +80000210: 0f060613 addi a2,a2,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000214: 40c5c733 xnor a4,a1,a2 +80000218: ff0103b7 lui t2,0xff010 +8000021c: f0038393 addi t2,t2,-256 # ff00ff00 <_end+0x7f00df00> +80000220: 42771a63 bne a4,t2,80000654 + +80000224 : +80000224: 00600193 li gp,6 +80000228: ff0105b7 lui a1,0xff010 +8000022c: f0058593 addi a1,a1,-256 # ff00ff00 <_end+0x7f00df00> +80000230: 0f0f1637 lui a2,0xf0f1 +80000234: f0f60613 addi a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> +80000238: 40c5c5b3 xnor a1,a1,a2 +8000023c: 0ff013b7 lui t2,0xff01 +80000240: ff038393 addi t2,t2,-16 # ff00ff0 <_start-0x700ff010> +80000244: 40759863 bne a1,t2,80000654 + +80000248 : +80000248: 00700193 li gp,7 +8000024c: ff0105b7 lui a1,0xff010 +80000250: f0058593 addi a1,a1,-256 # ff00ff00 <_end+0x7f00df00> +80000254: 0f0f1637 lui a2,0xf0f1 +80000258: f0f60613 addi a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> +8000025c: 40c5c633 xnor a2,a1,a2 +80000260: 0ff013b7 lui t2,0xff01 +80000264: ff038393 addi t2,t2,-16 # ff00ff0 <_start-0x700ff010> +80000268: 3e761663 bne a2,t2,80000654 + +8000026c : +8000026c: 00800193 li gp,8 +80000270: ff0105b7 lui a1,0xff010 +80000274: f0058593 addi a1,a1,-256 # ff00ff00 <_end+0x7f00df00> +80000278: 40b5c5b3 xnor a1,a1,a1 +8000027c: fff00393 li t2,-1 +80000280: 3c759a63 bne a1,t2,80000654 + +80000284 : +80000284: 00900193 li gp,9 +80000288: 00000213 li tp,0 +8000028c: ff0100b7 lui ra,0xff010 +80000290: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000294: 0f0f1137 lui sp,0xf0f1 +80000298: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000029c: 4020c733 xnor a4,ra,sp +800002a0: 00070313 mv t1,a4 +800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a8: 00200293 li t0,2 +800002ac: fe5210e3 bne tp,t0,8000028c +800002b0: 0ff013b7 lui t2,0xff01 +800002b4: ff038393 addi t2,t2,-16 # ff00ff0 <_start-0x700ff010> +800002b8: 38731e63 bne t1,t2,80000654 + +800002bc : +800002bc: 00a00193 li gp,10 +800002c0: 00000213 li tp,0 +800002c4: 0ff010b7 lui ra,0xff01 +800002c8: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800002cc: f0f0f137 lui sp,0xf0f0f +800002d0: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800002d4: 4020c733 xnor a4,ra,sp +800002d8: 00000013 nop +800002dc: 00070313 mv t1,a4 +800002e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e4: 00200293 li t0,2 +800002e8: fc521ee3 bne tp,t0,800002c4 +800002ec: 00ff03b7 lui t2,0xff0 +800002f0: 0ff38393 addi t2,t2,255 # ff00ff <_start-0x7f00ff01> +800002f4: 36731063 bne t1,t2,80000654 + +800002f8 : +800002f8: 00b00193 li gp,11 +800002fc: 00000213 li tp,0 +80000300: 00ff00b7 lui ra,0xff0 +80000304: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000308: 0f0f1137 lui sp,0xf0f1 +8000030c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000310: 4020c733 xnor a4,ra,sp +80000314: 00000013 nop +80000318: 00000013 nop +8000031c: 00070313 mv t1,a4 +80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000324: 00200293 li t0,2 +80000328: fc521ce3 bne tp,t0,80000300 +8000032c: f00ff3b7 lui t2,0xf00ff +80000330: 00f38393 addi t2,t2,15 # f00ff00f <_end+0x700fd00f> +80000334: 32731063 bne t1,t2,80000654 + +80000338 : +80000338: 00c00193 li gp,12 +8000033c: 00000213 li tp,0 +80000340: ff0100b7 lui ra,0xff010 +80000344: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000348: 0f0f1137 lui sp,0xf0f1 +8000034c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000350: 4020c733 xnor a4,ra,sp +80000354: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000358: 00200293 li t0,2 +8000035c: fe5212e3 bne tp,t0,80000340 +80000360: 0ff013b7 lui t2,0xff01 +80000364: ff038393 addi t2,t2,-16 # ff00ff0 <_start-0x700ff010> +80000368: 2e771663 bne a4,t2,80000654 + +8000036c : +8000036c: 00d00193 li gp,13 +80000370: 00000213 li tp,0 +80000374: 0ff010b7 lui ra,0xff01 +80000378: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000037c: f0f0f137 lui sp,0xf0f0f +80000380: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000384: 00000013 nop +80000388: 4020c733 xnor a4,ra,sp +8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000390: 00200293 li t0,2 +80000394: fe5210e3 bne tp,t0,80000374 +80000398: 00ff03b7 lui t2,0xff0 +8000039c: 0ff38393 addi t2,t2,255 # ff00ff <_start-0x7f00ff01> +800003a0: 2a771a63 bne a4,t2,80000654 + +800003a4 : +800003a4: 00e00193 li gp,14 +800003a8: 00000213 li tp,0 +800003ac: 00ff00b7 lui ra,0xff0 +800003b0: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800003b4: 0f0f1137 lui sp,0xf0f1 +800003b8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003bc: 00000013 nop +800003c0: 00000013 nop +800003c4: 4020c733 xnor a4,ra,sp +800003c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003cc: 00200293 li t0,2 +800003d0: fc521ee3 bne tp,t0,800003ac +800003d4: f00ff3b7 lui t2,0xf00ff +800003d8: 00f38393 addi t2,t2,15 # f00ff00f <_end+0x700fd00f> +800003dc: 26771c63 bne a4,t2,80000654 + +800003e0 : +800003e0: 00f00193 li gp,15 +800003e4: 00000213 li tp,0 +800003e8: ff0100b7 lui ra,0xff010 +800003ec: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800003f0: 00000013 nop +800003f4: 0f0f1137 lui sp,0xf0f1 +800003f8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003fc: 4020c733 xnor a4,ra,sp +80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000404: 00200293 li t0,2 +80000408: fe5210e3 bne tp,t0,800003e8 +8000040c: 0ff013b7 lui t2,0xff01 +80000410: ff038393 addi t2,t2,-16 # ff00ff0 <_start-0x700ff010> +80000414: 24771063 bne a4,t2,80000654 + +80000418 : +80000418: 01000193 li gp,16 +8000041c: 00000213 li tp,0 +80000420: 0ff010b7 lui ra,0xff01 +80000424: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000428: 00000013 nop +8000042c: f0f0f137 lui sp,0xf0f0f +80000430: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000434: 00000013 nop +80000438: 4020c733 xnor a4,ra,sp +8000043c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000440: 00200293 li t0,2 +80000444: fc521ee3 bne tp,t0,80000420 +80000448: 00ff03b7 lui t2,0xff0 +8000044c: 0ff38393 addi t2,t2,255 # ff00ff <_start-0x7f00ff01> +80000450: 20771263 bne a4,t2,80000654 + +80000454 : +80000454: 01100193 li gp,17 +80000458: 00000213 li tp,0 +8000045c: 00ff00b7 lui ra,0xff0 +80000460: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000464: 00000013 nop +80000468: 00000013 nop +8000046c: 0f0f1137 lui sp,0xf0f1 +80000470: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000474: 4020c733 xnor a4,ra,sp +80000478: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000047c: 00200293 li t0,2 +80000480: fc521ee3 bne tp,t0,8000045c +80000484: f00ff3b7 lui t2,0xf00ff +80000488: 00f38393 addi t2,t2,15 # f00ff00f <_end+0x700fd00f> +8000048c: 1c771463 bne a4,t2,80000654 + +80000490 : +80000490: 01200193 li gp,18 +80000494: 00000213 li tp,0 +80000498: 0f0f1137 lui sp,0xf0f1 +8000049c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800004a0: ff0100b7 lui ra,0xff010 +800004a4: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800004a8: 4020c733 xnor a4,ra,sp +800004ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004b0: 00200293 li t0,2 +800004b4: fe5212e3 bne tp,t0,80000498 +800004b8: 0ff013b7 lui t2,0xff01 +800004bc: ff038393 addi t2,t2,-16 # ff00ff0 <_start-0x700ff010> +800004c0: 18771a63 bne a4,t2,80000654 + +800004c4 : +800004c4: 01300193 li gp,19 +800004c8: 00000213 li tp,0 +800004cc: f0f0f137 lui sp,0xf0f0f +800004d0: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +800004d4: 0ff010b7 lui ra,0xff01 +800004d8: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800004dc: 00000013 nop +800004e0: 4020c733 xnor a4,ra,sp +800004e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004e8: 00200293 li t0,2 +800004ec: fe5210e3 bne tp,t0,800004cc +800004f0: 00ff03b7 lui t2,0xff0 +800004f4: 0ff38393 addi t2,t2,255 # ff00ff <_start-0x7f00ff01> +800004f8: 14771e63 bne a4,t2,80000654 + +800004fc : +800004fc: 01400193 li gp,20 +80000500: 00000213 li tp,0 +80000504: 0f0f1137 lui sp,0xf0f1 +80000508: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000050c: 00ff00b7 lui ra,0xff0 +80000510: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000514: 00000013 nop +80000518: 00000013 nop +8000051c: 4020c733 xnor a4,ra,sp +80000520: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000524: 00200293 li t0,2 +80000528: fc521ee3 bne tp,t0,80000504 +8000052c: f00ff3b7 lui t2,0xf00ff +80000530: 00f38393 addi t2,t2,15 # f00ff00f <_end+0x700fd00f> +80000534: 12771063 bne a4,t2,80000654 + +80000538 : +80000538: 01500193 li gp,21 +8000053c: 00000213 li tp,0 +80000540: 0f0f1137 lui sp,0xf0f1 +80000544: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000548: 00000013 nop +8000054c: ff0100b7 lui ra,0xff010 +80000550: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +80000554: 4020c733 xnor a4,ra,sp +80000558: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000055c: 00200293 li t0,2 +80000560: fe5210e3 bne tp,t0,80000540 +80000564: 0ff013b7 lui t2,0xff01 +80000568: ff038393 addi t2,t2,-16 # ff00ff0 <_start-0x700ff010> +8000056c: 0e771463 bne a4,t2,80000654 + +80000570 : +80000570: 01600193 li gp,22 +80000574: 00000213 li tp,0 +80000578: f0f0f137 lui sp,0xf0f0f +8000057c: 0f010113 addi sp,sp,240 # f0f0f0f0 <_end+0x70f0d0f0> +80000580: 00000013 nop +80000584: 0ff010b7 lui ra,0xff01 +80000588: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000058c: 00000013 nop +80000590: 4020c733 xnor a4,ra,sp +80000594: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000598: 00200293 li t0,2 +8000059c: fc521ee3 bne tp,t0,80000578 +800005a0: 00ff03b7 lui t2,0xff0 +800005a4: 0ff38393 addi t2,t2,255 # ff00ff <_start-0x7f00ff01> +800005a8: 0a771663 bne a4,t2,80000654 + +800005ac : +800005ac: 01700193 li gp,23 +800005b0: 00000213 li tp,0 +800005b4: 0f0f1137 lui sp,0xf0f1 +800005b8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800005bc: 00000013 nop +800005c0: 00000013 nop +800005c4: 00ff00b7 lui ra,0xff0 +800005c8: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800005cc: 4020c733 xnor a4,ra,sp +800005d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005d4: 00200293 li t0,2 +800005d8: fc521ee3 bne tp,t0,800005b4 +800005dc: f00ff3b7 lui t2,0xf00ff +800005e0: 00f38393 addi t2,t2,15 # f00ff00f <_end+0x700fd00f> +800005e4: 06771863 bne a4,t2,80000654 + +800005e8 : +800005e8: 01800193 li gp,24 +800005ec: ff0100b7 lui ra,0xff010 +800005f0: f0008093 addi ra,ra,-256 # ff00ff00 <_end+0x7f00df00> +800005f4: 40104133 xnor sp,zero,ra +800005f8: 00ff03b7 lui t2,0xff0 +800005fc: 0ff38393 addi t2,t2,255 # ff00ff <_start-0x7f00ff01> +80000600: 04711a63 bne sp,t2,80000654 + +80000604 : +80000604: 01900193 li gp,25 +80000608: 00ff00b7 lui ra,0xff0 +8000060c: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000610: 4000c133 xnor sp,ra,zero +80000614: ff0103b7 lui t2,0xff010 +80000618: f0038393 addi t2,t2,-256 # ff00ff00 <_end+0x7f00df00> +8000061c: 02711c63 bne sp,t2,80000654 + +80000620 : +80000620: 01a00193 li gp,26 +80000624: 400040b3 xnor ra,zero,zero +80000628: fff00393 li t2,-1 +8000062c: 02709463 bne ra,t2,80000654 + +80000630 : +80000630: 01b00193 li gp,27 +80000634: 111110b7 lui ra,0x11111 +80000638: 11108093 addi ra,ra,273 # 11111111 <_start-0x6eeeeeef> +8000063c: 22222137 lui sp,0x22222 +80000640: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +80000644: 4020c033 xnor zero,ra,sp +80000648: 00000393 li t2,0 +8000064c: 00701463 bne zero,t2,80000654 +80000650: 02301063 bne zero,gp,80000670 + +80000654 : +80000654: 0ff0000f fence +80000658: 00018063 beqz gp,80000658 +8000065c: 00119193 slli gp,gp,0x1 +80000660: 0011e193 ori gp,gp,1 +80000664: 05d00893 li a7,93 +80000668: 00018513 mv a0,gp +8000066c: 00000073 ecall + +80000670 : +80000670: 0ff0000f fence +80000674: 00100193 li gp,1 +80000678: 05d00893 li a7,93 +8000067c: 00000513 li a0,0 +80000680: 00000073 ecall +80000684: c0001073 unimp +80000688: 0000 .insn 2, 0x +8000068a: 0000 .insn 2, 0x +8000068c: 0000 .insn 2, 0x +8000068e: 0000 .insn 2, 0x +80000690: 0000 .insn 2, 0x +80000692: 0000 .insn 2, 0x +80000694: 0000 .insn 2, 0x +80000696: 0000 .insn 2, 0x +80000698: 0000 .insn 2, 0x +8000069a: 0000 .insn 2, 0x +8000069c: 0000 .insn 2, 0x +8000069e: 0000 .insn 2, 0x +800006a0: 0000 .insn 2, 0x +800006a2: 0000 .insn 2, 0x +800006a4: 0000 .insn 2, 0x +800006a6: 0000 .insn 2, 0x +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-xnor.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-xnor.hex new file mode 100644 index 0000000..2662a2a --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-xnor.hex @@ -0,0 +1,1439 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +ff0105b7 +f0058593 +0f0f1637 +f0f60613 +40c5c733 +0ff013b7 +ff038393 +4a771063 +00300193 +0ff015b7 +ff058593 +f0f0f637 +0f060613 +40c5c733 +00ff03b7 +0ff38393 +46771e63 +00400193 +00ff05b7 +0ff58593 +0f0f1637 +f0f60613 +40c5c733 +f00ff3b7 +00f38393 +44771c63 +00500193 +f00ff5b7 +00f58593 +f0f0f637 +0f060613 +40c5c733 +ff0103b7 +f0038393 +42771a63 +00600193 +ff0105b7 +f0058593 +0f0f1637 +f0f60613 +40c5c5b3 +0ff013b7 +ff038393 +40759863 +00700193 +ff0105b7 +f0058593 +0f0f1637 +f0f60613 +40c5c633 +0ff013b7 +ff038393 +3e761663 +00800193 +ff0105b7 +f0058593 +40b5c5b3 +fff00393 +3c759a63 +00900193 +00000213 +ff0100b7 +f0008093 +0f0f1137 +f0f10113 +4020c733 +00070313 +00120213 +00200293 +fe5210e3 +0ff013b7 +ff038393 +38731e63 +00a00193 +00000213 +0ff010b7 +ff008093 +f0f0f137 +0f010113 +4020c733 +00000013 +00070313 +00120213 +00200293 +fc521ee3 +00ff03b7 +0ff38393 +36731063 +00b00193 +00000213 +00ff00b7 +0ff08093 +0f0f1137 +f0f10113 +4020c733 +00000013 +00000013 +00070313 +00120213 +00200293 +fc521ce3 +f00ff3b7 +00f38393 +32731063 +00c00193 +00000213 +ff0100b7 +f0008093 +0f0f1137 +f0f10113 +4020c733 +00120213 +00200293 +fe5212e3 +0ff013b7 +ff038393 +2e771663 +00d00193 +00000213 +0ff010b7 +ff008093 +f0f0f137 +0f010113 +00000013 +4020c733 +00120213 +00200293 +fe5210e3 +00ff03b7 +0ff38393 +2a771a63 +00e00193 +00000213 +00ff00b7 +0ff08093 +0f0f1137 +f0f10113 +00000013 +00000013 +4020c733 +00120213 +00200293 +fc521ee3 +f00ff3b7 +00f38393 +26771c63 +00f00193 +00000213 +ff0100b7 +f0008093 +00000013 +0f0f1137 +f0f10113 +4020c733 +00120213 +00200293 +fe5210e3 +0ff013b7 +ff038393 +24771063 +01000193 +00000213 +0ff010b7 +ff008093 +00000013 +f0f0f137 +0f010113 +00000013 +4020c733 +00120213 +00200293 +fc521ee3 +00ff03b7 +0ff38393 +20771263 +01100193 +00000213 +00ff00b7 +0ff08093 +00000013 +00000013 +0f0f1137 +f0f10113 +4020c733 +00120213 +00200293 +fc521ee3 +f00ff3b7 +00f38393 +1c771463 +01200193 +00000213 +0f0f1137 +f0f10113 +ff0100b7 +f0008093 +4020c733 +00120213 +00200293 +fe5212e3 +0ff013b7 +ff038393 +18771a63 +01300193 +00000213 +f0f0f137 +0f010113 +0ff010b7 +ff008093 +00000013 +4020c733 +00120213 +00200293 +fe5210e3 +00ff03b7 +0ff38393 +14771e63 +01400193 +00000213 +0f0f1137 +f0f10113 +00ff00b7 +0ff08093 +00000013 +00000013 +4020c733 +00120213 +00200293 +fc521ee3 +f00ff3b7 +00f38393 +12771063 +01500193 +00000213 +0f0f1137 +f0f10113 +00000013 +ff0100b7 +f0008093 +4020c733 +00120213 +00200293 +fe5210e3 +0ff013b7 +ff038393 +0e771463 +01600193 +00000213 +f0f0f137 +0f010113 +00000013 +0ff010b7 +ff008093 +00000013 +4020c733 +00120213 +00200293 +fc521ee3 +00ff03b7 +0ff38393 +0a771663 +01700193 +00000213 +0f0f1137 +f0f10113 +00000013 +00000013 +00ff00b7 +0ff08093 +4020c733 +00120213 +00200293 +fc521ee3 +f00ff3b7 +00f38393 +06771863 +01800193 +ff0100b7 +f0008093 +40104133 +00ff03b7 +0ff38393 +04711a63 +01900193 +00ff00b7 +0ff08093 +4000c133 +ff0103b7 +f0038393 +02711c63 +01a00193 +400040b3 +fff00393 +02709463 +01b00193 +111110b7 +11108093 +22222137 +22210113 +4020c033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +80000654 +00000000 +00010000 +000000a8 +800001b8 +00000000 +00010000 +000000af +800001dc +00000000 +00010000 +000000b6 +80000200 +00000000 +00010000 +000000bd +80000224 +00000000 +00010000 +000000c4 +80000248 +00000000 +00010000 +000000cb +8000026c +00000000 +00010000 +000000d2 +80000284 +00000000 +00010000 +000000d9 +800002bc +00000000 +00010000 +000000e1 +800002f8 +00000000 +00010000 +000000e9 +80000338 +00000000 +00010000 +000000f1 +8000036c +00000000 +00010000 +000000f9 +800003a4 +00000000 +00010000 +00000101 +800003e0 +00000000 +00010000 +00000109 +80000418 +00000000 +00010000 +00000111 +80000454 +00000000 +00010000 +00000119 +80000490 +00000000 +00010000 +00000121 +800004c4 +00000000 +00010000 +00000129 +800004fc +00000000 +00010000 +00000131 +80000538 +00000000 +00010000 +00000139 +80000570 +00000000 +00010000 +00000141 +800005ac +00000000 +00010000 +00000149 +800005e8 +00000000 +00010000 +00000151 +80000604 +00000000 +00010000 +00000159 +80000620 +00000000 +00010000 +00000161 +80000630 +00000000 +00010000 +00000169 +80000670 +00000000 +00010000 +0000016e +80002000 +00000000 +00020010 +0000017c +80002000 +00000000 +00020010 +0000018c +80000000 +00000000 +00010010 +00000193 +80002000 +00000000 +00020010 +00000198 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +6c636300 +6c36544a +006f2e52 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002e0 +00000005 +00000028 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002380 +000001a1 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002521 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-zext_h.dump b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-zext_h.dump new file mode 100644 index 0000000..2edecd5 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-zext_h.dump @@ -0,0 +1,373 @@ + +rv32uzbb-p-zext_h: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 00200193 li gp,2 +80000198: 00000093 li ra,0 +8000019c: 0800c733 zext.h a4,ra +800001a0: 00000393 li t2,0 +800001a4: 26771463 bne a4,t2,8000040c + +800001a8 : +800001a8: 00300193 li gp,3 +800001ac: 00100093 li ra,1 +800001b0: 0800c733 zext.h a4,ra +800001b4: 00100393 li t2,1 +800001b8: 24771a63 bne a4,t2,8000040c + +800001bc : +800001bc: 00400193 li gp,4 +800001c0: 00300093 li ra,3 +800001c4: 0800c733 zext.h a4,ra +800001c8: 00300393 li t2,3 +800001cc: 24771063 bne a4,t2,8000040c + +800001d0 : +800001d0: 00500193 li gp,5 +800001d4: ffff80b7 lui ra,0xffff8 +800001d8: 0800c733 zext.h a4,ra +800001dc: 000083b7 lui t2,0x8 +800001e0: 22771663 bne a4,t2,8000040c + +800001e4 : +800001e4: 00600193 li gp,6 +800001e8: 008000b7 lui ra,0x800 +800001ec: 0800c733 zext.h a4,ra +800001f0: 00000393 li t2,0 +800001f4: 20771c63 bne a4,t2,8000040c + +800001f8 : +800001f8: 00700193 li gp,7 +800001fc: ffff80b7 lui ra,0xffff8 +80000200: 0800c733 zext.h a4,ra +80000204: 000083b7 lui t2,0x8 +80000208: 20771263 bne a4,t2,8000040c + +8000020c : +8000020c: 00800193 li gp,8 +80000210: 000080b7 lui ra,0x8 +80000214: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +80000218: 0800c733 zext.h a4,ra +8000021c: 000083b7 lui t2,0x8 +80000220: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +80000224: 1e771463 bne a4,t2,8000040c + +80000228 : +80000228: 00900193 li gp,9 +8000022c: 800000b7 lui ra,0x80000 +80000230: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +80000234: 0800c733 zext.h a4,ra +80000238: 000103b7 lui t2,0x10 +8000023c: fff38393 addi t2,t2,-1 # ffff <_start-0x7fff0001> +80000240: 1c771663 bne a4,t2,8000040c + +80000244 : +80000244: 00a00193 li gp,10 +80000248: 000800b7 lui ra,0x80 +8000024c: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +80000250: 0800c733 zext.h a4,ra +80000254: 000103b7 lui t2,0x10 +80000258: fff38393 addi t2,t2,-1 # ffff <_start-0x7fff0001> +8000025c: 1a771863 bne a4,t2,8000040c + +80000260 : +80000260: 00b00193 li gp,11 +80000264: 800000b7 lui ra,0x80000 +80000268: 0800c733 zext.h a4,ra +8000026c: 00000393 li t2,0 +80000270: 18771e63 bne a4,t2,8000040c + +80000274 : +80000274: 00c00193 li gp,12 +80000278: 121f50b7 lui ra,0x121f5 +8000027c: 0800c733 zext.h a4,ra +80000280: 000053b7 lui t2,0x5 +80000284: 18771463 bne a4,t2,8000040c + +80000288 : +80000288: 00d00193 li gp,13 +8000028c: 000000b7 lui ra,0x0 +80000290: 0800c733 zext.h a4,ra +80000294: 00000393 li t2,0 +80000298: 16771a63 bne a4,t2,8000040c + +8000029c : +8000029c: 00e00193 li gp,14 +800002a0: 00e00093 li ra,14 +800002a4: 0800c733 zext.h a4,ra +800002a8: 00e00393 li t2,14 +800002ac: 16771063 bne a4,t2,8000040c + +800002b0 : +800002b0: 00f00193 li gp,15 +800002b4: 204010b7 lui ra,0x20401 +800002b8: 34108093 addi ra,ra,833 # 20401341 <_start-0x5fbfecbf> +800002bc: 0800c733 zext.h a4,ra +800002c0: 000013b7 lui t2,0x1 +800002c4: 34138393 addi t2,t2,833 # 1341 <_start-0x7fffecbf> +800002c8: 14771263 bne a4,t2,8000040c + +800002cc : +800002cc: 01000193 li gp,16 +800002d0: 00d00093 li ra,13 +800002d4: 0800c0b3 zext.h ra,ra +800002d8: 00d00393 li t2,13 +800002dc: 12709863 bne ra,t2,8000040c + +800002e0 : +800002e0: 01100193 li gp,17 +800002e4: 00b00093 li ra,11 +800002e8: 0800c0b3 zext.h ra,ra +800002ec: 00b00393 li t2,11 +800002f0: 10709e63 bne ra,t2,8000040c + +800002f4 : +800002f4: 01200193 li gp,18 +800002f8: 00000213 li tp,0 +800002fc: 00d00093 li ra,13 +80000300: 0800c733 zext.h a4,ra +80000304: 00070313 mv t1,a4 +80000308: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000030c: 00200293 li t0,2 +80000310: fe5216e3 bne tp,t0,800002fc +80000314: 00d00393 li t2,13 +80000318: 0e731a63 bne t1,t2,8000040c + +8000031c : +8000031c: 01d00193 li gp,29 +80000320: 00000213 li tp,0 +80000324: 01300093 li ra,19 +80000328: 0800c733 zext.h a4,ra +8000032c: 00000013 nop +80000330: 00070313 mv t1,a4 +80000334: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000338: 00200293 li t0,2 +8000033c: fe5214e3 bne tp,t0,80000324 +80000340: 01300393 li t2,19 +80000344: 0c731463 bne t1,t2,8000040c + +80000348 : +80000348: 01400193 li gp,20 +8000034c: 00000213 li tp,0 +80000350: 02200093 li ra,34 +80000354: 0800c733 zext.h a4,ra +80000358: 00000013 nop +8000035c: 00000013 nop +80000360: 00070313 mv t1,a4 +80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000368: 00200293 li t0,2 +8000036c: fe5212e3 bne tp,t0,80000350 +80000370: 02200393 li t2,34 +80000374: 08731c63 bne t1,t2,8000040c + +80000378 : +80000378: 01500193 li gp,21 +8000037c: 007f80b7 lui ra,0x7f8 +80000380: 0800c733 zext.h a4,ra +80000384: 000083b7 lui t2,0x8 +80000388: 08771263 bne a4,t2,8000040c + +8000038c : +8000038c: 01600193 li gp,22 +80000390: 008080b7 lui ra,0x808 +80000394: 0800c733 zext.h a4,ra +80000398: 000083b7 lui t2,0x8 +8000039c: 06771863 bne a4,t2,8000040c + +800003a0 : +800003a0: 01700193 li gp,23 +800003a4: 018080b7 lui ra,0x1808 +800003a8: 0800c733 zext.h a4,ra +800003ac: 000083b7 lui t2,0x8 +800003b0: 04771e63 bne a4,t2,8000040c + +800003b4 : +800003b4: 01800193 li gp,24 +800003b8: 000080b7 lui ra,0x8 +800003bc: fff08093 addi ra,ra,-1 # 7fff <_start-0x7fff8001> +800003c0: 0800c733 zext.h a4,ra +800003c4: 000083b7 lui t2,0x8 +800003c8: fff38393 addi t2,t2,-1 # 7fff <_start-0x7fff8001> +800003cc: 04771063 bne a4,t2,8000040c + +800003d0 : +800003d0: 01900193 li gp,25 +800003d4: 800000b7 lui ra,0x80000 +800003d8: fff08093 addi ra,ra,-1 # 7fffffff <_start-0x1> +800003dc: 0800c733 zext.h a4,ra +800003e0: 000103b7 lui t2,0x10 +800003e4: fff38393 addi t2,t2,-1 # ffff <_start-0x7fff0001> +800003e8: 02771263 bne a4,t2,8000040c + +800003ec : +800003ec: 01a00193 li gp,26 +800003f0: 000800b7 lui ra,0x80 +800003f4: fff08093 addi ra,ra,-1 # 7ffff <_start-0x7ff80001> +800003f8: 0800c733 zext.h a4,ra +800003fc: 000103b7 lui t2,0x10 +80000400: fff38393 addi t2,t2,-1 # ffff <_start-0x7fff0001> +80000404: 00771463 bne a4,t2,8000040c +80000408: 02301063 bne zero,gp,80000428 + +8000040c : +8000040c: 0ff0000f fence +80000410: 00018063 beqz gp,80000410 +80000414: 00119193 slli gp,gp,0x1 +80000418: 0011e193 ori gp,gp,1 +8000041c: 05d00893 li a7,93 +80000420: 00018513 mv a0,gp +80000424: 00000073 ecall + +80000428 : +80000428: 0ff0000f fence +8000042c: 00100193 li gp,1 +80000430: 05d00893 li a7,93 +80000434: 00000513 li a0,0 +80000438: 00000073 ecall +8000043c: c0001073 unimp +80000440: 0000 .insn 2, 0x +80000442: 0000 .insn 2, 0x +80000444: 0000 .insn 2, 0x +80000446: 0000 .insn 2, 0x +80000448: 0000 .insn 2, 0x +8000044a: 0000 .insn 2, 0x +8000044c: 0000 .insn 2, 0x +8000044e: 0000 .insn 2, 0x +80000450: 0000 .insn 2, 0x +80000452: 0000 .insn 2, 0x +80000454: 0000 .insn 2, 0x +80000456: 0000 .insn 2, 0x +80000458: 0000 .insn 2, 0x +8000045a: 0000 .insn 2, 0x +8000045c: 0000 .insn 2, 0x +8000045e: 0000 .insn 2, 0x +80000460: 0000 .insn 2, 0x +80000462: 0000 .insn 2, 0x +80000464: 0000 .insn 2, 0x +80000466: 0000 .insn 2, 0x +80000468: 0000 .insn 2, 0x +8000046a: 0000 .insn 2, 0x +8000046c: 0000 .insn 2, 0x +8000046e: 0000 .insn 2, 0x +80000470: 0000 .insn 2, 0x +80000472: 0000 .insn 2, 0x +80000474: 0000 .insn 2, 0x +80000476: 0000 .insn 2, 0x +80000478: 0000 .insn 2, 0x +8000047a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-zext_h.hex b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-zext_h.hex new file mode 100644 index 0000000..c7da045 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbb/rv32uzbb-zext_h.hex @@ -0,0 +1,1433 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +00200193 +00000093 +0800c733 +00000393 +26771463 +00300193 +00100093 +0800c733 +00100393 +24771a63 +00400193 +00300093 +0800c733 +00300393 +24771063 +00500193 +ffff80b7 +0800c733 +000083b7 +22771663 +00600193 +008000b7 +0800c733 +00000393 +20771c63 +00700193 +ffff80b7 +0800c733 +000083b7 +20771263 +00800193 +000080b7 +fff08093 +0800c733 +000083b7 +fff38393 +1e771463 +00900193 +800000b7 +fff08093 +0800c733 +000103b7 +fff38393 +1c771663 +00a00193 +000800b7 +fff08093 +0800c733 +000103b7 +fff38393 +1a771863 +00b00193 +800000b7 +0800c733 +00000393 +18771e63 +00c00193 +121f50b7 +0800c733 +000053b7 +18771463 +00d00193 +000000b7 +0800c733 +00000393 +16771a63 +00e00193 +00e00093 +0800c733 +00e00393 +16771063 +00f00193 +204010b7 +34108093 +0800c733 +000013b7 +34138393 +14771263 +01000193 +00d00093 +0800c0b3 +00d00393 +12709863 +01100193 +00b00093 +0800c0b3 +00b00393 +10709e63 +01200193 +00000213 +00d00093 +0800c733 +00070313 +00120213 +00200293 +fe5216e3 +00d00393 +0e731a63 +01d00193 +00000213 +01300093 +0800c733 +00000013 +00070313 +00120213 +00200293 +fe5214e3 +01300393 +0c731463 +01400193 +00000213 +02200093 +0800c733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +02200393 +08731c63 +01500193 +007f80b7 +0800c733 +000083b7 +08771263 +01600193 +008080b7 +0800c733 +000083b7 +06771863 +01700193 +018080b7 +0800c733 +000083b7 +04771e63 +01800193 +000080b7 +fff08093 +0800c733 +000083b7 +fff38393 +04771063 +01900193 +800000b7 +fff08093 +0800c733 +000103b7 +fff38393 +02771263 +01a00193 +000800b7 +fff08093 +0800c733 +000103b7 +fff38393 +00771463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3162627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a3 +8000040c +00000000 +00010000 +000000a8 +800001a8 +00000000 +00010000 +000000af +800001bc +00000000 +00010000 +000000b6 +800001d0 +00000000 +00010000 +000000bd +800001e4 +00000000 +00010000 +000000c4 +800001f8 +00000000 +00010000 +000000cb +8000020c +00000000 +00010000 +000000d2 +80000228 +00000000 +00010000 +000000d9 +80000244 +00000000 +00010000 +000000e1 +80000260 +00000000 +00010000 +000000e9 +80000274 +00000000 +00010000 +000000f1 +80000288 +00000000 +00010000 +000000f9 +8000029c +00000000 +00010000 +00000101 +800002b0 +00000000 +00010000 +00000109 +800002cc +00000000 +00010000 +00000111 +800002e0 +00000000 +00010000 +00000119 +800002f4 +00000000 +00010000 +00000121 +8000031c +00000000 +00010000 +00000129 +80000348 +00000000 +00010000 +00000131 +80000378 +00000000 +00010000 +00000139 +8000038c +00000000 +00010000 +00000141 +800003a0 +00000000 +00010000 +00000149 +800003b4 +00000000 +00010000 +00000151 +800003d0 +00000000 +00010000 +00000159 +800003ec +00000000 +00010000 +00000161 +80000428 +00000000 +00010000 +00000166 +80002000 +00000000 +00020010 +00000174 +80002000 +00000000 +00020010 +00000184 +80000000 +00000000 +00010010 +0000018b +80002000 +00000000 +00020010 +00000190 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +33636300 +71517449 +006f2e77 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +62627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +6600325f +006c6961 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39325f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +0000047c +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +000002d0 +00000005 +00000027 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002370 +00000199 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002509 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmul.dump b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmul.dump new file mode 100644 index 0000000..329e045 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmul.dump @@ -0,0 +1,534 @@ + +rv32uzbc-p-clmul: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 02000193 li gp,32 +80000198: 000085b7 lui a1,0x8 +8000019c: e0058593 addi a1,a1,-512 # 7e00 <_start-0x7fff8200> +800001a0: b6db7637 lui a2,0xb6db7 +800001a4: db760613 addi a2,a2,-585 # b6db6db7 <_end+0x36db4db7> +800001a8: 0ac59733 clmul a4,a1,a2 +800001ac: 000063b7 lui t2,0x6 +800001b0: a0038393 addi t2,t2,-1536 # 5a00 <_start-0x7fffa600> +800001b4: 4a771663 bne a4,t2,80000660 + +800001b8 : +800001b8: 02100193 li gp,33 +800001bc: 000085b7 lui a1,0x8 +800001c0: fc058593 addi a1,a1,-64 # 7fc0 <_start-0x7fff8040> +800001c4: b6db7637 lui a2,0xb6db7 +800001c8: db760613 addi a2,a2,-585 # b6db6db7 <_end+0x36db4db7> +800001cc: 0ac59733 clmul a4,a1,a2 +800001d0: 000063b7 lui t2,0x6 +800001d4: b4038393 addi t2,t2,-1216 # 5b40 <_start-0x7fffa4c0> +800001d8: 48771463 bne a4,t2,80000660 + +800001dc : +800001dc: 00200193 li gp,2 +800001e0: 00000593 li a1,0 +800001e4: 00000613 li a2,0 +800001e8: 0ac59733 clmul a4,a1,a2 +800001ec: 00000393 li t2,0 +800001f0: 46771863 bne a4,t2,80000660 + +800001f4 : +800001f4: 00300193 li gp,3 +800001f8: 00100593 li a1,1 +800001fc: 00100613 li a2,1 +80000200: 0ac59733 clmul a4,a1,a2 +80000204: 00100393 li t2,1 +80000208: 44771c63 bne a4,t2,80000660 + +8000020c : +8000020c: 00400193 li gp,4 +80000210: 00300593 li a1,3 +80000214: 00700613 li a2,7 +80000218: 0ac59733 clmul a4,a1,a2 +8000021c: 00900393 li t2,9 +80000220: 44771063 bne a4,t2,80000660 + +80000224 : +80000224: 00500193 li gp,5 +80000228: 00000593 li a1,0 +8000022c: ffff8637 lui a2,0xffff8 +80000230: 0ac59733 clmul a4,a1,a2 +80000234: 00000393 li t2,0 +80000238: 42771463 bne a4,t2,80000660 + +8000023c : +8000023c: 00600193 li gp,6 +80000240: 800005b7 lui a1,0x80000 +80000244: 00000613 li a2,0 +80000248: 0ac59733 clmul a4,a1,a2 +8000024c: 00000393 li t2,0 +80000250: 40771863 bne a4,t2,80000660 + +80000254 : +80000254: 00700193 li gp,7 +80000258: 800005b7 lui a1,0x80000 +8000025c: ffff8637 lui a2,0xffff8 +80000260: 0ac59733 clmul a4,a1,a2 +80000264: 00000393 li t2,0 +80000268: 3e771c63 bne a4,t2,80000660 + +8000026c : +8000026c: 01e00193 li gp,30 +80000270: aaaab5b7 lui a1,0xaaaab +80000274: aab58593 addi a1,a1,-1365 # aaaaaaab <_end+0x2aaa8aab> +80000278: 00030637 lui a2,0x30 +8000027c: e7d60613 addi a2,a2,-387 # 2fe7d <_start-0x7ffd0183> +80000280: 0ac59733 clmul a4,a1,a2 +80000284: fffc33b7 lui t2,0xfffc3 +80000288: 24f38393 addi t2,t2,591 # fffc324f <_end+0x7ffc124f> +8000028c: 3c771a63 bne a4,t2,80000660 + +80000290 : +80000290: 01f00193 li gp,31 +80000294: 000305b7 lui a1,0x30 +80000298: e7d58593 addi a1,a1,-387 # 2fe7d <_start-0x7ffd0183> +8000029c: aaaab637 lui a2,0xaaaab +800002a0: aab60613 addi a2,a2,-1365 # aaaaaaab <_end+0x2aaa8aab> +800002a4: 0ac59733 clmul a4,a1,a2 +800002a8: fffc33b7 lui t2,0xfffc3 +800002ac: 24f38393 addi t2,t2,591 # fffc324f <_end+0x7ffc124f> +800002b0: 3a771863 bne a4,t2,80000660 + +800002b4 : +800002b4: 02200193 li gp,34 +800002b8: ff0005b7 lui a1,0xff000 +800002bc: ff000637 lui a2,0xff000 +800002c0: 0ac59733 clmul a4,a1,a2 +800002c4: 00000393 li t2,0 +800002c8: 38771c63 bne a4,t2,80000660 + +800002cc : +800002cc: 02300193 li gp,35 +800002d0: fff00593 li a1,-1 +800002d4: fff00613 li a2,-1 +800002d8: 0ac59733 clmul a4,a1,a2 +800002dc: 555553b7 lui t2,0x55555 +800002e0: 55538393 addi t2,t2,1365 # 55555555 <_start-0x2aaaaaab> +800002e4: 36771e63 bne a4,t2,80000660 + +800002e8 : +800002e8: 02400193 li gp,36 +800002ec: fff00593 li a1,-1 +800002f0: 00100613 li a2,1 +800002f4: 0ac59733 clmul a4,a1,a2 +800002f8: fff00393 li t2,-1 +800002fc: 36771263 bne a4,t2,80000660 + +80000300 : +80000300: 02500193 li gp,37 +80000304: 00100593 li a1,1 +80000308: fff00613 li a2,-1 +8000030c: 0ac59733 clmul a4,a1,a2 +80000310: fff00393 li t2,-1 +80000314: 34771663 bne a4,t2,80000660 + +80000318 : +80000318: 00800193 li gp,8 +8000031c: 00d00593 li a1,13 +80000320: 00b00613 li a2,11 +80000324: 0ac595b3 clmul a1,a1,a2 +80000328: 07f00393 li t2,127 +8000032c: 32759a63 bne a1,t2,80000660 + +80000330 : +80000330: 00900193 li gp,9 +80000334: 00e00593 li a1,14 +80000338: 00b00613 li a2,11 +8000033c: 0ac59633 clmul a2,a1,a2 +80000340: 06200393 li t2,98 +80000344: 30761e63 bne a2,t2,80000660 + +80000348 : +80000348: 00a00193 li gp,10 +8000034c: 00d00593 li a1,13 +80000350: 0ab595b3 clmul a1,a1,a1 +80000354: 05100393 li t2,81 +80000358: 30759463 bne a1,t2,80000660 + +8000035c : +8000035c: 00b00193 li gp,11 +80000360: 00000213 li tp,0 +80000364: 00d00093 li ra,13 +80000368: 00b00113 li sp,11 +8000036c: 0a209733 clmul a4,ra,sp +80000370: 00070313 mv t1,a4 +80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000378: 00200293 li t0,2 +8000037c: fe5214e3 bne tp,t0,80000364 +80000380: 07f00393 li t2,127 +80000384: 2c731e63 bne t1,t2,80000660 + +80000388 : +80000388: 00c00193 li gp,12 +8000038c: 00000213 li tp,0 +80000390: 00e00093 li ra,14 +80000394: 00b00113 li sp,11 +80000398: 0a209733 clmul a4,ra,sp +8000039c: 00000013 nop +800003a0: 00070313 mv t1,a4 +800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a8: 00200293 li t0,2 +800003ac: fe5212e3 bne tp,t0,80000390 +800003b0: 06200393 li t2,98 +800003b4: 2a731663 bne t1,t2,80000660 + +800003b8 : +800003b8: 00d00193 li gp,13 +800003bc: 00000213 li tp,0 +800003c0: 00f00093 li ra,15 +800003c4: 00b00113 li sp,11 +800003c8: 0a209733 clmul a4,ra,sp +800003cc: 00000013 nop +800003d0: 00000013 nop +800003d4: 00070313 mv t1,a4 +800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003dc: 00200293 li t0,2 +800003e0: fe5210e3 bne tp,t0,800003c0 +800003e4: 06900393 li t2,105 +800003e8: 26731c63 bne t1,t2,80000660 + +800003ec : +800003ec: 00e00193 li gp,14 +800003f0: 00000213 li tp,0 +800003f4: 00d00093 li ra,13 +800003f8: 00b00113 li sp,11 +800003fc: 0a209733 clmul a4,ra,sp +80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000404: 00200293 li t0,2 +80000408: fe5216e3 bne tp,t0,800003f4 +8000040c: 07f00393 li t2,127 +80000410: 24771863 bne a4,t2,80000660 + +80000414 : +80000414: 00f00193 li gp,15 +80000418: 00000213 li tp,0 +8000041c: 00e00093 li ra,14 +80000420: 00b00113 li sp,11 +80000424: 00000013 nop +80000428: 0a209733 clmul a4,ra,sp +8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000430: 00200293 li t0,2 +80000434: fe5214e3 bne tp,t0,8000041c +80000438: 06200393 li t2,98 +8000043c: 22771263 bne a4,t2,80000660 + +80000440 : +80000440: 01000193 li gp,16 +80000444: 00000213 li tp,0 +80000448: 00f00093 li ra,15 +8000044c: 00b00113 li sp,11 +80000450: 00000013 nop +80000454: 00000013 nop +80000458: 0a209733 clmul a4,ra,sp +8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000460: 00200293 li t0,2 +80000464: fe5212e3 bne tp,t0,80000448 +80000468: 06900393 li t2,105 +8000046c: 1e771a63 bne a4,t2,80000660 + +80000470 : +80000470: 01100193 li gp,17 +80000474: 00000213 li tp,0 +80000478: 00d00093 li ra,13 +8000047c: 00000013 nop +80000480: 00b00113 li sp,11 +80000484: 0a209733 clmul a4,ra,sp +80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000048c: 00200293 li t0,2 +80000490: fe5214e3 bne tp,t0,80000478 +80000494: 07f00393 li t2,127 +80000498: 1c771463 bne a4,t2,80000660 + +8000049c : +8000049c: 01200193 li gp,18 +800004a0: 00000213 li tp,0 +800004a4: 00e00093 li ra,14 +800004a8: 00000013 nop +800004ac: 00b00113 li sp,11 +800004b0: 00000013 nop +800004b4: 0a209733 clmul a4,ra,sp +800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004bc: 00200293 li t0,2 +800004c0: fe5212e3 bne tp,t0,800004a4 +800004c4: 06200393 li t2,98 +800004c8: 18771c63 bne a4,t2,80000660 + +800004cc : +800004cc: 01300193 li gp,19 +800004d0: 00000213 li tp,0 +800004d4: 00f00093 li ra,15 +800004d8: 00000013 nop +800004dc: 00000013 nop +800004e0: 00b00113 li sp,11 +800004e4: 0a209733 clmul a4,ra,sp +800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ec: 00200293 li t0,2 +800004f0: fe5212e3 bne tp,t0,800004d4 +800004f4: 06900393 li t2,105 +800004f8: 16771463 bne a4,t2,80000660 + +800004fc : +800004fc: 01400193 li gp,20 +80000500: 00000213 li tp,0 +80000504: 00b00113 li sp,11 +80000508: 00d00093 li ra,13 +8000050c: 0a209733 clmul a4,ra,sp +80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000514: 00200293 li t0,2 +80000518: fe5216e3 bne tp,t0,80000504 +8000051c: 07f00393 li t2,127 +80000520: 14771063 bne a4,t2,80000660 + +80000524 : +80000524: 01500193 li gp,21 +80000528: 00000213 li tp,0 +8000052c: 00b00113 li sp,11 +80000530: 00e00093 li ra,14 +80000534: 00000013 nop +80000538: 0a209733 clmul a4,ra,sp +8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000540: 00200293 li t0,2 +80000544: fe5214e3 bne tp,t0,8000052c +80000548: 06200393 li t2,98 +8000054c: 10771a63 bne a4,t2,80000660 + +80000550 : +80000550: 01600193 li gp,22 +80000554: 00000213 li tp,0 +80000558: 00b00113 li sp,11 +8000055c: 00f00093 li ra,15 +80000560: 00000013 nop +80000564: 00000013 nop +80000568: 0a209733 clmul a4,ra,sp +8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000570: 00200293 li t0,2 +80000574: fe5212e3 bne tp,t0,80000558 +80000578: 06900393 li t2,105 +8000057c: 0e771263 bne a4,t2,80000660 + +80000580 : +80000580: 01700193 li gp,23 +80000584: 00000213 li tp,0 +80000588: 00b00113 li sp,11 +8000058c: 00000013 nop +80000590: 00d00093 li ra,13 +80000594: 0a209733 clmul a4,ra,sp +80000598: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000059c: 00200293 li t0,2 +800005a0: fe5214e3 bne tp,t0,80000588 +800005a4: 07f00393 li t2,127 +800005a8: 0a771c63 bne a4,t2,80000660 + +800005ac : +800005ac: 01800193 li gp,24 +800005b0: 00000213 li tp,0 +800005b4: 00b00113 li sp,11 +800005b8: 00000013 nop +800005bc: 00e00093 li ra,14 +800005c0: 00000013 nop +800005c4: 0a209733 clmul a4,ra,sp +800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005cc: 00200293 li t0,2 +800005d0: fe5212e3 bne tp,t0,800005b4 +800005d4: 06200393 li t2,98 +800005d8: 08771463 bne a4,t2,80000660 + +800005dc : +800005dc: 01900193 li gp,25 +800005e0: 00000213 li tp,0 +800005e4: 00b00113 li sp,11 +800005e8: 00000013 nop +800005ec: 00000013 nop +800005f0: 00f00093 li ra,15 +800005f4: 0a209733 clmul a4,ra,sp +800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005fc: 00200293 li t0,2 +80000600: fe5212e3 bne tp,t0,800005e4 +80000604: 06900393 li t2,105 +80000608: 04771c63 bne a4,t2,80000660 + +8000060c : +8000060c: 01a00193 li gp,26 +80000610: 01f00093 li ra,31 +80000614: 0a101133 clmul sp,zero,ra +80000618: 00000393 li t2,0 +8000061c: 04711263 bne sp,t2,80000660 + +80000620 : +80000620: 01b00193 li gp,27 +80000624: 02000093 li ra,32 +80000628: 0a009133 clmul sp,ra,zero +8000062c: 00000393 li t2,0 +80000630: 02711863 bne sp,t2,80000660 + +80000634 : +80000634: 01c00193 li gp,28 +80000638: 0a0010b3 clmul ra,zero,zero +8000063c: 00000393 li t2,0 +80000640: 02709063 bne ra,t2,80000660 + +80000644 : +80000644: 01d00193 li gp,29 +80000648: 02100093 li ra,33 +8000064c: 02200113 li sp,34 +80000650: 0a209033 clmul zero,ra,sp +80000654: 00000393 li t2,0 +80000658: 00701463 bne zero,t2,80000660 +8000065c: 02301063 bne zero,gp,8000067c + +80000660 : +80000660: 0ff0000f fence +80000664: 00018063 beqz gp,80000664 +80000668: 00119193 slli gp,gp,0x1 +8000066c: 0011e193 ori gp,gp,1 +80000670: 05d00893 li a7,93 +80000674: 00018513 mv a0,gp +80000678: 00000073 ecall + +8000067c : +8000067c: 0ff0000f fence +80000680: 00100193 li gp,1 +80000684: 05d00893 li a7,93 +80000688: 00000513 li a0,0 +8000068c: 00000073 ecall +80000690: c0001073 unimp +80000694: 0000 .insn 2, 0x +80000696: 0000 .insn 2, 0x +80000698: 0000 .insn 2, 0x +8000069a: 0000 .insn 2, 0x +8000069c: 0000 .insn 2, 0x +8000069e: 0000 .insn 2, 0x +800006a0: 0000 .insn 2, 0x +800006a2: 0000 .insn 2, 0x +800006a4: 0000 .insn 2, 0x +800006a6: 0000 .insn 2, 0x +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmul.hex b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmul.hex new file mode 100644 index 0000000..8c350e9 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmul.hex @@ -0,0 +1,1499 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +02000193 +000085b7 +e0058593 +b6db7637 +db760613 +0ac59733 +000063b7 +a0038393 +4a771663 +02100193 +000085b7 +fc058593 +b6db7637 +db760613 +0ac59733 +000063b7 +b4038393 +48771463 +00200193 +00000593 +00000613 +0ac59733 +00000393 +46771863 +00300193 +00100593 +00100613 +0ac59733 +00100393 +44771c63 +00400193 +00300593 +00700613 +0ac59733 +00900393 +44771063 +00500193 +00000593 +ffff8637 +0ac59733 +00000393 +42771463 +00600193 +800005b7 +00000613 +0ac59733 +00000393 +40771863 +00700193 +800005b7 +ffff8637 +0ac59733 +00000393 +3e771c63 +01e00193 +aaaab5b7 +aab58593 +00030637 +e7d60613 +0ac59733 +fffc33b7 +24f38393 +3c771a63 +01f00193 +000305b7 +e7d58593 +aaaab637 +aab60613 +0ac59733 +fffc33b7 +24f38393 +3a771863 +02200193 +ff0005b7 +ff000637 +0ac59733 +00000393 +38771c63 +02300193 +fff00593 +fff00613 +0ac59733 +555553b7 +55538393 +36771e63 +02400193 +fff00593 +00100613 +0ac59733 +fff00393 +36771263 +02500193 +00100593 +fff00613 +0ac59733 +fff00393 +34771663 +00800193 +00d00593 +00b00613 +0ac595b3 +07f00393 +32759a63 +00900193 +00e00593 +00b00613 +0ac59633 +06200393 +30761e63 +00a00193 +00d00593 +0ab595b3 +05100393 +30759463 +00b00193 +00000213 +00d00093 +00b00113 +0a209733 +00070313 +00120213 +00200293 +fe5214e3 +07f00393 +2c731e63 +00c00193 +00000213 +00e00093 +00b00113 +0a209733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +06200393 +2a731663 +00d00193 +00000213 +00f00093 +00b00113 +0a209733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +06900393 +26731c63 +00e00193 +00000213 +00d00093 +00b00113 +0a209733 +00120213 +00200293 +fe5216e3 +07f00393 +24771863 +00f00193 +00000213 +00e00093 +00b00113 +00000013 +0a209733 +00120213 +00200293 +fe5214e3 +06200393 +22771263 +01000193 +00000213 +00f00093 +00b00113 +00000013 +00000013 +0a209733 +00120213 +00200293 +fe5212e3 +06900393 +1e771a63 +01100193 +00000213 +00d00093 +00000013 +00b00113 +0a209733 +00120213 +00200293 +fe5214e3 +07f00393 +1c771463 +01200193 +00000213 +00e00093 +00000013 +00b00113 +00000013 +0a209733 +00120213 +00200293 +fe5212e3 +06200393 +18771c63 +01300193 +00000213 +00f00093 +00000013 +00000013 +00b00113 +0a209733 +00120213 +00200293 +fe5212e3 +06900393 +16771463 +01400193 +00000213 +00b00113 +00d00093 +0a209733 +00120213 +00200293 +fe5216e3 +07f00393 +14771063 +01500193 +00000213 +00b00113 +00e00093 +00000013 +0a209733 +00120213 +00200293 +fe5214e3 +06200393 +10771a63 +01600193 +00000213 +00b00113 +00f00093 +00000013 +00000013 +0a209733 +00120213 +00200293 +fe5212e3 +06900393 +0e771263 +01700193 +00000213 +00b00113 +00000013 +00d00093 +0a209733 +00120213 +00200293 +fe5214e3 +07f00393 +0a771c63 +01800193 +00000213 +00b00113 +00000013 +00e00093 +00000013 +0a209733 +00120213 +00200293 +fe5212e3 +06200393 +08771463 +01900193 +00000213 +00b00113 +00000013 +00000013 +00f00093 +0a209733 +00120213 +00200293 +fe5212e3 +06900393 +04771c63 +01a00193 +01f00093 +0a101133 +00000393 +04711263 +01b00193 +02000093 +0a009133 +00000393 +02711863 +01c00193 +0a0010b3 +00000393 +02709063 +01d00193 +02100093 +02200113 +0a209033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3163627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a4 +80000660 +00000000 +00010000 +000000a9 +800001b8 +00000000 +00010000 +000000b1 +800001dc +00000000 +00010000 +000000b8 +800001f4 +00000000 +00010000 +000000bf +8000020c +00000000 +00010000 +000000c6 +80000224 +00000000 +00010000 +000000cd +8000023c +00000000 +00010000 +000000d4 +80000254 +00000000 +00010000 +000000db +8000026c +00000000 +00010000 +000000e3 +80000290 +00000000 +00010000 +000000eb +800002b4 +00000000 +00010000 +000000f3 +800002cc +00000000 +00010000 +000000fb +800002e8 +00000000 +00010000 +00000103 +80000300 +00000000 +00010000 +0000010b +80000318 +00000000 +00010000 +00000112 +80000330 +00000000 +00010000 +00000119 +80000348 +00000000 +00010000 +00000121 +8000035c +00000000 +00010000 +00000129 +80000388 +00000000 +00010000 +00000131 +800003b8 +00000000 +00010000 +00000139 +800003ec +00000000 +00010000 +00000141 +80000414 +00000000 +00010000 +00000149 +80000440 +00000000 +00010000 +00000151 +80000470 +00000000 +00010000 +00000159 +8000049c +00000000 +00010000 +00000161 +800004cc +00000000 +00010000 +00000169 +800004fc +00000000 +00010000 +00000171 +80000524 +00000000 +00010000 +00000179 +80000550 +00000000 +00010000 +00000181 +80000580 +00000000 +00010000 +00000189 +800005ac +00000000 +00010000 +00000191 +800005dc +00000000 +00010000 +00000199 +8000060c +00000000 +00010000 +000001a1 +80000620 +00000000 +00010000 +000001a9 +80000634 +00000000 +00010000 +000001b1 +80000644 +00000000 +00010000 +000001b9 +8000067c +00000000 +00010000 +000001be +80002000 +00000000 +00020010 +000001cc +80002000 +00000000 +00020010 +000001dc +80000000 +00000000 +00010010 +000001e3 +80002000 +00000000 +00020010 +000001e8 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +4a636300 +317a687a +006f2e6d +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +63627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +0032335f +6c696166 +73657400 +33335f74 +73657400 +00325f74 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +74003033 +5f747365 +74003133 +5f747365 +74003433 +5f747365 +74003533 +5f747365 +74003633 +5f747365 +74003733 +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +00000380 +00000005 +00000032 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002420 +000001f1 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002611 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulh.dump b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulh.dump new file mode 100644 index 0000000..5f86003 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulh.dump @@ -0,0 +1,534 @@ + +rv32uzbc-p-clmulh: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 02000193 li gp,32 +80000198: 000085b7 lui a1,0x8 +8000019c: e0058593 addi a1,a1,-512 # 7e00 <_start-0x7fff8200> +800001a0: b6db7637 lui a2,0xb6db7 +800001a4: db760613 addi a2,a2,-585 # b6db6db7 <_end+0x36db4db7> +800001a8: 0ac5b733 clmulh a4,a1,a2 +800001ac: 000033b7 lui t2,0x3 +800001b0: 60038393 addi t2,t2,1536 # 3600 <_start-0x7fffca00> +800001b4: 4a771663 bne a4,t2,80000660 + +800001b8 : +800001b8: 02100193 li gp,33 +800001bc: 000085b7 lui a1,0x8 +800001c0: fc058593 addi a1,a1,-64 # 7fc0 <_start-0x7fff8040> +800001c4: b6db7637 lui a2,0xb6db7 +800001c8: db760613 addi a2,a2,-585 # b6db6db7 <_end+0x36db4db7> +800001cc: 0ac5b733 clmulh a4,a1,a2 +800001d0: 000033b7 lui t2,0x3 +800001d4: 6c038393 addi t2,t2,1728 # 36c0 <_start-0x7fffc940> +800001d8: 48771463 bne a4,t2,80000660 + +800001dc : +800001dc: 00200193 li gp,2 +800001e0: 00000593 li a1,0 +800001e4: 00000613 li a2,0 +800001e8: 0ac5b733 clmulh a4,a1,a2 +800001ec: 00000393 li t2,0 +800001f0: 46771863 bne a4,t2,80000660 + +800001f4 : +800001f4: 00300193 li gp,3 +800001f8: 00100593 li a1,1 +800001fc: 00100613 li a2,1 +80000200: 0ac5b733 clmulh a4,a1,a2 +80000204: 00000393 li t2,0 +80000208: 44771c63 bne a4,t2,80000660 + +8000020c : +8000020c: 00400193 li gp,4 +80000210: 00300593 li a1,3 +80000214: 00700613 li a2,7 +80000218: 0ac5b733 clmulh a4,a1,a2 +8000021c: 00000393 li t2,0 +80000220: 44771063 bne a4,t2,80000660 + +80000224 : +80000224: 00500193 li gp,5 +80000228: 00000593 li a1,0 +8000022c: ffff8637 lui a2,0xffff8 +80000230: 0ac5b733 clmulh a4,a1,a2 +80000234: 00000393 li t2,0 +80000238: 42771463 bne a4,t2,80000660 + +8000023c : +8000023c: 00600193 li gp,6 +80000240: 800005b7 lui a1,0x80000 +80000244: 00000613 li a2,0 +80000248: 0ac5b733 clmulh a4,a1,a2 +8000024c: 00000393 li t2,0 +80000250: 40771863 bne a4,t2,80000660 + +80000254 : +80000254: 00700193 li gp,7 +80000258: 800005b7 lui a1,0x80000 +8000025c: ffff8637 lui a2,0xffff8 +80000260: 0ac5b733 clmulh a4,a1,a2 +80000264: 7fffc3b7 lui t2,0x7fffc +80000268: 3e771c63 bne a4,t2,80000660 + +8000026c : +8000026c: 01e00193 li gp,30 +80000270: aaaab5b7 lui a1,0xaaaab +80000274: aab58593 addi a1,a1,-1365 # aaaaaaab <_end+0x2aaa8aab> +80000278: 00030637 lui a2,0x30 +8000027c: e7d60613 addi a2,a2,-387 # 2fe7d <_start-0x7ffd0183> +80000280: 0ac5b733 clmulh a4,a1,a2 +80000284: 000133b7 lui t2,0x13 +80000288: 3cd38393 addi t2,t2,973 # 133cd <_start-0x7ffecc33> +8000028c: 3c771a63 bne a4,t2,80000660 + +80000290 : +80000290: 01f00193 li gp,31 +80000294: 000305b7 lui a1,0x30 +80000298: e7d58593 addi a1,a1,-387 # 2fe7d <_start-0x7ffd0183> +8000029c: aaaab637 lui a2,0xaaaab +800002a0: aab60613 addi a2,a2,-1365 # aaaaaaab <_end+0x2aaa8aab> +800002a4: 0ac5b733 clmulh a4,a1,a2 +800002a8: 000133b7 lui t2,0x13 +800002ac: 3cd38393 addi t2,t2,973 # 133cd <_start-0x7ffecc33> +800002b0: 3a771863 bne a4,t2,80000660 + +800002b4 : +800002b4: 02200193 li gp,34 +800002b8: ff0005b7 lui a1,0xff000 +800002bc: ff000637 lui a2,0xff000 +800002c0: 0ac5b733 clmulh a4,a1,a2 +800002c4: 555503b7 lui t2,0x55550 +800002c8: 38771c63 bne a4,t2,80000660 + +800002cc : +800002cc: 02300193 li gp,35 +800002d0: fff00593 li a1,-1 +800002d4: fff00613 li a2,-1 +800002d8: 0ac5b733 clmulh a4,a1,a2 +800002dc: 555553b7 lui t2,0x55555 +800002e0: 55538393 addi t2,t2,1365 # 55555555 <_start-0x2aaaaaab> +800002e4: 36771e63 bne a4,t2,80000660 + +800002e8 : +800002e8: 02400193 li gp,36 +800002ec: fff00593 li a1,-1 +800002f0: 00100613 li a2,1 +800002f4: 0ac5b733 clmulh a4,a1,a2 +800002f8: 00000393 li t2,0 +800002fc: 36771263 bne a4,t2,80000660 + +80000300 : +80000300: 02500193 li gp,37 +80000304: 00100593 li a1,1 +80000308: fff00613 li a2,-1 +8000030c: 0ac5b733 clmulh a4,a1,a2 +80000310: 00000393 li t2,0 +80000314: 34771663 bne a4,t2,80000660 + +80000318 : +80000318: 00800193 li gp,8 +8000031c: 00d00593 li a1,13 +80000320: 00b00613 li a2,11 +80000324: 0ac5b5b3 clmulh a1,a1,a2 +80000328: 00000393 li t2,0 +8000032c: 32759a63 bne a1,t2,80000660 + +80000330 : +80000330: 00900193 li gp,9 +80000334: 00e00593 li a1,14 +80000338: 00b00613 li a2,11 +8000033c: 0ac5b633 clmulh a2,a1,a2 +80000340: 00000393 li t2,0 +80000344: 30761e63 bne a2,t2,80000660 + +80000348 : +80000348: 00a00193 li gp,10 +8000034c: 00d00593 li a1,13 +80000350: 0ab5b5b3 clmulh a1,a1,a1 +80000354: 00000393 li t2,0 +80000358: 30759463 bne a1,t2,80000660 + +8000035c : +8000035c: 00b00193 li gp,11 +80000360: 00000213 li tp,0 +80000364: 00d00093 li ra,13 +80000368: 00b00113 li sp,11 +8000036c: 0a20b733 clmulh a4,ra,sp +80000370: 00070313 mv t1,a4 +80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000378: 00200293 li t0,2 +8000037c: fe5214e3 bne tp,t0,80000364 +80000380: 00000393 li t2,0 +80000384: 2c731e63 bne t1,t2,80000660 + +80000388 : +80000388: 00c00193 li gp,12 +8000038c: 00000213 li tp,0 +80000390: 00e00093 li ra,14 +80000394: 00b00113 li sp,11 +80000398: 0a20b733 clmulh a4,ra,sp +8000039c: 00000013 nop +800003a0: 00070313 mv t1,a4 +800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a8: 00200293 li t0,2 +800003ac: fe5212e3 bne tp,t0,80000390 +800003b0: 00000393 li t2,0 +800003b4: 2a731663 bne t1,t2,80000660 + +800003b8 : +800003b8: 00d00193 li gp,13 +800003bc: 00000213 li tp,0 +800003c0: 00f00093 li ra,15 +800003c4: 00b00113 li sp,11 +800003c8: 0a20b733 clmulh a4,ra,sp +800003cc: 00000013 nop +800003d0: 00000013 nop +800003d4: 00070313 mv t1,a4 +800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003dc: 00200293 li t0,2 +800003e0: fe5210e3 bne tp,t0,800003c0 +800003e4: 00000393 li t2,0 +800003e8: 26731c63 bne t1,t2,80000660 + +800003ec : +800003ec: 00e00193 li gp,14 +800003f0: 00000213 li tp,0 +800003f4: 00d00093 li ra,13 +800003f8: 00b00113 li sp,11 +800003fc: 0a20b733 clmulh a4,ra,sp +80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000404: 00200293 li t0,2 +80000408: fe5216e3 bne tp,t0,800003f4 +8000040c: 00000393 li t2,0 +80000410: 24771863 bne a4,t2,80000660 + +80000414 : +80000414: 00f00193 li gp,15 +80000418: 00000213 li tp,0 +8000041c: 00e00093 li ra,14 +80000420: 00b00113 li sp,11 +80000424: 00000013 nop +80000428: 0a20b733 clmulh a4,ra,sp +8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000430: 00200293 li t0,2 +80000434: fe5214e3 bne tp,t0,8000041c +80000438: 00000393 li t2,0 +8000043c: 22771263 bne a4,t2,80000660 + +80000440 : +80000440: 01000193 li gp,16 +80000444: 00000213 li tp,0 +80000448: 00f00093 li ra,15 +8000044c: 00b00113 li sp,11 +80000450: 00000013 nop +80000454: 00000013 nop +80000458: 0a20b733 clmulh a4,ra,sp +8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000460: 00200293 li t0,2 +80000464: fe5212e3 bne tp,t0,80000448 +80000468: 00000393 li t2,0 +8000046c: 1e771a63 bne a4,t2,80000660 + +80000470 : +80000470: 01100193 li gp,17 +80000474: 00000213 li tp,0 +80000478: 00d00093 li ra,13 +8000047c: 00000013 nop +80000480: 00b00113 li sp,11 +80000484: 0a20b733 clmulh a4,ra,sp +80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000048c: 00200293 li t0,2 +80000490: fe5214e3 bne tp,t0,80000478 +80000494: 00000393 li t2,0 +80000498: 1c771463 bne a4,t2,80000660 + +8000049c : +8000049c: 01200193 li gp,18 +800004a0: 00000213 li tp,0 +800004a4: 00e00093 li ra,14 +800004a8: 00000013 nop +800004ac: 00b00113 li sp,11 +800004b0: 00000013 nop +800004b4: 0a20b733 clmulh a4,ra,sp +800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004bc: 00200293 li t0,2 +800004c0: fe5212e3 bne tp,t0,800004a4 +800004c4: 00000393 li t2,0 +800004c8: 18771c63 bne a4,t2,80000660 + +800004cc : +800004cc: 01300193 li gp,19 +800004d0: 00000213 li tp,0 +800004d4: 00f00093 li ra,15 +800004d8: 00000013 nop +800004dc: 00000013 nop +800004e0: 00b00113 li sp,11 +800004e4: 0a20b733 clmulh a4,ra,sp +800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ec: 00200293 li t0,2 +800004f0: fe5212e3 bne tp,t0,800004d4 +800004f4: 00000393 li t2,0 +800004f8: 16771463 bne a4,t2,80000660 + +800004fc : +800004fc: 01400193 li gp,20 +80000500: 00000213 li tp,0 +80000504: 00b00113 li sp,11 +80000508: 00d00093 li ra,13 +8000050c: 0a20b733 clmulh a4,ra,sp +80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000514: 00200293 li t0,2 +80000518: fe5216e3 bne tp,t0,80000504 +8000051c: 00000393 li t2,0 +80000520: 14771063 bne a4,t2,80000660 + +80000524 : +80000524: 01500193 li gp,21 +80000528: 00000213 li tp,0 +8000052c: 00b00113 li sp,11 +80000530: 00e00093 li ra,14 +80000534: 00000013 nop +80000538: 0a20b733 clmulh a4,ra,sp +8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000540: 00200293 li t0,2 +80000544: fe5214e3 bne tp,t0,8000052c +80000548: 00000393 li t2,0 +8000054c: 10771a63 bne a4,t2,80000660 + +80000550 : +80000550: 01600193 li gp,22 +80000554: 00000213 li tp,0 +80000558: 00b00113 li sp,11 +8000055c: 00f00093 li ra,15 +80000560: 00000013 nop +80000564: 00000013 nop +80000568: 0a20b733 clmulh a4,ra,sp +8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000570: 00200293 li t0,2 +80000574: fe5212e3 bne tp,t0,80000558 +80000578: 00000393 li t2,0 +8000057c: 0e771263 bne a4,t2,80000660 + +80000580 : +80000580: 01700193 li gp,23 +80000584: 00000213 li tp,0 +80000588: 00b00113 li sp,11 +8000058c: 00000013 nop +80000590: 00d00093 li ra,13 +80000594: 0a20b733 clmulh a4,ra,sp +80000598: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000059c: 00200293 li t0,2 +800005a0: fe5214e3 bne tp,t0,80000588 +800005a4: 00000393 li t2,0 +800005a8: 0a771c63 bne a4,t2,80000660 + +800005ac : +800005ac: 01800193 li gp,24 +800005b0: 00000213 li tp,0 +800005b4: 00b00113 li sp,11 +800005b8: 00000013 nop +800005bc: 00e00093 li ra,14 +800005c0: 00000013 nop +800005c4: 0a20b733 clmulh a4,ra,sp +800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005cc: 00200293 li t0,2 +800005d0: fe5212e3 bne tp,t0,800005b4 +800005d4: 00000393 li t2,0 +800005d8: 08771463 bne a4,t2,80000660 + +800005dc : +800005dc: 01900193 li gp,25 +800005e0: 00000213 li tp,0 +800005e4: 00b00113 li sp,11 +800005e8: 00000013 nop +800005ec: 00000013 nop +800005f0: 00f00093 li ra,15 +800005f4: 0a20b733 clmulh a4,ra,sp +800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005fc: 00200293 li t0,2 +80000600: fe5212e3 bne tp,t0,800005e4 +80000604: 00000393 li t2,0 +80000608: 04771c63 bne a4,t2,80000660 + +8000060c : +8000060c: 01a00193 li gp,26 +80000610: 01f00093 li ra,31 +80000614: 0a103133 clmulh sp,zero,ra +80000618: 00000393 li t2,0 +8000061c: 04711263 bne sp,t2,80000660 + +80000620 : +80000620: 01b00193 li gp,27 +80000624: 02000093 li ra,32 +80000628: 0a00b133 clmulh sp,ra,zero +8000062c: 00000393 li t2,0 +80000630: 02711863 bne sp,t2,80000660 + +80000634 : +80000634: 01c00193 li gp,28 +80000638: 0a0030b3 clmulh ra,zero,zero +8000063c: 00000393 li t2,0 +80000640: 02709063 bne ra,t2,80000660 + +80000644 : +80000644: 01d00193 li gp,29 +80000648: 02100093 li ra,33 +8000064c: 02200113 li sp,34 +80000650: 0a20b033 clmulh zero,ra,sp +80000654: 00000393 li t2,0 +80000658: 00701463 bne zero,t2,80000660 +8000065c: 02301063 bne zero,gp,8000067c + +80000660 : +80000660: 0ff0000f fence +80000664: 00018063 beqz gp,80000664 +80000668: 00119193 slli gp,gp,0x1 +8000066c: 0011e193 ori gp,gp,1 +80000670: 05d00893 li a7,93 +80000674: 00018513 mv a0,gp +80000678: 00000073 ecall + +8000067c : +8000067c: 0ff0000f fence +80000680: 00100193 li gp,1 +80000684: 05d00893 li a7,93 +80000688: 00000513 li a0,0 +8000068c: 00000073 ecall +80000690: c0001073 unimp +80000694: 0000 .insn 2, 0x +80000696: 0000 .insn 2, 0x +80000698: 0000 .insn 2, 0x +8000069a: 0000 .insn 2, 0x +8000069c: 0000 .insn 2, 0x +8000069e: 0000 .insn 2, 0x +800006a0: 0000 .insn 2, 0x +800006a2: 0000 .insn 2, 0x +800006a4: 0000 .insn 2, 0x +800006a6: 0000 .insn 2, 0x +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulh.hex b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulh.hex new file mode 100644 index 0000000..2c73858 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulh.hex @@ -0,0 +1,1499 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +02000193 +000085b7 +e0058593 +b6db7637 +db760613 +0ac5b733 +000033b7 +60038393 +4a771663 +02100193 +000085b7 +fc058593 +b6db7637 +db760613 +0ac5b733 +000033b7 +6c038393 +48771463 +00200193 +00000593 +00000613 +0ac5b733 +00000393 +46771863 +00300193 +00100593 +00100613 +0ac5b733 +00000393 +44771c63 +00400193 +00300593 +00700613 +0ac5b733 +00000393 +44771063 +00500193 +00000593 +ffff8637 +0ac5b733 +00000393 +42771463 +00600193 +800005b7 +00000613 +0ac5b733 +00000393 +40771863 +00700193 +800005b7 +ffff8637 +0ac5b733 +7fffc3b7 +3e771c63 +01e00193 +aaaab5b7 +aab58593 +00030637 +e7d60613 +0ac5b733 +000133b7 +3cd38393 +3c771a63 +01f00193 +000305b7 +e7d58593 +aaaab637 +aab60613 +0ac5b733 +000133b7 +3cd38393 +3a771863 +02200193 +ff0005b7 +ff000637 +0ac5b733 +555503b7 +38771c63 +02300193 +fff00593 +fff00613 +0ac5b733 +555553b7 +55538393 +36771e63 +02400193 +fff00593 +00100613 +0ac5b733 +00000393 +36771263 +02500193 +00100593 +fff00613 +0ac5b733 +00000393 +34771663 +00800193 +00d00593 +00b00613 +0ac5b5b3 +00000393 +32759a63 +00900193 +00e00593 +00b00613 +0ac5b633 +00000393 +30761e63 +00a00193 +00d00593 +0ab5b5b3 +00000393 +30759463 +00b00193 +00000213 +00d00093 +00b00113 +0a20b733 +00070313 +00120213 +00200293 +fe5214e3 +00000393 +2c731e63 +00c00193 +00000213 +00e00093 +00b00113 +0a20b733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +00000393 +2a731663 +00d00193 +00000213 +00f00093 +00b00113 +0a20b733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +00000393 +26731c63 +00e00193 +00000213 +00d00093 +00b00113 +0a20b733 +00120213 +00200293 +fe5216e3 +00000393 +24771863 +00f00193 +00000213 +00e00093 +00b00113 +00000013 +0a20b733 +00120213 +00200293 +fe5214e3 +00000393 +22771263 +01000193 +00000213 +00f00093 +00b00113 +00000013 +00000013 +0a20b733 +00120213 +00200293 +fe5212e3 +00000393 +1e771a63 +01100193 +00000213 +00d00093 +00000013 +00b00113 +0a20b733 +00120213 +00200293 +fe5214e3 +00000393 +1c771463 +01200193 +00000213 +00e00093 +00000013 +00b00113 +00000013 +0a20b733 +00120213 +00200293 +fe5212e3 +00000393 +18771c63 +01300193 +00000213 +00f00093 +00000013 +00000013 +00b00113 +0a20b733 +00120213 +00200293 +fe5212e3 +00000393 +16771463 +01400193 +00000213 +00b00113 +00d00093 +0a20b733 +00120213 +00200293 +fe5216e3 +00000393 +14771063 +01500193 +00000213 +00b00113 +00e00093 +00000013 +0a20b733 +00120213 +00200293 +fe5214e3 +00000393 +10771a63 +01600193 +00000213 +00b00113 +00f00093 +00000013 +00000013 +0a20b733 +00120213 +00200293 +fe5212e3 +00000393 +0e771263 +01700193 +00000213 +00b00113 +00000013 +00d00093 +0a20b733 +00120213 +00200293 +fe5214e3 +00000393 +0a771c63 +01800193 +00000213 +00b00113 +00000013 +00e00093 +00000013 +0a20b733 +00120213 +00200293 +fe5212e3 +00000393 +08771463 +01900193 +00000213 +00b00113 +00000013 +00000013 +00f00093 +0a20b733 +00120213 +00200293 +fe5212e3 +00000393 +04771c63 +01a00193 +01f00093 +0a103133 +00000393 +04711263 +01b00193 +02000093 +0a00b133 +00000393 +02711863 +01c00193 +0a0030b3 +00000393 +02709063 +01d00193 +02100093 +02200113 +0a20b033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3163627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a4 +80000660 +00000000 +00010000 +000000a9 +800001b8 +00000000 +00010000 +000000b1 +800001dc +00000000 +00010000 +000000b8 +800001f4 +00000000 +00010000 +000000bf +8000020c +00000000 +00010000 +000000c6 +80000224 +00000000 +00010000 +000000cd +8000023c +00000000 +00010000 +000000d4 +80000254 +00000000 +00010000 +000000db +8000026c +00000000 +00010000 +000000e3 +80000290 +00000000 +00010000 +000000eb +800002b4 +00000000 +00010000 +000000f3 +800002cc +00000000 +00010000 +000000fb +800002e8 +00000000 +00010000 +00000103 +80000300 +00000000 +00010000 +0000010b +80000318 +00000000 +00010000 +00000112 +80000330 +00000000 +00010000 +00000119 +80000348 +00000000 +00010000 +00000121 +8000035c +00000000 +00010000 +00000129 +80000388 +00000000 +00010000 +00000131 +800003b8 +00000000 +00010000 +00000139 +800003ec +00000000 +00010000 +00000141 +80000414 +00000000 +00010000 +00000149 +80000440 +00000000 +00010000 +00000151 +80000470 +00000000 +00010000 +00000159 +8000049c +00000000 +00010000 +00000161 +800004cc +00000000 +00010000 +00000169 +800004fc +00000000 +00010000 +00000171 +80000524 +00000000 +00010000 +00000179 +80000550 +00000000 +00010000 +00000181 +80000580 +00000000 +00010000 +00000189 +800005ac +00000000 +00010000 +00000191 +800005dc +00000000 +00010000 +00000199 +8000060c +00000000 +00010000 +000001a1 +80000620 +00000000 +00010000 +000001a9 +80000634 +00000000 +00010000 +000001b1 +80000644 +00000000 +00010000 +000001b9 +8000067c +00000000 +00010000 +000001be +80002000 +00000000 +00020010 +000001cc +80002000 +00000000 +00020010 +000001dc +80000000 +00000000 +00010010 +000001e3 +80002000 +00000000 +00020010 +000001e8 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +6e636300 +6e597945 +006f2e6c +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +63627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +0032335f +6c696166 +73657400 +33335f74 +73657400 +00325f74 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +74003033 +5f747365 +74003133 +5f747365 +74003433 +5f747365 +74003533 +5f747365 +74003633 +5f747365 +74003733 +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +00000380 +00000005 +00000032 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002420 +000001f1 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002611 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulr.dump b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulr.dump new file mode 100644 index 0000000..dce54d2 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulr.dump @@ -0,0 +1,534 @@ + +rv32uzbc-p-clmulr: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0580006f j 80000058 + +80000004 : +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0863 beq t5,t6,8000003c +80000010: 00900f93 li t6,9 +80000014: 03ff0463 beq t5,t6,8000003c +80000018: 00b00f93 li t6,11 +8000001c: 03ff0063 beq t5,t6,8000003c +80000020: 00000f13 li t5,0 +80000024: 000f0463 beqz t5,8000002c +80000028: 000f0067 jr t5 +8000002c: 34202f73 csrr t5,mcause +80000030: 000f5463 bgez t5,80000038 +80000034: 0040006f j 80000038 + +80000038 : +80000038: 5391e193 ori gp,gp,1337 + +8000003c : +8000003c: 00001f17 auipc t5,0x1 +80000040: fc3f2223 sw gp,-60(t5) # 80001000 +80000044: 00001f17 auipc t5,0x1 +80000048: fc0f2023 sw zero,-64(t5) # 80001004 +8000004c: 0080006f j 80000054 +80000050: fedff06f j 8000003c + +80000054 : +80000054: 0000006f j 80000054 + +80000058 : +80000058: 00000093 li ra,0 +8000005c: 00000113 li sp,0 +80000060: 00000193 li gp,0 +80000064: 00000213 li tp,0 +80000068: 00000293 li t0,0 +8000006c: 00000313 li t1,0 +80000070: 00000393 li t2,0 +80000074: 00000413 li s0,0 +80000078: 00000493 li s1,0 +8000007c: 00000513 li a0,0 +80000080: 00000593 li a1,0 +80000084: 00000613 li a2,0 +80000088: 00000693 li a3,0 +8000008c: 00000713 li a4,0 +80000090: 00000793 li a5,0 +80000094: 00000813 li a6,0 +80000098: 00000893 li a7,0 +8000009c: 00000913 li s2,0 +800000a0: 00000993 li s3,0 +800000a4: 00000a13 li s4,0 +800000a8: 00000a93 li s5,0 +800000ac: 00000b13 li s6,0 +800000b0: 00000b93 li s7,0 +800000b4: 00000c13 li s8,0 +800000b8: 00000c93 li s9,0 +800000bc: 00000d13 li s10,0 +800000c0: 00000d93 li s11,0 +800000c4: 00000e13 li t3,0 +800000c8: 00000e93 li t4,0 +800000cc: 00000f13 li t5,0 +800000d0: 00000f93 li t6,0 +800000d4: f1402573 csrr a0,mhartid +800000d8: 00051063 bnez a0,800000d8 +800000dc: 00000297 auipc t0,0x0 +800000e0: 01028293 addi t0,t0,16 # 800000ec +800000e4: 30529073 csrw mtvec,t0 +800000e8: 74445073 csrwi 0x744,8 +800000ec: 00000297 auipc t0,0x0 +800000f0: 01028293 addi t0,t0,16 # 800000fc +800000f4: 30529073 csrw mtvec,t0 +800000f8: 18005073 csrwi satp,0 +800000fc: 00000297 auipc t0,0x0 +80000100: 02028293 addi t0,t0,32 # 8000011c +80000104: 30529073 csrw mtvec,t0 +80000108: 800002b7 lui t0,0x80000 +8000010c: fff28293 addi t0,t0,-1 # 7fffffff <_start-0x1> +80000110: 3b029073 csrw pmpaddr0,t0 +80000114: 01f00293 li t0,31 +80000118: 3a029073 csrw pmpcfg0,t0 +8000011c: 30405073 csrwi mie,0 +80000120: 00000297 auipc t0,0x0 +80000124: 01428293 addi t0,t0,20 # 80000134 +80000128: 30529073 csrw mtvec,t0 +8000012c: 30205073 csrwi medeleg,0 +80000130: 30305073 csrwi mideleg,0 +80000134: 00000193 li gp,0 +80000138: 00000297 auipc t0,0x0 +8000013c: ecc28293 addi t0,t0,-308 # 80000004 +80000140: 30529073 csrw mtvec,t0 +80000144: 00100513 li a0,1 +80000148: 01f51513 slli a0,a0,0x1f +8000014c: 00054c63 bltz a0,80000164 +80000150: 0ff0000f fence +80000154: 00100193 li gp,1 +80000158: 05d00893 li a7,93 +8000015c: 00000513 li a0,0 +80000160: 00000073 ecall +80000164: 00000293 li t0,0 +80000168: 00028a63 beqz t0,8000017c +8000016c: 10529073 csrw stvec,t0 +80000170: 0000b2b7 lui t0,0xb +80000174: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000178: 30229073 csrw medeleg,t0 +8000017c: 30005073 csrwi mstatus,0 +80000180: 00000297 auipc t0,0x0 +80000184: 01428293 addi t0,t0,20 # 80000194 +80000188: 34129073 csrw mepc,t0 +8000018c: f1402573 csrr a0,mhartid +80000190: 30200073 mret + +80000194 : +80000194: 02000193 li gp,32 +80000198: 000085b7 lui a1,0x8 +8000019c: e0058593 addi a1,a1,-512 # 7e00 <_start-0x7fff8200> +800001a0: b6db7637 lui a2,0xb6db7 +800001a4: db760613 addi a2,a2,-585 # b6db6db7 <_end+0x36db4db7> +800001a8: 0ac5a733 clmulr a4,a1,a2 +800001ac: 000073b7 lui t2,0x7 +800001b0: c0038393 addi t2,t2,-1024 # 6c00 <_start-0x7fff9400> +800001b4: 4a771663 bne a4,t2,80000660 + +800001b8 : +800001b8: 02100193 li gp,33 +800001bc: 000085b7 lui a1,0x8 +800001c0: fc058593 addi a1,a1,-64 # 7fc0 <_start-0x7fff8040> +800001c4: b6db7637 lui a2,0xb6db7 +800001c8: db760613 addi a2,a2,-585 # b6db6db7 <_end+0x36db4db7> +800001cc: 0ac5a733 clmulr a4,a1,a2 +800001d0: 000073b7 lui t2,0x7 +800001d4: d8038393 addi t2,t2,-640 # 6d80 <_start-0x7fff9280> +800001d8: 48771463 bne a4,t2,80000660 + +800001dc : +800001dc: 00200193 li gp,2 +800001e0: 00000593 li a1,0 +800001e4: 00000613 li a2,0 +800001e8: 0ac5a733 clmulr a4,a1,a2 +800001ec: 00000393 li t2,0 +800001f0: 46771863 bne a4,t2,80000660 + +800001f4 : +800001f4: 00300193 li gp,3 +800001f8: 00100593 li a1,1 +800001fc: 00100613 li a2,1 +80000200: 0ac5a733 clmulr a4,a1,a2 +80000204: 00000393 li t2,0 +80000208: 44771c63 bne a4,t2,80000660 + +8000020c : +8000020c: 00400193 li gp,4 +80000210: 00300593 li a1,3 +80000214: 00700613 li a2,7 +80000218: 0ac5a733 clmulr a4,a1,a2 +8000021c: 00000393 li t2,0 +80000220: 44771063 bne a4,t2,80000660 + +80000224 : +80000224: 00500193 li gp,5 +80000228: 00000593 li a1,0 +8000022c: ffff8637 lui a2,0xffff8 +80000230: 0ac5a733 clmulr a4,a1,a2 +80000234: 00000393 li t2,0 +80000238: 42771463 bne a4,t2,80000660 + +8000023c : +8000023c: 00600193 li gp,6 +80000240: 800005b7 lui a1,0x80000 +80000244: 00000613 li a2,0 +80000248: 0ac5a733 clmulr a4,a1,a2 +8000024c: 00000393 li t2,0 +80000250: 40771863 bne a4,t2,80000660 + +80000254 : +80000254: 00700193 li gp,7 +80000258: 800005b7 lui a1,0x80000 +8000025c: ffff8637 lui a2,0xffff8 +80000260: 0ac5a733 clmulr a4,a1,a2 +80000264: ffff83b7 lui t2,0xffff8 +80000268: 3e771c63 bne a4,t2,80000660 + +8000026c : +8000026c: 01e00193 li gp,30 +80000270: aaaab5b7 lui a1,0xaaaab +80000274: aab58593 addi a1,a1,-1365 # aaaaaaab <_end+0x2aaa8aab> +80000278: 00030637 lui a2,0x30 +8000027c: e7d60613 addi a2,a2,-387 # 2fe7d <_start-0x7ffd0183> +80000280: 0ac5a733 clmulr a4,a1,a2 +80000284: 000263b7 lui t2,0x26 +80000288: 79b38393 addi t2,t2,1947 # 2679b <_start-0x7ffd9865> +8000028c: 3c771a63 bne a4,t2,80000660 + +80000290 : +80000290: 01f00193 li gp,31 +80000294: 000305b7 lui a1,0x30 +80000298: e7d58593 addi a1,a1,-387 # 2fe7d <_start-0x7ffd0183> +8000029c: aaaab637 lui a2,0xaaaab +800002a0: aab60613 addi a2,a2,-1365 # aaaaaaab <_end+0x2aaa8aab> +800002a4: 0ac5a733 clmulr a4,a1,a2 +800002a8: 000263b7 lui t2,0x26 +800002ac: 79b38393 addi t2,t2,1947 # 2679b <_start-0x7ffd9865> +800002b0: 3a771863 bne a4,t2,80000660 + +800002b4 : +800002b4: 02200193 li gp,34 +800002b8: ff0005b7 lui a1,0xff000 +800002bc: ff000637 lui a2,0xff000 +800002c0: 0ac5a733 clmulr a4,a1,a2 +800002c4: aaaa03b7 lui t2,0xaaaa0 +800002c8: 38771c63 bne a4,t2,80000660 + +800002cc : +800002cc: 02300193 li gp,35 +800002d0: fff00593 li a1,-1 +800002d4: fff00613 li a2,-1 +800002d8: 0ac5a733 clmulr a4,a1,a2 +800002dc: aaaab3b7 lui t2,0xaaaab +800002e0: aaa38393 addi t2,t2,-1366 # aaaaaaaa <_end+0x2aaa8aaa> +800002e4: 36771e63 bne a4,t2,80000660 + +800002e8 : +800002e8: 02400193 li gp,36 +800002ec: fff00593 li a1,-1 +800002f0: 00100613 li a2,1 +800002f4: 0ac5a733 clmulr a4,a1,a2 +800002f8: 00100393 li t2,1 +800002fc: 36771263 bne a4,t2,80000660 + +80000300 : +80000300: 02500193 li gp,37 +80000304: 00100593 li a1,1 +80000308: fff00613 li a2,-1 +8000030c: 0ac5a733 clmulr a4,a1,a2 +80000310: 00100393 li t2,1 +80000314: 34771663 bne a4,t2,80000660 + +80000318 : +80000318: 00800193 li gp,8 +8000031c: 00d00593 li a1,13 +80000320: 00b00613 li a2,11 +80000324: 0ac5a5b3 clmulr a1,a1,a2 +80000328: 00000393 li t2,0 +8000032c: 32759a63 bne a1,t2,80000660 + +80000330 : +80000330: 00900193 li gp,9 +80000334: 00e00593 li a1,14 +80000338: 00b00613 li a2,11 +8000033c: 0ac5a633 clmulr a2,a1,a2 +80000340: 00000393 li t2,0 +80000344: 30761e63 bne a2,t2,80000660 + +80000348 : +80000348: 00a00193 li gp,10 +8000034c: 00d00593 li a1,13 +80000350: 0ab5a5b3 clmulr a1,a1,a1 +80000354: 00000393 li t2,0 +80000358: 30759463 bne a1,t2,80000660 + +8000035c : +8000035c: 00b00193 li gp,11 +80000360: 00000213 li tp,0 +80000364: 00d00093 li ra,13 +80000368: 00b00113 li sp,11 +8000036c: 0a20a733 clmulr a4,ra,sp +80000370: 00070313 mv t1,a4 +80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000378: 00200293 li t0,2 +8000037c: fe5214e3 bne tp,t0,80000364 +80000380: 00000393 li t2,0 +80000384: 2c731e63 bne t1,t2,80000660 + +80000388 : +80000388: 00c00193 li gp,12 +8000038c: 00000213 li tp,0 +80000390: 00e00093 li ra,14 +80000394: 00b00113 li sp,11 +80000398: 0a20a733 clmulr a4,ra,sp +8000039c: 00000013 nop +800003a0: 00070313 mv t1,a4 +800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a8: 00200293 li t0,2 +800003ac: fe5212e3 bne tp,t0,80000390 +800003b0: 00000393 li t2,0 +800003b4: 2a731663 bne t1,t2,80000660 + +800003b8 : +800003b8: 00d00193 li gp,13 +800003bc: 00000213 li tp,0 +800003c0: 00f00093 li ra,15 +800003c4: 00b00113 li sp,11 +800003c8: 0a20a733 clmulr a4,ra,sp +800003cc: 00000013 nop +800003d0: 00000013 nop +800003d4: 00070313 mv t1,a4 +800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003dc: 00200293 li t0,2 +800003e0: fe5210e3 bne tp,t0,800003c0 +800003e4: 00000393 li t2,0 +800003e8: 26731c63 bne t1,t2,80000660 + +800003ec : +800003ec: 00e00193 li gp,14 +800003f0: 00000213 li tp,0 +800003f4: 00d00093 li ra,13 +800003f8: 00b00113 li sp,11 +800003fc: 0a20a733 clmulr a4,ra,sp +80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000404: 00200293 li t0,2 +80000408: fe5216e3 bne tp,t0,800003f4 +8000040c: 00000393 li t2,0 +80000410: 24771863 bne a4,t2,80000660 + +80000414 : +80000414: 00f00193 li gp,15 +80000418: 00000213 li tp,0 +8000041c: 00e00093 li ra,14 +80000420: 00b00113 li sp,11 +80000424: 00000013 nop +80000428: 0a20a733 clmulr a4,ra,sp +8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000430: 00200293 li t0,2 +80000434: fe5214e3 bne tp,t0,8000041c +80000438: 00000393 li t2,0 +8000043c: 22771263 bne a4,t2,80000660 + +80000440 : +80000440: 01000193 li gp,16 +80000444: 00000213 li tp,0 +80000448: 00f00093 li ra,15 +8000044c: 00b00113 li sp,11 +80000450: 00000013 nop +80000454: 00000013 nop +80000458: 0a20a733 clmulr a4,ra,sp +8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000460: 00200293 li t0,2 +80000464: fe5212e3 bne tp,t0,80000448 +80000468: 00000393 li t2,0 +8000046c: 1e771a63 bne a4,t2,80000660 + +80000470 : +80000470: 01100193 li gp,17 +80000474: 00000213 li tp,0 +80000478: 00d00093 li ra,13 +8000047c: 00000013 nop +80000480: 00b00113 li sp,11 +80000484: 0a20a733 clmulr a4,ra,sp +80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000048c: 00200293 li t0,2 +80000490: fe5214e3 bne tp,t0,80000478 +80000494: 00000393 li t2,0 +80000498: 1c771463 bne a4,t2,80000660 + +8000049c : +8000049c: 01200193 li gp,18 +800004a0: 00000213 li tp,0 +800004a4: 00e00093 li ra,14 +800004a8: 00000013 nop +800004ac: 00b00113 li sp,11 +800004b0: 00000013 nop +800004b4: 0a20a733 clmulr a4,ra,sp +800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004bc: 00200293 li t0,2 +800004c0: fe5212e3 bne tp,t0,800004a4 +800004c4: 00000393 li t2,0 +800004c8: 18771c63 bne a4,t2,80000660 + +800004cc : +800004cc: 01300193 li gp,19 +800004d0: 00000213 li tp,0 +800004d4: 00f00093 li ra,15 +800004d8: 00000013 nop +800004dc: 00000013 nop +800004e0: 00b00113 li sp,11 +800004e4: 0a20a733 clmulr a4,ra,sp +800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ec: 00200293 li t0,2 +800004f0: fe5212e3 bne tp,t0,800004d4 +800004f4: 00000393 li t2,0 +800004f8: 16771463 bne a4,t2,80000660 + +800004fc : +800004fc: 01400193 li gp,20 +80000500: 00000213 li tp,0 +80000504: 00b00113 li sp,11 +80000508: 00d00093 li ra,13 +8000050c: 0a20a733 clmulr a4,ra,sp +80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000514: 00200293 li t0,2 +80000518: fe5216e3 bne tp,t0,80000504 +8000051c: 00000393 li t2,0 +80000520: 14771063 bne a4,t2,80000660 + +80000524 : +80000524: 01500193 li gp,21 +80000528: 00000213 li tp,0 +8000052c: 00b00113 li sp,11 +80000530: 00e00093 li ra,14 +80000534: 00000013 nop +80000538: 0a20a733 clmulr a4,ra,sp +8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000540: 00200293 li t0,2 +80000544: fe5214e3 bne tp,t0,8000052c +80000548: 00000393 li t2,0 +8000054c: 10771a63 bne a4,t2,80000660 + +80000550 : +80000550: 01600193 li gp,22 +80000554: 00000213 li tp,0 +80000558: 00b00113 li sp,11 +8000055c: 00f00093 li ra,15 +80000560: 00000013 nop +80000564: 00000013 nop +80000568: 0a20a733 clmulr a4,ra,sp +8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000570: 00200293 li t0,2 +80000574: fe5212e3 bne tp,t0,80000558 +80000578: 00000393 li t2,0 +8000057c: 0e771263 bne a4,t2,80000660 + +80000580 : +80000580: 01700193 li gp,23 +80000584: 00000213 li tp,0 +80000588: 00b00113 li sp,11 +8000058c: 00000013 nop +80000590: 00d00093 li ra,13 +80000594: 0a20a733 clmulr a4,ra,sp +80000598: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000059c: 00200293 li t0,2 +800005a0: fe5214e3 bne tp,t0,80000588 +800005a4: 00000393 li t2,0 +800005a8: 0a771c63 bne a4,t2,80000660 + +800005ac : +800005ac: 01800193 li gp,24 +800005b0: 00000213 li tp,0 +800005b4: 00b00113 li sp,11 +800005b8: 00000013 nop +800005bc: 00e00093 li ra,14 +800005c0: 00000013 nop +800005c4: 0a20a733 clmulr a4,ra,sp +800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005cc: 00200293 li t0,2 +800005d0: fe5212e3 bne tp,t0,800005b4 +800005d4: 00000393 li t2,0 +800005d8: 08771463 bne a4,t2,80000660 + +800005dc : +800005dc: 01900193 li gp,25 +800005e0: 00000213 li tp,0 +800005e4: 00b00113 li sp,11 +800005e8: 00000013 nop +800005ec: 00000013 nop +800005f0: 00f00093 li ra,15 +800005f4: 0a20a733 clmulr a4,ra,sp +800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005fc: 00200293 li t0,2 +80000600: fe5212e3 bne tp,t0,800005e4 +80000604: 00000393 li t2,0 +80000608: 04771c63 bne a4,t2,80000660 + +8000060c : +8000060c: 01a00193 li gp,26 +80000610: 01f00093 li ra,31 +80000614: 0a102133 clmulr sp,zero,ra +80000618: 00000393 li t2,0 +8000061c: 04711263 bne sp,t2,80000660 + +80000620 : +80000620: 01b00193 li gp,27 +80000624: 02000093 li ra,32 +80000628: 0a00a133 clmulr sp,ra,zero +8000062c: 00000393 li t2,0 +80000630: 02711863 bne sp,t2,80000660 + +80000634 : +80000634: 01c00193 li gp,28 +80000638: 0a0020b3 clmulr ra,zero,zero +8000063c: 00000393 li t2,0 +80000640: 02709063 bne ra,t2,80000660 + +80000644 : +80000644: 01d00193 li gp,29 +80000648: 02100093 li ra,33 +8000064c: 02200113 li sp,34 +80000650: 0a20a033 clmulr zero,ra,sp +80000654: 00000393 li t2,0 +80000658: 00701463 bne zero,t2,80000660 +8000065c: 02301063 bne zero,gp,8000067c + +80000660 : +80000660: 0ff0000f fence +80000664: 00018063 beqz gp,80000664 +80000668: 00119193 slli gp,gp,0x1 +8000066c: 0011e193 ori gp,gp,1 +80000670: 05d00893 li a7,93 +80000674: 00018513 mv a0,gp +80000678: 00000073 ecall + +8000067c : +8000067c: 0ff0000f fence +80000680: 00100193 li gp,1 +80000684: 05d00893 li a7,93 +80000688: 00000513 li a0,0 +8000068c: 00000073 ecall +80000690: c0001073 unimp +80000694: 0000 .insn 2, 0x +80000696: 0000 .insn 2, 0x +80000698: 0000 .insn 2, 0x +8000069a: 0000 .insn 2, 0x +8000069c: 0000 .insn 2, 0x +8000069e: 0000 .insn 2, 0x +800006a0: 0000 .insn 2, 0x +800006a2: 0000 .insn 2, 0x +800006a4: 0000 .insn 2, 0x +800006a6: 0000 .insn 2, 0x +800006a8: 0000 .insn 2, 0x +800006aa: 0000 .insn 2, 0x +800006ac: 0000 .insn 2, 0x +800006ae: 0000 .insn 2, 0x +800006b0: 0000 .insn 2, 0x +800006b2: 0000 .insn 2, 0x +800006b4: 0000 .insn 2, 0x +800006b6: 0000 .insn 2, 0x +800006b8: 0000 .insn 2, 0x +800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulr.hex b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulr.hex new file mode 100644 index 0000000..dab9e51 --- /dev/null +++ b/testcase/riscv-tests-hex/rv32uzbc/rv32uzbc-clmulr.hex @@ -0,0 +1,1499 @@ +0580006f +34202f73 +00800f93 +03ff0863 +00900f93 +03ff0463 +00b00f93 +03ff0063 +00000f13 +000f0463 +000f0067 +34202f73 +000f5463 +0040006f +5391e193 +00001f17 +fc3f2223 +00001f17 +fc0f2023 +0080006f +fedff06f +0000006f +00000093 +00000113 +00000193 +00000213 +00000293 +00000313 +00000393 +00000413 +00000493 +00000513 +00000593 +00000613 +00000693 +00000713 +00000793 +00000813 +00000893 +00000913 +00000993 +00000a13 +00000a93 +00000b13 +00000b93 +00000c13 +00000c93 +00000d13 +00000d93 +00000e13 +00000e93 +00000f13 +00000f93 +f1402573 +00051063 +00000297 +01028293 +30529073 +74445073 +00000297 +01028293 +30529073 +18005073 +00000297 +02028293 +30529073 +800002b7 +fff28293 +3b029073 +01f00293 +3a029073 +30405073 +00000297 +01428293 +30529073 +30205073 +30305073 +00000193 +00000297 +ecc28293 +30529073 +00100513 +01f51513 +00054c63 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +00000293 +00028a63 +10529073 +0000b2b7 +10928293 +30229073 +30005073 +00000297 +01428293 +34129073 +f1402573 +30200073 +02000193 +000085b7 +e0058593 +b6db7637 +db760613 +0ac5a733 +000073b7 +c0038393 +4a771663 +02100193 +000085b7 +fc058593 +b6db7637 +db760613 +0ac5a733 +000073b7 +d8038393 +48771463 +00200193 +00000593 +00000613 +0ac5a733 +00000393 +46771863 +00300193 +00100593 +00100613 +0ac5a733 +00000393 +44771c63 +00400193 +00300593 +00700613 +0ac5a733 +00000393 +44771063 +00500193 +00000593 +ffff8637 +0ac5a733 +00000393 +42771463 +00600193 +800005b7 +00000613 +0ac5a733 +00000393 +40771863 +00700193 +800005b7 +ffff8637 +0ac5a733 +ffff83b7 +3e771c63 +01e00193 +aaaab5b7 +aab58593 +00030637 +e7d60613 +0ac5a733 +000263b7 +79b38393 +3c771a63 +01f00193 +000305b7 +e7d58593 +aaaab637 +aab60613 +0ac5a733 +000263b7 +79b38393 +3a771863 +02200193 +ff0005b7 +ff000637 +0ac5a733 +aaaa03b7 +38771c63 +02300193 +fff00593 +fff00613 +0ac5a733 +aaaab3b7 +aaa38393 +36771e63 +02400193 +fff00593 +00100613 +0ac5a733 +00100393 +36771263 +02500193 +00100593 +fff00613 +0ac5a733 +00100393 +34771663 +00800193 +00d00593 +00b00613 +0ac5a5b3 +00000393 +32759a63 +00900193 +00e00593 +00b00613 +0ac5a633 +00000393 +30761e63 +00a00193 +00d00593 +0ab5a5b3 +00000393 +30759463 +00b00193 +00000213 +00d00093 +00b00113 +0a20a733 +00070313 +00120213 +00200293 +fe5214e3 +00000393 +2c731e63 +00c00193 +00000213 +00e00093 +00b00113 +0a20a733 +00000013 +00070313 +00120213 +00200293 +fe5212e3 +00000393 +2a731663 +00d00193 +00000213 +00f00093 +00b00113 +0a20a733 +00000013 +00000013 +00070313 +00120213 +00200293 +fe5210e3 +00000393 +26731c63 +00e00193 +00000213 +00d00093 +00b00113 +0a20a733 +00120213 +00200293 +fe5216e3 +00000393 +24771863 +00f00193 +00000213 +00e00093 +00b00113 +00000013 +0a20a733 +00120213 +00200293 +fe5214e3 +00000393 +22771263 +01000193 +00000213 +00f00093 +00b00113 +00000013 +00000013 +0a20a733 +00120213 +00200293 +fe5212e3 +00000393 +1e771a63 +01100193 +00000213 +00d00093 +00000013 +00b00113 +0a20a733 +00120213 +00200293 +fe5214e3 +00000393 +1c771463 +01200193 +00000213 +00e00093 +00000013 +00b00113 +00000013 +0a20a733 +00120213 +00200293 +fe5212e3 +00000393 +18771c63 +01300193 +00000213 +00f00093 +00000013 +00000013 +00b00113 +0a20a733 +00120213 +00200293 +fe5212e3 +00000393 +16771463 +01400193 +00000213 +00b00113 +00d00093 +0a20a733 +00120213 +00200293 +fe5216e3 +00000393 +14771063 +01500193 +00000213 +00b00113 +00e00093 +00000013 +0a20a733 +00120213 +00200293 +fe5214e3 +00000393 +10771a63 +01600193 +00000213 +00b00113 +00f00093 +00000013 +00000013 +0a20a733 +00120213 +00200293 +fe5212e3 +00000393 +0e771263 +01700193 +00000213 +00b00113 +00000013 +00d00093 +0a20a733 +00120213 +00200293 +fe5214e3 +00000393 +0a771c63 +01800193 +00000213 +00b00113 +00000013 +00e00093 +00000013 +0a20a733 +00120213 +00200293 +fe5212e3 +00000393 +08771463 +01900193 +00000213 +00b00113 +00000013 +00000013 +00f00093 +0a20a733 +00120213 +00200293 +fe5212e3 +00000393 +04771c63 +01a00193 +01f00093 +0a102133 +00000393 +04711263 +01b00193 +02000093 +0a00a133 +00000393 +02711863 +01c00193 +0a0020b3 +00000393 +02709063 +01d00193 +02100093 +02200113 +0a20a033 +00000393 +00701463 +02301063 +0ff0000f +00018063 +00119193 +0011e193 +05d00893 +00018513 +00000073 +0ff0000f +00100193 +05d00893 +00000513 +00000073 +c0001073 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00005641 +73697200 +01007663 +0000004c +33767205 +70326932 +326d5f31 +615f3070 +5f317032 +32703266 +7032645f +697a5f32 +32727363 +7a5f3070 +6e656669 +32696563 +7a5f3070 +6c756d6d +5f307031 +3163627a +08003070 +000b0a01 +00000000 +00000000 +00000000 +00000000 +00000000 +80000000 +00000000 +00010003 +00000000 +80001000 +00000000 +00020003 +00000000 +00000000 +00000000 +00030003 +00000001 +00000000 +00000000 +fff10004 +0000000c +80000000 +00000000 +00010000 +00000050 +80000058 +00000000 +00010000 +0000005d +80000004 +00000000 +00010000 +00000069 +8000003c +00000000 +00010000 +00000076 +80000038 +00000000 +00010000 +00000087 +80000038 +00000000 +00010000 +00000097 +80000054 +00000000 +00010000 +0000009c +80000194 +00000000 +00010000 +000000a4 +80000660 +00000000 +00010000 +000000a9 +800001b8 +00000000 +00010000 +000000b1 +800001dc +00000000 +00010000 +000000b8 +800001f4 +00000000 +00010000 +000000bf +8000020c +00000000 +00010000 +000000c6 +80000224 +00000000 +00010000 +000000cd +8000023c +00000000 +00010000 +000000d4 +80000254 +00000000 +00010000 +000000db +8000026c +00000000 +00010000 +000000e3 +80000290 +00000000 +00010000 +000000eb +800002b4 +00000000 +00010000 +000000f3 +800002cc +00000000 +00010000 +000000fb +800002e8 +00000000 +00010000 +00000103 +80000300 +00000000 +00010000 +0000010b +80000318 +00000000 +00010000 +00000112 +80000330 +00000000 +00010000 +00000119 +80000348 +00000000 +00010000 +00000121 +8000035c +00000000 +00010000 +00000129 +80000388 +00000000 +00010000 +00000131 +800003b8 +00000000 +00010000 +00000139 +800003ec +00000000 +00010000 +00000141 +80000414 +00000000 +00010000 +00000149 +80000440 +00000000 +00010000 +00000151 +80000470 +00000000 +00010000 +00000159 +8000049c +00000000 +00010000 +00000161 +800004cc +00000000 +00010000 +00000169 +800004fc +00000000 +00010000 +00000171 +80000524 +00000000 +00010000 +00000179 +80000550 +00000000 +00010000 +00000181 +80000580 +00000000 +00010000 +00000189 +800005ac +00000000 +00010000 +00000191 +800005dc +00000000 +00010000 +00000199 +8000060c +00000000 +00010000 +000001a1 +80000620 +00000000 +00010000 +000001a9 +80000634 +00000000 +00010000 +000001b1 +80000644 +00000000 +00010000 +000001b9 +8000067c +00000000 +00010000 +000001be +80002000 +00000000 +00020010 +000001cc +80002000 +00000000 +00020010 +000001dc +80000000 +00000000 +00010010 +000001e3 +80002000 +00000000 +00020010 +000001e8 +80001040 +00000008 +00020010 +0000006f +80001000 +00000008 +00020010 +71636300 +73726476 +006f2e59 +76727824 +32693233 +6d5f3170 +5f307032 +31703261 +7032665f +32645f32 +7a5f3270 +72736369 +5f307032 +6566697a +6965636e +5f307032 +756d6d7a +3070316c +63627a5f +00307031 +65736572 +65765f74 +726f7463 +61727400 +65765f70 +726f7463 +69727700 +745f6574 +736f686f +61680074 +656c646e +6378655f +69747065 +6f006e6f +72656874 +6378655f +69747065 +68006e6f +00746c61 +74736574 +0032335f +6c696166 +73657400 +33335f74 +73657400 +00325f74 +74736574 +7400335f +5f747365 +65740034 +355f7473 +73657400 +00365f74 +74736574 +7400375f +5f747365 +74003033 +5f747365 +74003133 +5f747365 +74003433 +5f747365 +74003533 +5f747365 +74003633 +5f747365 +74003733 +5f747365 +65740038 +395f7473 +73657400 +30315f74 +73657400 +31315f74 +73657400 +32315f74 +73657400 +33315f74 +73657400 +34315f74 +73657400 +35315f74 +73657400 +36315f74 +73657400 +37315f74 +73657400 +38315f74 +73657400 +39315f74 +73657400 +30325f74 +73657400 +31325f74 +73657400 +32325f74 +73657400 +33325f74 +73657400 +34325f74 +73657400 +35325f74 +73657400 +36325f74 +73657400 +37325f74 +73657400 +38325f74 +73657400 +39325f74 +73617000 +6e650073 +69735f64 +74616e67 +00657275 +69676562 +69735f6e +74616e67 +00657275 +6174735f +5f007472 +00646e65 +6d6f7266 +74736f68 +732e0000 +61746d79 +732e0062 +61747274 +732e0062 +72747368 +00626174 +7865742e +6e692e74 +2e007469 +6f686f74 +2e007473 +63736972 +74612e76 +62697274 +73657475 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +0000001b +00000001 +00000006 +80000000 +00001000 +000006bc +00000000 +00000000 +00000040 +00000000 +00000026 +00000001 +00000003 +80001000 +00002000 +00000048 +00000000 +00000000 +00000040 +00000000 +0000002e +70000003 +00000000 +00000000 +00002048 +00000057 +00000000 +00000000 +00000001 +00000000 +00000001 +00000002 +00000000 +00000000 +000020a0 +00000380 +00000005 +00000032 +00000004 +00000010 +00000009 +00000003 +00000000 +00000000 +00002420 +000001f1 +00000000 +00000000 +00000001 +00000000 +00000011 +00000003 +00000000 +00000000 +00002611 +00000040 +00000000 +00000000 +00000001 +00000000 diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-add_uw.dump b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-add_uw.dump new file mode 100644 index 0000000..0de0ef6 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-add_uw.dump @@ -0,0 +1,553 @@ + +rv64uzba-p-add_uw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000593 li a1,0 + 800001a0: 00000613 li a2,0 + 800001a4: 08c5873b add.uw a4,a1,a2 + 800001a8: 00000393 li t2,0 + 800001ac: 4e771863 bne a4,t2,8000069c + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 08c5873b add.uw a4,a1,a2 + 800001c0: 00200393 li t2,2 + 800001c4: 4c771c63 bne a4,t2,8000069c + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00300593 li a1,3 + 800001d0: 00700613 li a2,7 + 800001d4: 08c5873b add.uw a4,a1,a2 + 800001d8: 00a00393 li t2,10 + 800001dc: 4c771063 bne a4,t2,8000069c + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00000593 li a1,0 + 800001e8: ffff8637 lui a2,0xffff8 + 800001ec: 08c5873b add.uw a4,a1,a2 + 800001f0: ffff83b7 lui t2,0xffff8 + 800001f4: 4a771463 bne a4,t2,8000069c + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 800005b7 lui a1,0x80000 + 80000200: 00000613 li a2,0 + 80000204: 08c5873b add.uw a4,a1,a2 + 80000208: 0010039b addiw t2,zero,1 + 8000020c: 01f39393 slli t2,t2,0x1f + 80000210: 48771663 bne a4,t2,8000069c + +0000000080000214 : + 80000214: 00700193 li gp,7 + 80000218: 800005b7 lui a1,0x80000 + 8000021c: ffff8637 lui a2,0xffff8 + 80000220: 08c5873b add.uw a4,a1,a2 + 80000224: 7fff83b7 lui t2,0x7fff8 + 80000228: 46771a63 bne a4,t2,8000069c + +000000008000022c : + 8000022c: 00800193 li gp,8 + 80000230: 00000593 li a1,0 + 80000234: 00008637 lui a2,0x8 + 80000238: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 8000023c: 08c5873b add.uw a4,a1,a2 + 80000240: 000083b7 lui t2,0x8 + 80000244: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000248: 44771a63 bne a4,t2,8000069c + +000000008000024c : + 8000024c: 00900193 li gp,9 + 80000250: 800005b7 lui a1,0x80000 + 80000254: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000258: 00000613 li a2,0 + 8000025c: 08c5873b add.uw a4,a1,a2 + 80000260: 800003b7 lui t2,0x80000 + 80000264: fff3839b addiw t2,t2,-1 # 7fffffff <_start-0x1> + 80000268: 42771a63 bne a4,t2,8000069c + +000000008000026c : + 8000026c: 00a00193 li gp,10 + 80000270: 800005b7 lui a1,0x80000 + 80000274: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000278: 00008637 lui a2,0x8 + 8000027c: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 80000280: 08c5873b add.uw a4,a1,a2 + 80000284: 000103b7 lui t2,0x10 + 80000288: 0013839b addiw t2,t2,1 # 10001 <_start-0x7ffeffff> + 8000028c: 00f39393 slli t2,t2,0xf + 80000290: ffe38393 addi t2,t2,-2 + 80000294: 40771463 bne a4,t2,8000069c + +0000000080000298 : + 80000298: 00b00193 li gp,11 + 8000029c: 800005b7 lui a1,0x80000 + 800002a0: 00008637 lui a2,0x8 + 800002a4: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002a8: 08c5873b add.uw a4,a1,a2 + 800002ac: 000103b7 lui t2,0x10 + 800002b0: 0013839b addiw t2,t2,1 # 10001 <_start-0x7ffeffff> + 800002b4: 00f39393 slli t2,t2,0xf + 800002b8: fff38393 addi t2,t2,-1 + 800002bc: 3e771063 bne a4,t2,8000069c + +00000000800002c0 : + 800002c0: 00c00193 li gp,12 + 800002c4: 800005b7 lui a1,0x80000 + 800002c8: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002cc: ffff8637 lui a2,0xffff8 + 800002d0: 08c5873b add.uw a4,a1,a2 + 800002d4: 7fff83b7 lui t2,0x7fff8 + 800002d8: fff3839b addiw t2,t2,-1 # 7fff7fff <_start-0x8001> + 800002dc: 3c771063 bne a4,t2,8000069c + +00000000800002e0 : + 800002e0: 00d00193 li gp,13 + 800002e4: 00000593 li a1,0 + 800002e8: fff00613 li a2,-1 + 800002ec: 08c5873b add.uw a4,a1,a2 + 800002f0: fff00393 li t2,-1 + 800002f4: 3a771463 bne a4,t2,8000069c + +00000000800002f8 : + 800002f8: 00e00193 li gp,14 + 800002fc: fff00593 li a1,-1 + 80000300: 00100613 li a2,1 + 80000304: 08c5873b add.uw a4,a1,a2 + 80000308: 0010039b addiw t2,zero,1 + 8000030c: 02039393 slli t2,t2,0x20 + 80000310: 38771663 bne a4,t2,8000069c + +0000000080000314 : + 80000314: 00f00193 li gp,15 + 80000318: fff00593 li a1,-1 + 8000031c: fff00613 li a2,-1 + 80000320: 08c5873b add.uw a4,a1,a2 + 80000324: 0010039b addiw t2,zero,1 + 80000328: 02039393 slli t2,t2,0x20 + 8000032c: ffe38393 addi t2,t2,-2 + 80000330: 36771663 bne a4,t2,8000069c + +0000000080000334 : + 80000334: 01000193 li gp,16 + 80000338: 00100593 li a1,1 + 8000033c: 80000637 lui a2,0x80000 + 80000340: fff6061b addiw a2,a2,-1 # 7fffffff <_start-0x1> + 80000344: 08c5873b add.uw a4,a1,a2 + 80000348: 0010039b addiw t2,zero,1 + 8000034c: 01f39393 slli t2,t2,0x1f + 80000350: 34771663 bne a4,t2,8000069c + +0000000080000354 : + 80000354: 01100193 li gp,17 + 80000358: 00d00593 li a1,13 + 8000035c: 00b00613 li a2,11 + 80000360: 08c585bb add.uw a1,a1,a2 + 80000364: 01800393 li t2,24 + 80000368: 32759a63 bne a1,t2,8000069c + +000000008000036c : + 8000036c: 01200193 li gp,18 + 80000370: 00e00593 li a1,14 + 80000374: 00b00613 li a2,11 + 80000378: 08c5863b add.uw a2,a1,a2 + 8000037c: 01900393 li t2,25 + 80000380: 30761e63 bne a2,t2,8000069c + +0000000080000384 : + 80000384: 01300193 li gp,19 + 80000388: 00d00593 li a1,13 + 8000038c: 08b585bb add.uw a1,a1,a1 + 80000390: 01a00393 li t2,26 + 80000394: 30759463 bne a1,t2,8000069c + +0000000080000398 : + 80000398: 01400193 li gp,20 + 8000039c: 00000213 li tp,0 + 800003a0: 00d00093 li ra,13 + 800003a4: 00b00113 li sp,11 + 800003a8: 0820873b add.uw a4,ra,sp + 800003ac: 00070313 mv t1,a4 + 800003b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003b4: 00200293 li t0,2 + 800003b8: fe5214e3 bne tp,t0,800003a0 + 800003bc: 01800393 li t2,24 + 800003c0: 2c731e63 bne t1,t2,8000069c + +00000000800003c4 : + 800003c4: 01500193 li gp,21 + 800003c8: 00000213 li tp,0 + 800003cc: 00e00093 li ra,14 + 800003d0: 00b00113 li sp,11 + 800003d4: 0820873b add.uw a4,ra,sp + 800003d8: 00000013 nop + 800003dc: 00070313 mv t1,a4 + 800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003e4: 00200293 li t0,2 + 800003e8: fe5212e3 bne tp,t0,800003cc + 800003ec: 01900393 li t2,25 + 800003f0: 2a731663 bne t1,t2,8000069c + +00000000800003f4 : + 800003f4: 01600193 li gp,22 + 800003f8: 00000213 li tp,0 + 800003fc: 00f00093 li ra,15 + 80000400: 00b00113 li sp,11 + 80000404: 0820873b add.uw a4,ra,sp + 80000408: 00000013 nop + 8000040c: 00000013 nop + 80000410: 00070313 mv t1,a4 + 80000414: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000418: 00200293 li t0,2 + 8000041c: fe5210e3 bne tp,t0,800003fc + 80000420: 01a00393 li t2,26 + 80000424: 26731c63 bne t1,t2,8000069c + +0000000080000428 : + 80000428: 01700193 li gp,23 + 8000042c: 00000213 li tp,0 + 80000430: 00d00093 li ra,13 + 80000434: 00b00113 li sp,11 + 80000438: 0820873b add.uw a4,ra,sp + 8000043c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000440: 00200293 li t0,2 + 80000444: fe5216e3 bne tp,t0,80000430 + 80000448: 01800393 li t2,24 + 8000044c: 24771863 bne a4,t2,8000069c + +0000000080000450 : + 80000450: 01800193 li gp,24 + 80000454: 00000213 li tp,0 + 80000458: 00e00093 li ra,14 + 8000045c: 00b00113 li sp,11 + 80000460: 00000013 nop + 80000464: 0820873b add.uw a4,ra,sp + 80000468: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000046c: 00200293 li t0,2 + 80000470: fe5214e3 bne tp,t0,80000458 + 80000474: 01900393 li t2,25 + 80000478: 22771263 bne a4,t2,8000069c + +000000008000047c : + 8000047c: 01900193 li gp,25 + 80000480: 00000213 li tp,0 + 80000484: 00f00093 li ra,15 + 80000488: 00b00113 li sp,11 + 8000048c: 00000013 nop + 80000490: 00000013 nop + 80000494: 0820873b add.uw a4,ra,sp + 80000498: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000049c: 00200293 li t0,2 + 800004a0: fe5212e3 bne tp,t0,80000484 + 800004a4: 01a00393 li t2,26 + 800004a8: 1e771a63 bne a4,t2,8000069c + +00000000800004ac : + 800004ac: 01a00193 li gp,26 + 800004b0: 00000213 li tp,0 + 800004b4: 00d00093 li ra,13 + 800004b8: 00000013 nop + 800004bc: 00b00113 li sp,11 + 800004c0: 0820873b add.uw a4,ra,sp + 800004c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004c8: 00200293 li t0,2 + 800004cc: fe5214e3 bne tp,t0,800004b4 + 800004d0: 01800393 li t2,24 + 800004d4: 1c771463 bne a4,t2,8000069c + +00000000800004d8 : + 800004d8: 01b00193 li gp,27 + 800004dc: 00000213 li tp,0 + 800004e0: 00e00093 li ra,14 + 800004e4: 00000013 nop + 800004e8: 00b00113 li sp,11 + 800004ec: 00000013 nop + 800004f0: 0820873b add.uw a4,ra,sp + 800004f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004f8: 00200293 li t0,2 + 800004fc: fe5212e3 bne tp,t0,800004e0 + 80000500: 01900393 li t2,25 + 80000504: 18771c63 bne a4,t2,8000069c + +0000000080000508 : + 80000508: 01c00193 li gp,28 + 8000050c: 00000213 li tp,0 + 80000510: 00f00093 li ra,15 + 80000514: 00000013 nop + 80000518: 00000013 nop + 8000051c: 00b00113 li sp,11 + 80000520: 0820873b add.uw a4,ra,sp + 80000524: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000528: 00200293 li t0,2 + 8000052c: fe5212e3 bne tp,t0,80000510 + 80000530: 01a00393 li t2,26 + 80000534: 16771463 bne a4,t2,8000069c + +0000000080000538 : + 80000538: 01d00193 li gp,29 + 8000053c: 00000213 li tp,0 + 80000540: 00b00113 li sp,11 + 80000544: 00d00093 li ra,13 + 80000548: 0820873b add.uw a4,ra,sp + 8000054c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000550: 00200293 li t0,2 + 80000554: fe5216e3 bne tp,t0,80000540 + 80000558: 01800393 li t2,24 + 8000055c: 14771063 bne a4,t2,8000069c + +0000000080000560 : + 80000560: 01e00193 li gp,30 + 80000564: 00000213 li tp,0 + 80000568: 00b00113 li sp,11 + 8000056c: 00e00093 li ra,14 + 80000570: 00000013 nop + 80000574: 0820873b add.uw a4,ra,sp + 80000578: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000057c: 00200293 li t0,2 + 80000580: fe5214e3 bne tp,t0,80000568 + 80000584: 01900393 li t2,25 + 80000588: 10771a63 bne a4,t2,8000069c + +000000008000058c : + 8000058c: 01f00193 li gp,31 + 80000590: 00000213 li tp,0 + 80000594: 00b00113 li sp,11 + 80000598: 00f00093 li ra,15 + 8000059c: 00000013 nop + 800005a0: 00000013 nop + 800005a4: 0820873b add.uw a4,ra,sp + 800005a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005ac: 00200293 li t0,2 + 800005b0: fe5212e3 bne tp,t0,80000594 + 800005b4: 01a00393 li t2,26 + 800005b8: 0e771263 bne a4,t2,8000069c + +00000000800005bc : + 800005bc: 02000193 li gp,32 + 800005c0: 00000213 li tp,0 + 800005c4: 00b00113 li sp,11 + 800005c8: 00000013 nop + 800005cc: 00d00093 li ra,13 + 800005d0: 0820873b add.uw a4,ra,sp + 800005d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005d8: 00200293 li t0,2 + 800005dc: fe5214e3 bne tp,t0,800005c4 + 800005e0: 01800393 li t2,24 + 800005e4: 0a771c63 bne a4,t2,8000069c + +00000000800005e8 : + 800005e8: 02100193 li gp,33 + 800005ec: 00000213 li tp,0 + 800005f0: 00b00113 li sp,11 + 800005f4: 00000013 nop + 800005f8: 00e00093 li ra,14 + 800005fc: 00000013 nop + 80000600: 0820873b add.uw a4,ra,sp + 80000604: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000608: 00200293 li t0,2 + 8000060c: fe5212e3 bne tp,t0,800005f0 + 80000610: 01900393 li t2,25 + 80000614: 08771463 bne a4,t2,8000069c + +0000000080000618 : + 80000618: 02200193 li gp,34 + 8000061c: 00000213 li tp,0 + 80000620: 00b00113 li sp,11 + 80000624: 00000013 nop + 80000628: 00000013 nop + 8000062c: 00f00093 li ra,15 + 80000630: 0820873b add.uw a4,ra,sp + 80000634: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000638: 00200293 li t0,2 + 8000063c: fe5212e3 bne tp,t0,80000620 + 80000640: 01a00393 li t2,26 + 80000644: 04771c63 bne a4,t2,8000069c + +0000000080000648 : + 80000648: 02300193 li gp,35 + 8000064c: 00f00093 li ra,15 + 80000650: 0810013b add.uw sp,zero,ra + 80000654: 00f00393 li t2,15 + 80000658: 04711263 bne sp,t2,8000069c + +000000008000065c : + 8000065c: 02400193 li gp,36 + 80000660: 02000093 li ra,32 + 80000664: 0800813b zext.w sp,ra + 80000668: 02000393 li t2,32 + 8000066c: 02711863 bne sp,t2,8000069c + +0000000080000670 : + 80000670: 02500193 li gp,37 + 80000674: 080000bb zext.w ra,zero + 80000678: 00000393 li t2,0 + 8000067c: 02709063 bne ra,t2,8000069c + +0000000080000680 : + 80000680: 02600193 li gp,38 + 80000684: 01000093 li ra,16 + 80000688: 01e00113 li sp,30 + 8000068c: 0820803b add.uw zero,ra,sp + 80000690: 00000393 li t2,0 + 80000694: 00701463 bne zero,t2,8000069c + 80000698: 02301063 bne zero,gp,800006b8 + +000000008000069c : + 8000069c: 0ff0000f fence + 800006a0: 00018063 beqz gp,800006a0 + 800006a4: 00119193 slli gp,gp,0x1 + 800006a8: 0011e193 ori gp,gp,1 + 800006ac: 05d00893 li a7,93 + 800006b0: 00018513 mv a0,gp + 800006b4: 00000073 ecall + +00000000800006b8 : + 800006b8: 0ff0000f fence + 800006bc: 00100193 li gp,1 + 800006c0: 05d00893 li a7,93 + 800006c4: 00000513 li a0,0 + 800006c8: 00000073 ecall + 800006cc: c0001073 unimp + 800006d0: 0000 .insn 2, 0x + 800006d2: 0000 .insn 2, 0x + 800006d4: 0000 .insn 2, 0x + 800006d6: 0000 .insn 2, 0x + 800006d8: 0000 .insn 2, 0x + 800006da: 0000 .insn 2, 0x + 800006dc: 0000 .insn 2, 0x + 800006de: 0000 .insn 2, 0x + 800006e0: 0000 .insn 2, 0x + 800006e2: 0000 .insn 2, 0x + 800006e4: 0000 .insn 2, 0x + 800006e6: 0000 .insn 2, 0x + 800006e8: 0000 .insn 2, 0x + 800006ea: 0000 .insn 2, 0x + 800006ec: 0000 .insn 2, 0x + 800006ee: 0000 .insn 2, 0x + 800006f0: 0000 .insn 2, 0x + 800006f2: 0000 .insn 2, 0x + 800006f4: 0000 .insn 2, 0x + 800006f6: 0000 .insn 2, 0x + 800006f8: 0000 .insn 2, 0x + 800006fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-add_uw.hex b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-add_uw.hex new file mode 100644 index 0000000..a0ed8ec --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-add_uw.hex @@ -0,0 +1,831 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000059300200193 +08c5873b00000613 +4e77186300000393 +0010059300300193 +08c5873b00100613 +4c771c6300200393 +0030059300400193 +08c5873b00700613 +4c77106300a00393 +0000059300500193 +08c5873bffff8637 +4a771463ffff83b7 +800005b700600193 +08c5873b00000613 +01f393930010039b +0070019348771663 +ffff8637800005b7 +7fff83b708c5873b +0080019346771a63 +0000863700000593 +08c5873bfff6061b +fff3839b000083b7 +0090019344771a63 +fff5859b800005b7 +08c5873b00000613 +fff3839b800003b7 +00a0019342771a63 +fff5859b800005b7 +fff6061b00008637 +000103b708c5873b +00f393930013839b +40771463ffe38393 +800005b700b00193 +fff6061b00008637 +000103b708c5873b +00f393930013839b +3e771063fff38393 +800005b700c00193 +ffff8637fff5859b +7fff83b708c5873b +3c771063fff3839b +0000059300d00193 +08c5873bfff00613 +3a771463fff00393 +fff0059300e00193 +08c5873b00100613 +020393930010039b +00f0019338771663 +fff00613fff00593 +0010039b08c5873b +ffe3839302039393 +0100019336771663 +8000063700100593 +08c5873bfff6061b +01f393930010039b +0110019334771663 +00b0061300d00593 +0180039308c585bb +0120019332759a63 +00b0061300e00593 +0190039308c5863b +0130019330761e63 +08b585bb00d00593 +3075946301a00393 +0000021301400193 +00b0011300d00093 +000703130820873b +0020029300120213 +01800393fe5214e3 +015001932c731e63 +00e0009300000213 +0820873b00b00113 +0007031300000013 +0020029300120213 +01900393fe5212e3 +016001932a731663 +00f0009300000213 +0820873b00b00113 +0000001300000013 +0012021300070313 +fe5210e300200293 +26731c6301a00393 +0000021301700193 +00b0011300d00093 +001202130820873b +fe5216e300200293 +2477186301800393 +0000021301800193 +00b0011300e00093 +0820873b00000013 +0020029300120213 +01900393fe5214e3 +0190019322771263 +00f0009300000213 +0000001300b00113 +0820873b00000013 +0020029300120213 +01a00393fe5212e3 +01a001931e771a63 +00d0009300000213 +00b0011300000013 +001202130820873b +fe5214e300200293 +1c77146301800393 +0000021301b00193 +0000001300e00093 +0000001300b00113 +001202130820873b +fe5212e300200293 +18771c6301900393 +0000021301c00193 +0000001300f00093 +00b0011300000013 +001202130820873b +fe5212e300200293 +1677146301a00393 +0000021301d00193 +00d0009300b00113 +001202130820873b +fe5216e300200293 +1477106301800393 +0000021301e00193 +00e0009300b00113 +0820873b00000013 +0020029300120213 +01900393fe5214e3 +01f0019310771a63 +00b0011300000213 +0000001300f00093 +0820873b00000013 +0020029300120213 +01a00393fe5212e3 +020001930e771263 +00b0011300000213 +00d0009300000013 +001202130820873b +fe5214e300200293 +0a771c6301800393 +0000021302100193 +0000001300b00113 +0000001300e00093 +001202130820873b +fe5212e300200293 +0877146301900393 +0000021302200193 +0000001300b00113 +00f0009300000013 +001202130820873b +fe5212e300200293 +04771c6301a00393 +00f0009302300193 +00f003930810013b +0240019304711263 +0800813b02000093 +0271186302000393 +080000bb02500193 +0270906300000393 +0100009302600193 +0820803b01e00113 +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3161627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +000000008000069c +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000214 +0000000000000000 +00010000000000cb +000000008000022c +0000000000000000 +00010000000000d2 +000000008000024c +0000000000000000 +00010000000000d9 +000000008000026c +0000000000000000 +00010000000000e1 +0000000080000298 +0000000000000000 +00010000000000e9 +00000000800002c0 +0000000000000000 +00010000000000f1 +00000000800002e0 +0000000000000000 +00010000000000f9 +00000000800002f8 +0000000000000000 +0001000000000101 +0000000080000314 +0000000000000000 +0001000000000109 +0000000080000334 +0000000000000000 +0001000000000111 +0000000080000354 +0000000000000000 +0001000000000119 +000000008000036c +0000000000000000 +0001000000000121 +0000000080000384 +0000000000000000 +0001000000000129 +0000000080000398 +0000000000000000 +0001000000000131 +00000000800003c4 +0000000000000000 +0001000000000139 +00000000800003f4 +0000000000000000 +0001000000000141 +0000000080000428 +0000000000000000 +0001000000000149 +0000000080000450 +0000000000000000 +0001000000000151 +000000008000047c +0000000000000000 +0001000000000159 +00000000800004ac +0000000000000000 +0001000000000161 +00000000800004d8 +0000000000000000 +0001000000000169 +0000000080000508 +0000000000000000 +0001000000000171 +0000000080000538 +0000000000000000 +0001000000000179 +0000000080000560 +0000000000000000 +0001000000000181 +000000008000058c +0000000000000000 +0001000000000189 +00000000800005bc +0000000000000000 +0001000000000191 +00000000800005e8 +0000000000000000 +0001000000000199 +0000000080000618 +0000000000000000 +00010000000001a1 +0000000080000648 +0000000000000000 +00010000000001a9 +000000008000065c +0000000000000000 +00010000000001b1 +0000000080000670 +0000000000000000 +00010000000001b9 +0000000080000680 +0000000000000000 +00010000000001c1 +00000000800006b8 +0000000000000000 +00020010000001c6 +0000000080002000 +0000000000000000 +00020010000001d4 +0000000080002000 +0000000000000000 +00010010000001e4 +0000000080000000 +0000000000000000 +00020010000001eb +0000000080002000 +0000000000000000 +00020010000001f0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +6461304e79636300 +76727824006f2e41 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703161627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000558 +0000003300000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000025f8 +00000000000001f9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000027f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add.dump b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add.dump new file mode 100644 index 0000000..4dd914f --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add.dump @@ -0,0 +1,550 @@ + +rv64uzba-p-sh1add: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000593 li a1,0 + 800001a0: 00000613 li a2,0 + 800001a4: 20c5a733 sh1add a4,a1,a2 + 800001a8: 00000393 li t2,0 + 800001ac: 4e771e63 bne a4,t2,800006a8 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 20c5a733 sh1add a4,a1,a2 + 800001c0: 00300393 li t2,3 + 800001c4: 4e771263 bne a4,t2,800006a8 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00300593 li a1,3 + 800001d0: 00700613 li a2,7 + 800001d4: 20c5a733 sh1add a4,a1,a2 + 800001d8: 00d00393 li t2,13 + 800001dc: 4c771663 bne a4,t2,800006a8 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00000593 li a1,0 + 800001e8: ffff8637 lui a2,0xffff8 + 800001ec: 20c5a733 sh1add a4,a1,a2 + 800001f0: ffff83b7 lui t2,0xffff8 + 800001f4: 4a771a63 bne a4,t2,800006a8 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 800005b7 lui a1,0x80000 + 80000200: 00000613 li a2,0 + 80000204: 20c5a733 sh1add a4,a1,a2 + 80000208: fff0039b addiw t2,zero,-1 + 8000020c: 02039393 slli t2,t2,0x20 + 80000210: 48771c63 bne a4,t2,800006a8 + +0000000080000214 : + 80000214: 00700193 li gp,7 + 80000218: 800005b7 lui a1,0x80000 + 8000021c: ffff8637 lui a2,0xffff8 + 80000220: 20c5a733 sh1add a4,a1,a2 + 80000224: fffe03b7 lui t2,0xfffe0 + 80000228: fff3839b addiw t2,t2,-1 # fffffffffffdffff <_end+0xffffffff7ffddfff> + 8000022c: 00f39393 slli t2,t2,0xf + 80000230: 46771c63 bne a4,t2,800006a8 + +0000000080000234 : + 80000234: 00800193 li gp,8 + 80000238: 00000593 li a1,0 + 8000023c: 00008637 lui a2,0x8 + 80000240: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 80000244: 20c5a733 sh1add a4,a1,a2 + 80000248: 000083b7 lui t2,0x8 + 8000024c: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000250: 44771c63 bne a4,t2,800006a8 + +0000000080000254 : + 80000254: 00900193 li gp,9 + 80000258: 800005b7 lui a1,0x80000 + 8000025c: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000260: 00000613 li a2,0 + 80000264: 20c5a733 sh1add a4,a1,a2 + 80000268: 0010039b addiw t2,zero,1 + 8000026c: 02039393 slli t2,t2,0x20 + 80000270: ffe38393 addi t2,t2,-2 + 80000274: 42771a63 bne a4,t2,800006a8 + +0000000080000278 : + 80000278: 00a00193 li gp,10 + 8000027c: 800005b7 lui a1,0x80000 + 80000280: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000284: 00008637 lui a2,0x8 + 80000288: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 8000028c: 20c5a733 sh1add a4,a1,a2 + 80000290: 000203b7 lui t2,0x20 + 80000294: 0013839b addiw t2,t2,1 # 20001 <_start-0x7ffdffff> + 80000298: 00f39393 slli t2,t2,0xf + 8000029c: ffd38393 addi t2,t2,-3 + 800002a0: 40771463 bne a4,t2,800006a8 + +00000000800002a4 : + 800002a4: 00b00193 li gp,11 + 800002a8: 800005b7 lui a1,0x80000 + 800002ac: 00008637 lui a2,0x8 + 800002b0: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002b4: 20c5a733 sh1add a4,a1,a2 + 800002b8: fffe03b7 lui t2,0xfffe0 + 800002bc: 0013839b addiw t2,t2,1 # fffffffffffe0001 <_end+0xffffffff7ffde001> + 800002c0: 00f39393 slli t2,t2,0xf + 800002c4: fff38393 addi t2,t2,-1 + 800002c8: 3e771063 bne a4,t2,800006a8 + +00000000800002cc : + 800002cc: 00c00193 li gp,12 + 800002d0: 800005b7 lui a1,0x80000 + 800002d4: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002d8: ffff8637 lui a2,0xffff8 + 800002dc: 20c5a733 sh1add a4,a1,a2 + 800002e0: 000203b7 lui t2,0x20 + 800002e4: fff3839b addiw t2,t2,-1 # 1ffff <_start-0x7ffe0001> + 800002e8: 00f39393 slli t2,t2,0xf + 800002ec: ffe38393 addi t2,t2,-2 + 800002f0: 3a771c63 bne a4,t2,800006a8 + +00000000800002f4 : + 800002f4: 00d00193 li gp,13 + 800002f8: 00000593 li a1,0 + 800002fc: fff00613 li a2,-1 + 80000300: 20c5a733 sh1add a4,a1,a2 + 80000304: fff00393 li t2,-1 + 80000308: 3a771063 bne a4,t2,800006a8 + +000000008000030c : + 8000030c: 00e00193 li gp,14 + 80000310: fff00593 li a1,-1 + 80000314: 00100613 li a2,1 + 80000318: 20c5a733 sh1add a4,a1,a2 + 8000031c: fff00393 li t2,-1 + 80000320: 38771463 bne a4,t2,800006a8 + +0000000080000324 : + 80000324: 00f00193 li gp,15 + 80000328: fff00593 li a1,-1 + 8000032c: fff00613 li a2,-1 + 80000330: 20c5a733 sh1add a4,a1,a2 + 80000334: ffd00393 li t2,-3 + 80000338: 36771863 bne a4,t2,800006a8 + +000000008000033c : + 8000033c: 01000193 li gp,16 + 80000340: 00100593 li a1,1 + 80000344: 80000637 lui a2,0x80000 + 80000348: fff6061b addiw a2,a2,-1 # 7fffffff <_start-0x1> + 8000034c: 20c5a733 sh1add a4,a1,a2 + 80000350: 0010039b addiw t2,zero,1 + 80000354: 01f39393 slli t2,t2,0x1f + 80000358: 00138393 addi t2,t2,1 + 8000035c: 34771663 bne a4,t2,800006a8 + +0000000080000360 : + 80000360: 01100193 li gp,17 + 80000364: 00d00593 li a1,13 + 80000368: 00b00613 li a2,11 + 8000036c: 20c5a5b3 sh1add a1,a1,a2 + 80000370: 02500393 li t2,37 + 80000374: 32759a63 bne a1,t2,800006a8 + +0000000080000378 : + 80000378: 01200193 li gp,18 + 8000037c: 00e00593 li a1,14 + 80000380: 00b00613 li a2,11 + 80000384: 20c5a633 sh1add a2,a1,a2 + 80000388: 02700393 li t2,39 + 8000038c: 30761e63 bne a2,t2,800006a8 + +0000000080000390 : + 80000390: 01300193 li gp,19 + 80000394: 00d00593 li a1,13 + 80000398: 20b5a5b3 sh1add a1,a1,a1 + 8000039c: 02700393 li t2,39 + 800003a0: 30759463 bne a1,t2,800006a8 + +00000000800003a4 : + 800003a4: 01400193 li gp,20 + 800003a8: 00000213 li tp,0 + 800003ac: 00d00093 li ra,13 + 800003b0: 00b00113 li sp,11 + 800003b4: 2020a733 sh1add a4,ra,sp + 800003b8: 00070313 mv t1,a4 + 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c0: 00200293 li t0,2 + 800003c4: fe5214e3 bne tp,t0,800003ac + 800003c8: 02500393 li t2,37 + 800003cc: 2c731e63 bne t1,t2,800006a8 + +00000000800003d0 : + 800003d0: 01500193 li gp,21 + 800003d4: 00000213 li tp,0 + 800003d8: 00e00093 li ra,14 + 800003dc: 00b00113 li sp,11 + 800003e0: 2020a733 sh1add a4,ra,sp + 800003e4: 00000013 nop + 800003e8: 00070313 mv t1,a4 + 800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f0: 00200293 li t0,2 + 800003f4: fe5212e3 bne tp,t0,800003d8 + 800003f8: 02700393 li t2,39 + 800003fc: 2a731663 bne t1,t2,800006a8 + +0000000080000400 : + 80000400: 01600193 li gp,22 + 80000404: 00000213 li tp,0 + 80000408: 00f00093 li ra,15 + 8000040c: 00b00113 li sp,11 + 80000410: 2020a733 sh1add a4,ra,sp + 80000414: 00000013 nop + 80000418: 00000013 nop + 8000041c: 00070313 mv t1,a4 + 80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000424: 00200293 li t0,2 + 80000428: fe5210e3 bne tp,t0,80000408 + 8000042c: 02900393 li t2,41 + 80000430: 26731c63 bne t1,t2,800006a8 + +0000000080000434 : + 80000434: 01700193 li gp,23 + 80000438: 00000213 li tp,0 + 8000043c: 00d00093 li ra,13 + 80000440: 00b00113 li sp,11 + 80000444: 2020a733 sh1add a4,ra,sp + 80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000044c: 00200293 li t0,2 + 80000450: fe5216e3 bne tp,t0,8000043c + 80000454: 02500393 li t2,37 + 80000458: 24771863 bne a4,t2,800006a8 + +000000008000045c : + 8000045c: 01800193 li gp,24 + 80000460: 00000213 li tp,0 + 80000464: 00e00093 li ra,14 + 80000468: 00b00113 li sp,11 + 8000046c: 00000013 nop + 80000470: 2020a733 sh1add a4,ra,sp + 80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000478: 00200293 li t0,2 + 8000047c: fe5214e3 bne tp,t0,80000464 + 80000480: 02700393 li t2,39 + 80000484: 22771263 bne a4,t2,800006a8 + +0000000080000488 : + 80000488: 01900193 li gp,25 + 8000048c: 00000213 li tp,0 + 80000490: 00f00093 li ra,15 + 80000494: 00b00113 li sp,11 + 80000498: 00000013 nop + 8000049c: 00000013 nop + 800004a0: 2020a733 sh1add a4,ra,sp + 800004a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a8: 00200293 li t0,2 + 800004ac: fe5212e3 bne tp,t0,80000490 + 800004b0: 02900393 li t2,41 + 800004b4: 1e771a63 bne a4,t2,800006a8 + +00000000800004b8 : + 800004b8: 01a00193 li gp,26 + 800004bc: 00000213 li tp,0 + 800004c0: 00d00093 li ra,13 + 800004c4: 00000013 nop + 800004c8: 00b00113 li sp,11 + 800004cc: 2020a733 sh1add a4,ra,sp + 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d4: 00200293 li t0,2 + 800004d8: fe5214e3 bne tp,t0,800004c0 + 800004dc: 02500393 li t2,37 + 800004e0: 1c771463 bne a4,t2,800006a8 + +00000000800004e4 : + 800004e4: 01b00193 li gp,27 + 800004e8: 00000213 li tp,0 + 800004ec: 00e00093 li ra,14 + 800004f0: 00000013 nop + 800004f4: 00b00113 li sp,11 + 800004f8: 00000013 nop + 800004fc: 2020a733 sh1add a4,ra,sp + 80000500: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000504: 00200293 li t0,2 + 80000508: fe5212e3 bne tp,t0,800004ec + 8000050c: 02700393 li t2,39 + 80000510: 18771c63 bne a4,t2,800006a8 + +0000000080000514 : + 80000514: 01c00193 li gp,28 + 80000518: 00000213 li tp,0 + 8000051c: 00f00093 li ra,15 + 80000520: 00000013 nop + 80000524: 00000013 nop + 80000528: 00b00113 li sp,11 + 8000052c: 2020a733 sh1add a4,ra,sp + 80000530: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000534: 00200293 li t0,2 + 80000538: fe5212e3 bne tp,t0,8000051c + 8000053c: 02900393 li t2,41 + 80000540: 16771463 bne a4,t2,800006a8 + +0000000080000544 : + 80000544: 01d00193 li gp,29 + 80000548: 00000213 li tp,0 + 8000054c: 00b00113 li sp,11 + 80000550: 00d00093 li ra,13 + 80000554: 2020a733 sh1add a4,ra,sp + 80000558: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000055c: 00200293 li t0,2 + 80000560: fe5216e3 bne tp,t0,8000054c + 80000564: 02500393 li t2,37 + 80000568: 14771063 bne a4,t2,800006a8 + +000000008000056c : + 8000056c: 01e00193 li gp,30 + 80000570: 00000213 li tp,0 + 80000574: 00b00113 li sp,11 + 80000578: 00e00093 li ra,14 + 8000057c: 00000013 nop + 80000580: 2020a733 sh1add a4,ra,sp + 80000584: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000588: 00200293 li t0,2 + 8000058c: fe5214e3 bne tp,t0,80000574 + 80000590: 02700393 li t2,39 + 80000594: 10771a63 bne a4,t2,800006a8 + +0000000080000598 : + 80000598: 01f00193 li gp,31 + 8000059c: 00000213 li tp,0 + 800005a0: 00b00113 li sp,11 + 800005a4: 00f00093 li ra,15 + 800005a8: 00000013 nop + 800005ac: 00000013 nop + 800005b0: 2020a733 sh1add a4,ra,sp + 800005b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005b8: 00200293 li t0,2 + 800005bc: fe5212e3 bne tp,t0,800005a0 + 800005c0: 02900393 li t2,41 + 800005c4: 0e771263 bne a4,t2,800006a8 + +00000000800005c8 : + 800005c8: 02000193 li gp,32 + 800005cc: 00000213 li tp,0 + 800005d0: 00b00113 li sp,11 + 800005d4: 00000013 nop + 800005d8: 00d00093 li ra,13 + 800005dc: 2020a733 sh1add a4,ra,sp + 800005e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005e4: 00200293 li t0,2 + 800005e8: fe5214e3 bne tp,t0,800005d0 + 800005ec: 02500393 li t2,37 + 800005f0: 0a771c63 bne a4,t2,800006a8 + +00000000800005f4 : + 800005f4: 02100193 li gp,33 + 800005f8: 00000213 li tp,0 + 800005fc: 00b00113 li sp,11 + 80000600: 00000013 nop + 80000604: 00e00093 li ra,14 + 80000608: 00000013 nop + 8000060c: 2020a733 sh1add a4,ra,sp + 80000610: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000614: 00200293 li t0,2 + 80000618: fe5212e3 bne tp,t0,800005fc + 8000061c: 02700393 li t2,39 + 80000620: 08771463 bne a4,t2,800006a8 + +0000000080000624 : + 80000624: 02200193 li gp,34 + 80000628: 00000213 li tp,0 + 8000062c: 00b00113 li sp,11 + 80000630: 00000013 nop + 80000634: 00000013 nop + 80000638: 00f00093 li ra,15 + 8000063c: 2020a733 sh1add a4,ra,sp + 80000640: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000644: 00200293 li t0,2 + 80000648: fe5212e3 bne tp,t0,8000062c + 8000064c: 02900393 li t2,41 + 80000650: 04771c63 bne a4,t2,800006a8 + +0000000080000654 : + 80000654: 02300193 li gp,35 + 80000658: 00f00093 li ra,15 + 8000065c: 20102133 sh1add sp,zero,ra + 80000660: 00f00393 li t2,15 + 80000664: 04711263 bne sp,t2,800006a8 + +0000000080000668 : + 80000668: 02400193 li gp,36 + 8000066c: 02000093 li ra,32 + 80000670: 2000a133 sh1add sp,ra,zero + 80000674: 04000393 li t2,64 + 80000678: 02711863 bne sp,t2,800006a8 + +000000008000067c : + 8000067c: 02500193 li gp,37 + 80000680: 200020b3 sh1add ra,zero,zero + 80000684: 00000393 li t2,0 + 80000688: 02709063 bne ra,t2,800006a8 + +000000008000068c : + 8000068c: 02600193 li gp,38 + 80000690: 01000093 li ra,16 + 80000694: 01e00113 li sp,30 + 80000698: 2020a033 sh1add zero,ra,sp + 8000069c: 00000393 li t2,0 + 800006a0: 00701463 bne zero,t2,800006a8 + 800006a4: 02301063 bne zero,gp,800006c4 + +00000000800006a8 : + 800006a8: 0ff0000f fence + 800006ac: 00018063 beqz gp,800006ac + 800006b0: 00119193 slli gp,gp,0x1 + 800006b4: 0011e193 ori gp,gp,1 + 800006b8: 05d00893 li a7,93 + 800006bc: 00018513 mv a0,gp + 800006c0: 00000073 ecall + +00000000800006c4 : + 800006c4: 0ff0000f fence + 800006c8: 00100193 li gp,1 + 800006cc: 05d00893 li a7,93 + 800006d0: 00000513 li a0,0 + 800006d4: 00000073 ecall + 800006d8: c0001073 unimp + 800006dc: 0000 .insn 2, 0x + 800006de: 0000 .insn 2, 0x + 800006e0: 0000 .insn 2, 0x + 800006e2: 0000 .insn 2, 0x + 800006e4: 0000 .insn 2, 0x + 800006e6: 0000 .insn 2, 0x + 800006e8: 0000 .insn 2, 0x + 800006ea: 0000 .insn 2, 0x + 800006ec: 0000 .insn 2, 0x + 800006ee: 0000 .insn 2, 0x + 800006f0: 0000 .insn 2, 0x + 800006f2: 0000 .insn 2, 0x + 800006f4: 0000 .insn 2, 0x + 800006f6: 0000 .insn 2, 0x + 800006f8: 0000 .insn 2, 0x + 800006fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add.hex b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add.hex new file mode 100644 index 0000000..d8496ac --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add.hex @@ -0,0 +1,831 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000059300200193 +20c5a73300000613 +4e771e6300000393 +0010059300300193 +20c5a73300100613 +4e77126300300393 +0030059300400193 +20c5a73300700613 +4c77166300d00393 +0000059300500193 +20c5a733ffff8637 +4a771a63ffff83b7 +800005b700600193 +20c5a73300000613 +02039393fff0039b +0070019348771c63 +ffff8637800005b7 +fffe03b720c5a733 +00f39393fff3839b +0080019346771c63 +0000863700000593 +20c5a733fff6061b +fff3839b000083b7 +0090019344771c63 +fff5859b800005b7 +20c5a73300000613 +020393930010039b +42771a63ffe38393 +800005b700a00193 +00008637fff5859b +20c5a733fff6061b +0013839b000203b7 +ffd3839300f39393 +00b0019340771463 +00008637800005b7 +20c5a733fff6061b +0013839bfffe03b7 +fff3839300f39393 +00c001933e771063 +fff5859b800005b7 +20c5a733ffff8637 +fff3839b000203b7 +ffe3839300f39393 +00d001933a771c63 +fff0061300000593 +fff0039320c5a733 +00e001933a771063 +00100613fff00593 +fff0039320c5a733 +00f0019338771463 +fff00613fff00593 +ffd0039320c5a733 +0100019336771863 +8000063700100593 +20c5a733fff6061b +01f393930010039b +3477166300138393 +00d0059301100193 +20c5a5b300b00613 +32759a6302500393 +00e0059301200193 +20c5a63300b00613 +30761e6302700393 +00d0059301300193 +0270039320b5a5b3 +0140019330759463 +00d0009300000213 +2020a73300b00113 +0012021300070313 +fe5214e300200293 +2c731e6302500393 +0000021301500193 +00b0011300e00093 +000000132020a733 +0012021300070313 +fe5212e300200293 +2a73166302700393 +0000021301600193 +00b0011300f00093 +000000132020a733 +0007031300000013 +0020029300120213 +02900393fe5210e3 +0170019326731c63 +00d0009300000213 +2020a73300b00113 +0020029300120213 +02500393fe5216e3 +0180019324771863 +00e0009300000213 +0000001300b00113 +001202132020a733 +fe5214e300200293 +2277126302700393 +0000021301900193 +00b0011300f00093 +0000001300000013 +001202132020a733 +fe5212e300200293 +1e771a6302900393 +0000021301a00193 +0000001300d00093 +2020a73300b00113 +0020029300120213 +02500393fe5214e3 +01b001931c771463 +00e0009300000213 +00b0011300000013 +2020a73300000013 +0020029300120213 +02700393fe5212e3 +01c0019318771c63 +00f0009300000213 +0000001300000013 +2020a73300b00113 +0020029300120213 +02900393fe5212e3 +01d0019316771463 +00b0011300000213 +2020a73300d00093 +0020029300120213 +02500393fe5216e3 +01e0019314771063 +00b0011300000213 +0000001300e00093 +001202132020a733 +fe5214e300200293 +10771a6302700393 +0000021301f00193 +00f0009300b00113 +0000001300000013 +001202132020a733 +fe5212e300200293 +0e77126302900393 +0000021302000193 +0000001300b00113 +2020a73300d00093 +0020029300120213 +02500393fe5214e3 +021001930a771c63 +00b0011300000213 +00e0009300000013 +2020a73300000013 +0020029300120213 +02700393fe5212e3 +0220019308771463 +00b0011300000213 +0000001300000013 +2020a73300f00093 +0020029300120213 +02900393fe5212e3 +0230019304771c63 +2010213300f00093 +0471126300f00393 +0200009302400193 +040003932000a133 +0250019302711863 +00000393200020b3 +0260019302709063 +01e0011301000093 +000003932020a033 +0230106300701463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3161627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800006a8 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000214 +0000000000000000 +00010000000000cb +0000000080000234 +0000000000000000 +00010000000000d2 +0000000080000254 +0000000000000000 +00010000000000d9 +0000000080000278 +0000000000000000 +00010000000000e1 +00000000800002a4 +0000000000000000 +00010000000000e9 +00000000800002cc +0000000000000000 +00010000000000f1 +00000000800002f4 +0000000000000000 +00010000000000f9 +000000008000030c +0000000000000000 +0001000000000101 +0000000080000324 +0000000000000000 +0001000000000109 +000000008000033c +0000000000000000 +0001000000000111 +0000000080000360 +0000000000000000 +0001000000000119 +0000000080000378 +0000000000000000 +0001000000000121 +0000000080000390 +0000000000000000 +0001000000000129 +00000000800003a4 +0000000000000000 +0001000000000131 +00000000800003d0 +0000000000000000 +0001000000000139 +0000000080000400 +0000000000000000 +0001000000000141 +0000000080000434 +0000000000000000 +0001000000000149 +000000008000045c +0000000000000000 +0001000000000151 +0000000080000488 +0000000000000000 +0001000000000159 +00000000800004b8 +0000000000000000 +0001000000000161 +00000000800004e4 +0000000000000000 +0001000000000169 +0000000080000514 +0000000000000000 +0001000000000171 +0000000080000544 +0000000000000000 +0001000000000179 +000000008000056c +0000000000000000 +0001000000000181 +0000000080000598 +0000000000000000 +0001000000000189 +00000000800005c8 +0000000000000000 +0001000000000191 +00000000800005f4 +0000000000000000 +0001000000000199 +0000000080000624 +0000000000000000 +00010000000001a1 +0000000080000654 +0000000000000000 +00010000000001a9 +0000000080000668 +0000000000000000 +00010000000001b1 +000000008000067c +0000000000000000 +00010000000001b9 +000000008000068c +0000000000000000 +00010000000001c1 +00000000800006c4 +0000000000000000 +00020010000001c6 +0000000080002000 +0000000000000000 +00020010000001d4 +0000000080002000 +0000000000000000 +00010010000001e4 +0000000080000000 +0000000000000000 +00020010000001eb +0000000080002000 +0000000000000000 +00020010000001f0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +76646b477a636300 +76727824006f2e43 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703161627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000558 +0000003300000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000025f8 +00000000000001f9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000027f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add_uw.dump b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add_uw.dump new file mode 100644 index 0000000..61daad7 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add_uw.dump @@ -0,0 +1,546 @@ + +rv64uzba-p-sh1add_uw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000593 li a1,0 + 800001a0: 00000613 li a2,0 + 800001a4: 20c5a73b sh1add.uw a4,a1,a2 + 800001a8: 00000393 li t2,0 + 800001ac: 50771663 bne a4,t2,800006b8 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 20c5a73b sh1add.uw a4,a1,a2 + 800001c0: 00300393 li t2,3 + 800001c4: 4e771a63 bne a4,t2,800006b8 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00300593 li a1,3 + 800001d0: 00700613 li a2,7 + 800001d4: 20c5a73b sh1add.uw a4,a1,a2 + 800001d8: 00d00393 li t2,13 + 800001dc: 4c771e63 bne a4,t2,800006b8 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00000593 li a1,0 + 800001e8: ffff8637 lui a2,0xffff8 + 800001ec: 20c5a73b sh1add.uw a4,a1,a2 + 800001f0: ffff83b7 lui t2,0xffff8 + 800001f4: 4c771263 bne a4,t2,800006b8 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 800005b7 lui a1,0x80000 + 80000200: 00000613 li a2,0 + 80000204: 20c5a73b sh1add.uw a4,a1,a2 + 80000208: 0010039b addiw t2,zero,1 + 8000020c: 02039393 slli t2,t2,0x20 + 80000210: 4a771463 bne a4,t2,800006b8 + +0000000080000214 : + 80000214: 00700193 li gp,7 + 80000218: 800005b7 lui a1,0x80000 + 8000021c: ffff8637 lui a2,0xffff8 + 80000220: 20c5a73b sh1add.uw a4,a1,a2 + 80000224: 000203b7 lui t2,0x20 + 80000228: fff3839b addiw t2,t2,-1 # 1ffff <_start-0x7ffe0001> + 8000022c: 00f39393 slli t2,t2,0xf + 80000230: 48771463 bne a4,t2,800006b8 + +0000000080000234 : + 80000234: 00800193 li gp,8 + 80000238: 00000593 li a1,0 + 8000023c: 00008637 lui a2,0x8 + 80000240: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 80000244: 20c5a73b sh1add.uw a4,a1,a2 + 80000248: 000083b7 lui t2,0x8 + 8000024c: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000250: 46771463 bne a4,t2,800006b8 + +0000000080000254 : + 80000254: 00900193 li gp,9 + 80000258: 800005b7 lui a1,0x80000 + 8000025c: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000260: 00000613 li a2,0 + 80000264: 20c5a73b sh1add.uw a4,a1,a2 + 80000268: 0010039b addiw t2,zero,1 + 8000026c: 02039393 slli t2,t2,0x20 + 80000270: ffe38393 addi t2,t2,-2 + 80000274: 44771263 bne a4,t2,800006b8 + +0000000080000278 : + 80000278: 00a00193 li gp,10 + 8000027c: 800005b7 lui a1,0x80000 + 80000280: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000284: 00008637 lui a2,0x8 + 80000288: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 8000028c: 20c5a73b sh1add.uw a4,a1,a2 + 80000290: 000203b7 lui t2,0x20 + 80000294: 0013839b addiw t2,t2,1 # 20001 <_start-0x7ffdffff> + 80000298: 00f39393 slli t2,t2,0xf + 8000029c: ffd38393 addi t2,t2,-3 + 800002a0: 40771c63 bne a4,t2,800006b8 + +00000000800002a4 : + 800002a4: 00b00193 li gp,11 + 800002a8: 800005b7 lui a1,0x80000 + 800002ac: 00008637 lui a2,0x8 + 800002b0: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002b4: 20c5a73b sh1add.uw a4,a1,a2 + 800002b8: 000203b7 lui t2,0x20 + 800002bc: 0013839b addiw t2,t2,1 # 20001 <_start-0x7ffdffff> + 800002c0: 00f39393 slli t2,t2,0xf + 800002c4: fff38393 addi t2,t2,-1 + 800002c8: 3e771863 bne a4,t2,800006b8 + +00000000800002cc : + 800002cc: 00c00193 li gp,12 + 800002d0: 800005b7 lui a1,0x80000 + 800002d4: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002d8: ffff8637 lui a2,0xffff8 + 800002dc: 20c5a73b sh1add.uw a4,a1,a2 + 800002e0: 000203b7 lui t2,0x20 + 800002e4: fff3839b addiw t2,t2,-1 # 1ffff <_start-0x7ffe0001> + 800002e8: 00f39393 slli t2,t2,0xf + 800002ec: ffe38393 addi t2,t2,-2 + 800002f0: 3c771463 bne a4,t2,800006b8 + +00000000800002f4 : + 800002f4: 00d00193 li gp,13 + 800002f8: 00000593 li a1,0 + 800002fc: fff00613 li a2,-1 + 80000300: 20c5a73b sh1add.uw a4,a1,a2 + 80000304: fff00393 li t2,-1 + 80000308: 3a771863 bne a4,t2,800006b8 + +000000008000030c : + 8000030c: 00e00193 li gp,14 + 80000310: fff00593 li a1,-1 + 80000314: 00100613 li a2,1 + 80000318: 20c5a73b sh1add.uw a4,a1,a2 + 8000031c: 0010039b addiw t2,zero,1 + 80000320: 02139393 slli t2,t2,0x21 + 80000324: fff38393 addi t2,t2,-1 + 80000328: 38771863 bne a4,t2,800006b8 + +000000008000032c : + 8000032c: 00f00193 li gp,15 + 80000330: fff00593 li a1,-1 + 80000334: fff00613 li a2,-1 + 80000338: 20c5a73b sh1add.uw a4,a1,a2 + 8000033c: 0010039b addiw t2,zero,1 + 80000340: 02139393 slli t2,t2,0x21 + 80000344: ffd38393 addi t2,t2,-3 + 80000348: 36771863 bne a4,t2,800006b8 + +000000008000034c : + 8000034c: 01000193 li gp,16 + 80000350: 00100593 li a1,1 + 80000354: 80000637 lui a2,0x80000 + 80000358: fff6061b addiw a2,a2,-1 # 7fffffff <_start-0x1> + 8000035c: 20c5a73b sh1add.uw a4,a1,a2 + 80000360: 0010039b addiw t2,zero,1 + 80000364: 01f39393 slli t2,t2,0x1f + 80000368: 00138393 addi t2,t2,1 + 8000036c: 34771663 bne a4,t2,800006b8 + +0000000080000370 : + 80000370: 01100193 li gp,17 + 80000374: 00d00593 li a1,13 + 80000378: 00b00613 li a2,11 + 8000037c: 20c5a5bb sh1add.uw a1,a1,a2 + 80000380: 02500393 li t2,37 + 80000384: 32759a63 bne a1,t2,800006b8 + +0000000080000388 : + 80000388: 01200193 li gp,18 + 8000038c: 00e00593 li a1,14 + 80000390: 00b00613 li a2,11 + 80000394: 20c5a63b sh1add.uw a2,a1,a2 + 80000398: 02700393 li t2,39 + 8000039c: 30761e63 bne a2,t2,800006b8 + +00000000800003a0 : + 800003a0: 01300193 li gp,19 + 800003a4: 00d00593 li a1,13 + 800003a8: 20b5a5bb sh1add.uw a1,a1,a1 + 800003ac: 02700393 li t2,39 + 800003b0: 30759463 bne a1,t2,800006b8 + +00000000800003b4 : + 800003b4: 01400193 li gp,20 + 800003b8: 00000213 li tp,0 + 800003bc: 00d00093 li ra,13 + 800003c0: 00b00113 li sp,11 + 800003c4: 2020a73b sh1add.uw a4,ra,sp + 800003c8: 00070313 mv t1,a4 + 800003cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d0: 00200293 li t0,2 + 800003d4: fe5214e3 bne tp,t0,800003bc + 800003d8: 02500393 li t2,37 + 800003dc: 2c731e63 bne t1,t2,800006b8 + +00000000800003e0 : + 800003e0: 01500193 li gp,21 + 800003e4: 00000213 li tp,0 + 800003e8: 00e00093 li ra,14 + 800003ec: 00b00113 li sp,11 + 800003f0: 2020a73b sh1add.uw a4,ra,sp + 800003f4: 00000013 nop + 800003f8: 00070313 mv t1,a4 + 800003fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000400: 00200293 li t0,2 + 80000404: fe5212e3 bne tp,t0,800003e8 + 80000408: 02700393 li t2,39 + 8000040c: 2a731663 bne t1,t2,800006b8 + +0000000080000410 : + 80000410: 01600193 li gp,22 + 80000414: 00000213 li tp,0 + 80000418: 00f00093 li ra,15 + 8000041c: 00b00113 li sp,11 + 80000420: 2020a73b sh1add.uw a4,ra,sp + 80000424: 00000013 nop + 80000428: 00000013 nop + 8000042c: 00070313 mv t1,a4 + 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000434: 00200293 li t0,2 + 80000438: fe5210e3 bne tp,t0,80000418 + 8000043c: 02900393 li t2,41 + 80000440: 26731c63 bne t1,t2,800006b8 + +0000000080000444 : + 80000444: 01700193 li gp,23 + 80000448: 00000213 li tp,0 + 8000044c: 00d00093 li ra,13 + 80000450: 00b00113 li sp,11 + 80000454: 2020a73b sh1add.uw a4,ra,sp + 80000458: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000045c: 00200293 li t0,2 + 80000460: fe5216e3 bne tp,t0,8000044c + 80000464: 02500393 li t2,37 + 80000468: 24771863 bne a4,t2,800006b8 + +000000008000046c : + 8000046c: 01800193 li gp,24 + 80000470: 00000213 li tp,0 + 80000474: 00e00093 li ra,14 + 80000478: 00b00113 li sp,11 + 8000047c: 00000013 nop + 80000480: 2020a73b sh1add.uw a4,ra,sp + 80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000488: 00200293 li t0,2 + 8000048c: fe5214e3 bne tp,t0,80000474 + 80000490: 02700393 li t2,39 + 80000494: 22771263 bne a4,t2,800006b8 + +0000000080000498 : + 80000498: 01900193 li gp,25 + 8000049c: 00000213 li tp,0 + 800004a0: 00f00093 li ra,15 + 800004a4: 00b00113 li sp,11 + 800004a8: 00000013 nop + 800004ac: 00000013 nop + 800004b0: 2020a73b sh1add.uw a4,ra,sp + 800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004b8: 00200293 li t0,2 + 800004bc: fe5212e3 bne tp,t0,800004a0 + 800004c0: 02900393 li t2,41 + 800004c4: 1e771a63 bne a4,t2,800006b8 + +00000000800004c8 : + 800004c8: 01a00193 li gp,26 + 800004cc: 00000213 li tp,0 + 800004d0: 00d00093 li ra,13 + 800004d4: 00000013 nop + 800004d8: 00b00113 li sp,11 + 800004dc: 2020a73b sh1add.uw a4,ra,sp + 800004e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004e4: 00200293 li t0,2 + 800004e8: fe5214e3 bne tp,t0,800004d0 + 800004ec: 02500393 li t2,37 + 800004f0: 1c771463 bne a4,t2,800006b8 + +00000000800004f4 : + 800004f4: 01b00193 li gp,27 + 800004f8: 00000213 li tp,0 + 800004fc: 00e00093 li ra,14 + 80000500: 00000013 nop + 80000504: 00b00113 li sp,11 + 80000508: 00000013 nop + 8000050c: 2020a73b sh1add.uw a4,ra,sp + 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000514: 00200293 li t0,2 + 80000518: fe5212e3 bne tp,t0,800004fc + 8000051c: 02700393 li t2,39 + 80000520: 18771c63 bne a4,t2,800006b8 + +0000000080000524 : + 80000524: 01c00193 li gp,28 + 80000528: 00000213 li tp,0 + 8000052c: 00f00093 li ra,15 + 80000530: 00000013 nop + 80000534: 00000013 nop + 80000538: 00b00113 li sp,11 + 8000053c: 2020a73b sh1add.uw a4,ra,sp + 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000544: 00200293 li t0,2 + 80000548: fe5212e3 bne tp,t0,8000052c + 8000054c: 02900393 li t2,41 + 80000550: 16771463 bne a4,t2,800006b8 + +0000000080000554 : + 80000554: 01d00193 li gp,29 + 80000558: 00000213 li tp,0 + 8000055c: 00b00113 li sp,11 + 80000560: 00d00093 li ra,13 + 80000564: 2020a73b sh1add.uw a4,ra,sp + 80000568: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000056c: 00200293 li t0,2 + 80000570: fe5216e3 bne tp,t0,8000055c + 80000574: 02500393 li t2,37 + 80000578: 14771063 bne a4,t2,800006b8 + +000000008000057c : + 8000057c: 01e00193 li gp,30 + 80000580: 00000213 li tp,0 + 80000584: 00b00113 li sp,11 + 80000588: 00e00093 li ra,14 + 8000058c: 00000013 nop + 80000590: 2020a73b sh1add.uw a4,ra,sp + 80000594: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000598: 00200293 li t0,2 + 8000059c: fe5214e3 bne tp,t0,80000584 + 800005a0: 02700393 li t2,39 + 800005a4: 10771a63 bne a4,t2,800006b8 + +00000000800005a8 : + 800005a8: 01f00193 li gp,31 + 800005ac: 00000213 li tp,0 + 800005b0: 00b00113 li sp,11 + 800005b4: 00f00093 li ra,15 + 800005b8: 00000013 nop + 800005bc: 00000013 nop + 800005c0: 2020a73b sh1add.uw a4,ra,sp + 800005c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005c8: 00200293 li t0,2 + 800005cc: fe5212e3 bne tp,t0,800005b0 + 800005d0: 02900393 li t2,41 + 800005d4: 0e771263 bne a4,t2,800006b8 + +00000000800005d8 : + 800005d8: 02000193 li gp,32 + 800005dc: 00000213 li tp,0 + 800005e0: 00b00113 li sp,11 + 800005e4: 00000013 nop + 800005e8: 00d00093 li ra,13 + 800005ec: 2020a73b sh1add.uw a4,ra,sp + 800005f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005f4: 00200293 li t0,2 + 800005f8: fe5214e3 bne tp,t0,800005e0 + 800005fc: 02500393 li t2,37 + 80000600: 0a771c63 bne a4,t2,800006b8 + +0000000080000604 : + 80000604: 02100193 li gp,33 + 80000608: 00000213 li tp,0 + 8000060c: 00b00113 li sp,11 + 80000610: 00000013 nop + 80000614: 00e00093 li ra,14 + 80000618: 00000013 nop + 8000061c: 2020a73b sh1add.uw a4,ra,sp + 80000620: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000624: 00200293 li t0,2 + 80000628: fe5212e3 bne tp,t0,8000060c + 8000062c: 02700393 li t2,39 + 80000630: 08771463 bne a4,t2,800006b8 + +0000000080000634 : + 80000634: 02200193 li gp,34 + 80000638: 00000213 li tp,0 + 8000063c: 00b00113 li sp,11 + 80000640: 00000013 nop + 80000644: 00000013 nop + 80000648: 00f00093 li ra,15 + 8000064c: 2020a73b sh1add.uw a4,ra,sp + 80000650: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000654: 00200293 li t0,2 + 80000658: fe5212e3 bne tp,t0,8000063c + 8000065c: 02900393 li t2,41 + 80000660: 04771c63 bne a4,t2,800006b8 + +0000000080000664 : + 80000664: 02300193 li gp,35 + 80000668: 00f00093 li ra,15 + 8000066c: 2010213b sh1add.uw sp,zero,ra + 80000670: 00f00393 li t2,15 + 80000674: 04711263 bne sp,t2,800006b8 + +0000000080000678 : + 80000678: 02400193 li gp,36 + 8000067c: 02000093 li ra,32 + 80000680: 2000a13b sh1add.uw sp,ra,zero + 80000684: 04000393 li t2,64 + 80000688: 02711863 bne sp,t2,800006b8 + +000000008000068c : + 8000068c: 02500193 li gp,37 + 80000690: 200020bb sh1add.uw ra,zero,zero + 80000694: 00000393 li t2,0 + 80000698: 02709063 bne ra,t2,800006b8 + +000000008000069c : + 8000069c: 02600193 li gp,38 + 800006a0: 01000093 li ra,16 + 800006a4: 01e00113 li sp,30 + 800006a8: 2020a03b sh1add.uw zero,ra,sp + 800006ac: 00000393 li t2,0 + 800006b0: 00701463 bne zero,t2,800006b8 + 800006b4: 02301063 bne zero,gp,800006d4 + +00000000800006b8 : + 800006b8: 0ff0000f fence + 800006bc: 00018063 beqz gp,800006bc + 800006c0: 00119193 slli gp,gp,0x1 + 800006c4: 0011e193 ori gp,gp,1 + 800006c8: 05d00893 li a7,93 + 800006cc: 00018513 mv a0,gp + 800006d0: 00000073 ecall + +00000000800006d4 : + 800006d4: 0ff0000f fence + 800006d8: 00100193 li gp,1 + 800006dc: 05d00893 li a7,93 + 800006e0: 00000513 li a0,0 + 800006e4: 00000073 ecall + 800006e8: c0001073 unimp + 800006ec: 0000 .insn 2, 0x + 800006ee: 0000 .insn 2, 0x + 800006f0: 0000 .insn 2, 0x + 800006f2: 0000 .insn 2, 0x + 800006f4: 0000 .insn 2, 0x + 800006f6: 0000 .insn 2, 0x + 800006f8: 0000 .insn 2, 0x + 800006fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add_uw.hex b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add_uw.hex new file mode 100644 index 0000000..1dfc7c4 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh1add_uw.hex @@ -0,0 +1,831 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000059300200193 +20c5a73b00000613 +5077166300000393 +0010059300300193 +20c5a73b00100613 +4e771a6300300393 +0030059300400193 +20c5a73b00700613 +4c771e6300d00393 +0000059300500193 +20c5a73bffff8637 +4c771263ffff83b7 +800005b700600193 +20c5a73b00000613 +020393930010039b +007001934a771463 +ffff8637800005b7 +000203b720c5a73b +00f39393fff3839b +0080019348771463 +0000863700000593 +20c5a73bfff6061b +fff3839b000083b7 +0090019346771463 +fff5859b800005b7 +20c5a73b00000613 +020393930010039b +44771263ffe38393 +800005b700a00193 +00008637fff5859b +20c5a73bfff6061b +0013839b000203b7 +ffd3839300f39393 +00b0019340771c63 +00008637800005b7 +20c5a73bfff6061b +0013839b000203b7 +fff3839300f39393 +00c001933e771863 +fff5859b800005b7 +20c5a73bffff8637 +fff3839b000203b7 +ffe3839300f39393 +00d001933c771463 +fff0061300000593 +fff0039320c5a73b +00e001933a771863 +00100613fff00593 +0010039b20c5a73b +fff3839302139393 +00f0019338771863 +fff00613fff00593 +0010039b20c5a73b +ffd3839302139393 +0100019336771863 +8000063700100593 +20c5a73bfff6061b +01f393930010039b +3477166300138393 +00d0059301100193 +20c5a5bb00b00613 +32759a6302500393 +00e0059301200193 +20c5a63b00b00613 +30761e6302700393 +00d0059301300193 +0270039320b5a5bb +0140019330759463 +00d0009300000213 +2020a73b00b00113 +0012021300070313 +fe5214e300200293 +2c731e6302500393 +0000021301500193 +00b0011300e00093 +000000132020a73b +0012021300070313 +fe5212e300200293 +2a73166302700393 +0000021301600193 +00b0011300f00093 +000000132020a73b +0007031300000013 +0020029300120213 +02900393fe5210e3 +0170019326731c63 +00d0009300000213 +2020a73b00b00113 +0020029300120213 +02500393fe5216e3 +0180019324771863 +00e0009300000213 +0000001300b00113 +001202132020a73b +fe5214e300200293 +2277126302700393 +0000021301900193 +00b0011300f00093 +0000001300000013 +001202132020a73b +fe5212e300200293 +1e771a6302900393 +0000021301a00193 +0000001300d00093 +2020a73b00b00113 +0020029300120213 +02500393fe5214e3 +01b001931c771463 +00e0009300000213 +00b0011300000013 +2020a73b00000013 +0020029300120213 +02700393fe5212e3 +01c0019318771c63 +00f0009300000213 +0000001300000013 +2020a73b00b00113 +0020029300120213 +02900393fe5212e3 +01d0019316771463 +00b0011300000213 +2020a73b00d00093 +0020029300120213 +02500393fe5216e3 +01e0019314771063 +00b0011300000213 +0000001300e00093 +001202132020a73b +fe5214e300200293 +10771a6302700393 +0000021301f00193 +00f0009300b00113 +0000001300000013 +001202132020a73b +fe5212e300200293 +0e77126302900393 +0000021302000193 +0000001300b00113 +2020a73b00d00093 +0020029300120213 +02500393fe5214e3 +021001930a771c63 +00b0011300000213 +00e0009300000013 +2020a73b00000013 +0020029300120213 +02700393fe5212e3 +0220019308771463 +00b0011300000213 +0000001300000013 +2020a73b00f00093 +0020029300120213 +02900393fe5212e3 +0230019304771c63 +2010213b00f00093 +0471126300f00393 +0200009302400193 +040003932000a13b +0250019302711863 +00000393200020bb +0260019302709063 +01e0011301000093 +000003932020a03b +0230106300701463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3161627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800006b8 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000214 +0000000000000000 +00010000000000cb +0000000080000234 +0000000000000000 +00010000000000d2 +0000000080000254 +0000000000000000 +00010000000000d9 +0000000080000278 +0000000000000000 +00010000000000e1 +00000000800002a4 +0000000000000000 +00010000000000e9 +00000000800002cc +0000000000000000 +00010000000000f1 +00000000800002f4 +0000000000000000 +00010000000000f9 +000000008000030c +0000000000000000 +0001000000000101 +000000008000032c +0000000000000000 +0001000000000109 +000000008000034c +0000000000000000 +0001000000000111 +0000000080000370 +0000000000000000 +0001000000000119 +0000000080000388 +0000000000000000 +0001000000000121 +00000000800003a0 +0000000000000000 +0001000000000129 +00000000800003b4 +0000000000000000 +0001000000000131 +00000000800003e0 +0000000000000000 +0001000000000139 +0000000080000410 +0000000000000000 +0001000000000141 +0000000080000444 +0000000000000000 +0001000000000149 +000000008000046c +0000000000000000 +0001000000000151 +0000000080000498 +0000000000000000 +0001000000000159 +00000000800004c8 +0000000000000000 +0001000000000161 +00000000800004f4 +0000000000000000 +0001000000000169 +0000000080000524 +0000000000000000 +0001000000000171 +0000000080000554 +0000000000000000 +0001000000000179 +000000008000057c +0000000000000000 +0001000000000181 +00000000800005a8 +0000000000000000 +0001000000000189 +00000000800005d8 +0000000000000000 +0001000000000191 +0000000080000604 +0000000000000000 +0001000000000199 +0000000080000634 +0000000000000000 +00010000000001a1 +0000000080000664 +0000000000000000 +00010000000001a9 +0000000080000678 +0000000000000000 +00010000000001b1 +000000008000068c +0000000000000000 +00010000000001b9 +000000008000069c +0000000000000000 +00010000000001c1 +00000000800006d4 +0000000000000000 +00020010000001c6 +0000000080002000 +0000000000000000 +00020010000001d4 +0000000080002000 +0000000000000000 +00010010000001e4 +0000000080000000 +0000000000000000 +00020010000001eb +0000000080002000 +0000000000000000 +00020010000001f0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +46664c4b58636300 +76727824006f2e38 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703161627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000558 +0000003300000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000025f8 +00000000000001f9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000027f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add.dump b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add.dump new file mode 100644 index 0000000..c38af0a --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add.dump @@ -0,0 +1,550 @@ + +rv64uzba-p-sh2add: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000593 li a1,0 + 800001a0: 00000613 li a2,0 + 800001a4: 20c5c733 sh2add a4,a1,a2 + 800001a8: 00000393 li t2,0 + 800001ac: 4e771e63 bne a4,t2,800006a8 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 20c5c733 sh2add a4,a1,a2 + 800001c0: 00500393 li t2,5 + 800001c4: 4e771263 bne a4,t2,800006a8 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00300593 li a1,3 + 800001d0: 00700613 li a2,7 + 800001d4: 20c5c733 sh2add a4,a1,a2 + 800001d8: 01300393 li t2,19 + 800001dc: 4c771663 bne a4,t2,800006a8 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00000593 li a1,0 + 800001e8: ffff8637 lui a2,0xffff8 + 800001ec: 20c5c733 sh2add a4,a1,a2 + 800001f0: ffff83b7 lui t2,0xffff8 + 800001f4: 4a771a63 bne a4,t2,800006a8 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 800005b7 lui a1,0x80000 + 80000200: 00000613 li a2,0 + 80000204: 20c5c733 sh2add a4,a1,a2 + 80000208: fff0039b addiw t2,zero,-1 + 8000020c: 02139393 slli t2,t2,0x21 + 80000210: 48771c63 bne a4,t2,800006a8 + +0000000080000214 : + 80000214: 00700193 li gp,7 + 80000218: 800005b7 lui a1,0x80000 + 8000021c: ffff8637 lui a2,0xffff8 + 80000220: 20c5c733 sh2add a4,a1,a2 + 80000224: fffc03b7 lui t2,0xfffc0 + 80000228: fff3839b addiw t2,t2,-1 # fffffffffffbffff <_end+0xffffffff7ffbdfff> + 8000022c: 00f39393 slli t2,t2,0xf + 80000230: 46771c63 bne a4,t2,800006a8 + +0000000080000234 : + 80000234: 00800193 li gp,8 + 80000238: 00000593 li a1,0 + 8000023c: 00008637 lui a2,0x8 + 80000240: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 80000244: 20c5c733 sh2add a4,a1,a2 + 80000248: 000083b7 lui t2,0x8 + 8000024c: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000250: 44771c63 bne a4,t2,800006a8 + +0000000080000254 : + 80000254: 00900193 li gp,9 + 80000258: 800005b7 lui a1,0x80000 + 8000025c: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000260: 00000613 li a2,0 + 80000264: 20c5c733 sh2add a4,a1,a2 + 80000268: 0010039b addiw t2,zero,1 + 8000026c: 02139393 slli t2,t2,0x21 + 80000270: ffc38393 addi t2,t2,-4 + 80000274: 42771a63 bne a4,t2,800006a8 + +0000000080000278 : + 80000278: 00a00193 li gp,10 + 8000027c: 800005b7 lui a1,0x80000 + 80000280: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000284: 00008637 lui a2,0x8 + 80000288: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 8000028c: 20c5c733 sh2add a4,a1,a2 + 80000290: 000403b7 lui t2,0x40 + 80000294: 0013839b addiw t2,t2,1 # 40001 <_start-0x7ffbffff> + 80000298: 00f39393 slli t2,t2,0xf + 8000029c: ffb38393 addi t2,t2,-5 + 800002a0: 40771463 bne a4,t2,800006a8 + +00000000800002a4 : + 800002a4: 00b00193 li gp,11 + 800002a8: 800005b7 lui a1,0x80000 + 800002ac: 00008637 lui a2,0x8 + 800002b0: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002b4: 20c5c733 sh2add a4,a1,a2 + 800002b8: fffc03b7 lui t2,0xfffc0 + 800002bc: 0013839b addiw t2,t2,1 # fffffffffffc0001 <_end+0xffffffff7ffbe001> + 800002c0: 00f39393 slli t2,t2,0xf + 800002c4: fff38393 addi t2,t2,-1 + 800002c8: 3e771063 bne a4,t2,800006a8 + +00000000800002cc : + 800002cc: 00c00193 li gp,12 + 800002d0: 800005b7 lui a1,0x80000 + 800002d4: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002d8: ffff8637 lui a2,0xffff8 + 800002dc: 20c5c733 sh2add a4,a1,a2 + 800002e0: 000403b7 lui t2,0x40 + 800002e4: fff3839b addiw t2,t2,-1 # 3ffff <_start-0x7ffc0001> + 800002e8: 00f39393 slli t2,t2,0xf + 800002ec: ffc38393 addi t2,t2,-4 + 800002f0: 3a771c63 bne a4,t2,800006a8 + +00000000800002f4 : + 800002f4: 00d00193 li gp,13 + 800002f8: 00000593 li a1,0 + 800002fc: fff00613 li a2,-1 + 80000300: 20c5c733 sh2add a4,a1,a2 + 80000304: fff00393 li t2,-1 + 80000308: 3a771063 bne a4,t2,800006a8 + +000000008000030c : + 8000030c: 00e00193 li gp,14 + 80000310: fff00593 li a1,-1 + 80000314: 00100613 li a2,1 + 80000318: 20c5c733 sh2add a4,a1,a2 + 8000031c: ffd00393 li t2,-3 + 80000320: 38771463 bne a4,t2,800006a8 + +0000000080000324 : + 80000324: 00f00193 li gp,15 + 80000328: fff00593 li a1,-1 + 8000032c: fff00613 li a2,-1 + 80000330: 20c5c733 sh2add a4,a1,a2 + 80000334: ffb00393 li t2,-5 + 80000338: 36771863 bne a4,t2,800006a8 + +000000008000033c : + 8000033c: 01000193 li gp,16 + 80000340: 00100593 li a1,1 + 80000344: 80000637 lui a2,0x80000 + 80000348: fff6061b addiw a2,a2,-1 # 7fffffff <_start-0x1> + 8000034c: 20c5c733 sh2add a4,a1,a2 + 80000350: 0010039b addiw t2,zero,1 + 80000354: 01f39393 slli t2,t2,0x1f + 80000358: 00338393 addi t2,t2,3 + 8000035c: 34771663 bne a4,t2,800006a8 + +0000000080000360 : + 80000360: 01100193 li gp,17 + 80000364: 00d00593 li a1,13 + 80000368: 00b00613 li a2,11 + 8000036c: 20c5c5b3 sh2add a1,a1,a2 + 80000370: 03f00393 li t2,63 + 80000374: 32759a63 bne a1,t2,800006a8 + +0000000080000378 : + 80000378: 01200193 li gp,18 + 8000037c: 00e00593 li a1,14 + 80000380: 00b00613 li a2,11 + 80000384: 20c5c633 sh2add a2,a1,a2 + 80000388: 04300393 li t2,67 + 8000038c: 30761e63 bne a2,t2,800006a8 + +0000000080000390 : + 80000390: 01300193 li gp,19 + 80000394: 00d00593 li a1,13 + 80000398: 20b5c5b3 sh2add a1,a1,a1 + 8000039c: 04100393 li t2,65 + 800003a0: 30759463 bne a1,t2,800006a8 + +00000000800003a4 : + 800003a4: 01400193 li gp,20 + 800003a8: 00000213 li tp,0 + 800003ac: 00d00093 li ra,13 + 800003b0: 00b00113 li sp,11 + 800003b4: 2020c733 sh2add a4,ra,sp + 800003b8: 00070313 mv t1,a4 + 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c0: 00200293 li t0,2 + 800003c4: fe5214e3 bne tp,t0,800003ac + 800003c8: 03f00393 li t2,63 + 800003cc: 2c731e63 bne t1,t2,800006a8 + +00000000800003d0 : + 800003d0: 01500193 li gp,21 + 800003d4: 00000213 li tp,0 + 800003d8: 00e00093 li ra,14 + 800003dc: 00b00113 li sp,11 + 800003e0: 2020c733 sh2add a4,ra,sp + 800003e4: 00000013 nop + 800003e8: 00070313 mv t1,a4 + 800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f0: 00200293 li t0,2 + 800003f4: fe5212e3 bne tp,t0,800003d8 + 800003f8: 04300393 li t2,67 + 800003fc: 2a731663 bne t1,t2,800006a8 + +0000000080000400 : + 80000400: 01600193 li gp,22 + 80000404: 00000213 li tp,0 + 80000408: 00f00093 li ra,15 + 8000040c: 00b00113 li sp,11 + 80000410: 2020c733 sh2add a4,ra,sp + 80000414: 00000013 nop + 80000418: 00000013 nop + 8000041c: 00070313 mv t1,a4 + 80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000424: 00200293 li t0,2 + 80000428: fe5210e3 bne tp,t0,80000408 + 8000042c: 04700393 li t2,71 + 80000430: 26731c63 bne t1,t2,800006a8 + +0000000080000434 : + 80000434: 01700193 li gp,23 + 80000438: 00000213 li tp,0 + 8000043c: 00d00093 li ra,13 + 80000440: 00b00113 li sp,11 + 80000444: 2020c733 sh2add a4,ra,sp + 80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000044c: 00200293 li t0,2 + 80000450: fe5216e3 bne tp,t0,8000043c + 80000454: 03f00393 li t2,63 + 80000458: 24771863 bne a4,t2,800006a8 + +000000008000045c : + 8000045c: 01800193 li gp,24 + 80000460: 00000213 li tp,0 + 80000464: 00e00093 li ra,14 + 80000468: 00b00113 li sp,11 + 8000046c: 00000013 nop + 80000470: 2020c733 sh2add a4,ra,sp + 80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000478: 00200293 li t0,2 + 8000047c: fe5214e3 bne tp,t0,80000464 + 80000480: 04300393 li t2,67 + 80000484: 22771263 bne a4,t2,800006a8 + +0000000080000488 : + 80000488: 01900193 li gp,25 + 8000048c: 00000213 li tp,0 + 80000490: 00f00093 li ra,15 + 80000494: 00b00113 li sp,11 + 80000498: 00000013 nop + 8000049c: 00000013 nop + 800004a0: 2020c733 sh2add a4,ra,sp + 800004a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a8: 00200293 li t0,2 + 800004ac: fe5212e3 bne tp,t0,80000490 + 800004b0: 04700393 li t2,71 + 800004b4: 1e771a63 bne a4,t2,800006a8 + +00000000800004b8 : + 800004b8: 01a00193 li gp,26 + 800004bc: 00000213 li tp,0 + 800004c0: 00d00093 li ra,13 + 800004c4: 00000013 nop + 800004c8: 00b00113 li sp,11 + 800004cc: 2020c733 sh2add a4,ra,sp + 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d4: 00200293 li t0,2 + 800004d8: fe5214e3 bne tp,t0,800004c0 + 800004dc: 03f00393 li t2,63 + 800004e0: 1c771463 bne a4,t2,800006a8 + +00000000800004e4 : + 800004e4: 01b00193 li gp,27 + 800004e8: 00000213 li tp,0 + 800004ec: 00e00093 li ra,14 + 800004f0: 00000013 nop + 800004f4: 00b00113 li sp,11 + 800004f8: 00000013 nop + 800004fc: 2020c733 sh2add a4,ra,sp + 80000500: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000504: 00200293 li t0,2 + 80000508: fe5212e3 bne tp,t0,800004ec + 8000050c: 04300393 li t2,67 + 80000510: 18771c63 bne a4,t2,800006a8 + +0000000080000514 : + 80000514: 01c00193 li gp,28 + 80000518: 00000213 li tp,0 + 8000051c: 00f00093 li ra,15 + 80000520: 00000013 nop + 80000524: 00000013 nop + 80000528: 00b00113 li sp,11 + 8000052c: 2020c733 sh2add a4,ra,sp + 80000530: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000534: 00200293 li t0,2 + 80000538: fe5212e3 bne tp,t0,8000051c + 8000053c: 04700393 li t2,71 + 80000540: 16771463 bne a4,t2,800006a8 + +0000000080000544 : + 80000544: 01d00193 li gp,29 + 80000548: 00000213 li tp,0 + 8000054c: 00b00113 li sp,11 + 80000550: 00d00093 li ra,13 + 80000554: 2020c733 sh2add a4,ra,sp + 80000558: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000055c: 00200293 li t0,2 + 80000560: fe5216e3 bne tp,t0,8000054c + 80000564: 03f00393 li t2,63 + 80000568: 14771063 bne a4,t2,800006a8 + +000000008000056c : + 8000056c: 01e00193 li gp,30 + 80000570: 00000213 li tp,0 + 80000574: 00b00113 li sp,11 + 80000578: 00e00093 li ra,14 + 8000057c: 00000013 nop + 80000580: 2020c733 sh2add a4,ra,sp + 80000584: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000588: 00200293 li t0,2 + 8000058c: fe5214e3 bne tp,t0,80000574 + 80000590: 04300393 li t2,67 + 80000594: 10771a63 bne a4,t2,800006a8 + +0000000080000598 : + 80000598: 01f00193 li gp,31 + 8000059c: 00000213 li tp,0 + 800005a0: 00b00113 li sp,11 + 800005a4: 00f00093 li ra,15 + 800005a8: 00000013 nop + 800005ac: 00000013 nop + 800005b0: 2020c733 sh2add a4,ra,sp + 800005b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005b8: 00200293 li t0,2 + 800005bc: fe5212e3 bne tp,t0,800005a0 + 800005c0: 04700393 li t2,71 + 800005c4: 0e771263 bne a4,t2,800006a8 + +00000000800005c8 : + 800005c8: 02000193 li gp,32 + 800005cc: 00000213 li tp,0 + 800005d0: 00b00113 li sp,11 + 800005d4: 00000013 nop + 800005d8: 00d00093 li ra,13 + 800005dc: 2020c733 sh2add a4,ra,sp + 800005e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005e4: 00200293 li t0,2 + 800005e8: fe5214e3 bne tp,t0,800005d0 + 800005ec: 03f00393 li t2,63 + 800005f0: 0a771c63 bne a4,t2,800006a8 + +00000000800005f4 : + 800005f4: 02100193 li gp,33 + 800005f8: 00000213 li tp,0 + 800005fc: 00b00113 li sp,11 + 80000600: 00000013 nop + 80000604: 00e00093 li ra,14 + 80000608: 00000013 nop + 8000060c: 2020c733 sh2add a4,ra,sp + 80000610: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000614: 00200293 li t0,2 + 80000618: fe5212e3 bne tp,t0,800005fc + 8000061c: 04300393 li t2,67 + 80000620: 08771463 bne a4,t2,800006a8 + +0000000080000624 : + 80000624: 02200193 li gp,34 + 80000628: 00000213 li tp,0 + 8000062c: 00b00113 li sp,11 + 80000630: 00000013 nop + 80000634: 00000013 nop + 80000638: 00f00093 li ra,15 + 8000063c: 2020c733 sh2add a4,ra,sp + 80000640: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000644: 00200293 li t0,2 + 80000648: fe5212e3 bne tp,t0,8000062c + 8000064c: 04700393 li t2,71 + 80000650: 04771c63 bne a4,t2,800006a8 + +0000000080000654 : + 80000654: 02300193 li gp,35 + 80000658: 00f00093 li ra,15 + 8000065c: 20104133 sh2add sp,zero,ra + 80000660: 00f00393 li t2,15 + 80000664: 04711263 bne sp,t2,800006a8 + +0000000080000668 : + 80000668: 02400193 li gp,36 + 8000066c: 02000093 li ra,32 + 80000670: 2000c133 sh2add sp,ra,zero + 80000674: 08000393 li t2,128 + 80000678: 02711863 bne sp,t2,800006a8 + +000000008000067c : + 8000067c: 02500193 li gp,37 + 80000680: 200040b3 sh2add ra,zero,zero + 80000684: 00000393 li t2,0 + 80000688: 02709063 bne ra,t2,800006a8 + +000000008000068c : + 8000068c: 02600193 li gp,38 + 80000690: 01000093 li ra,16 + 80000694: 01e00113 li sp,30 + 80000698: 2020c033 sh2add zero,ra,sp + 8000069c: 00000393 li t2,0 + 800006a0: 00701463 bne zero,t2,800006a8 + 800006a4: 02301063 bne zero,gp,800006c4 + +00000000800006a8 : + 800006a8: 0ff0000f fence + 800006ac: 00018063 beqz gp,800006ac + 800006b0: 00119193 slli gp,gp,0x1 + 800006b4: 0011e193 ori gp,gp,1 + 800006b8: 05d00893 li a7,93 + 800006bc: 00018513 mv a0,gp + 800006c0: 00000073 ecall + +00000000800006c4 : + 800006c4: 0ff0000f fence + 800006c8: 00100193 li gp,1 + 800006cc: 05d00893 li a7,93 + 800006d0: 00000513 li a0,0 + 800006d4: 00000073 ecall + 800006d8: c0001073 unimp + 800006dc: 0000 .insn 2, 0x + 800006de: 0000 .insn 2, 0x + 800006e0: 0000 .insn 2, 0x + 800006e2: 0000 .insn 2, 0x + 800006e4: 0000 .insn 2, 0x + 800006e6: 0000 .insn 2, 0x + 800006e8: 0000 .insn 2, 0x + 800006ea: 0000 .insn 2, 0x + 800006ec: 0000 .insn 2, 0x + 800006ee: 0000 .insn 2, 0x + 800006f0: 0000 .insn 2, 0x + 800006f2: 0000 .insn 2, 0x + 800006f4: 0000 .insn 2, 0x + 800006f6: 0000 .insn 2, 0x + 800006f8: 0000 .insn 2, 0x + 800006fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add.hex b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add.hex new file mode 100644 index 0000000..24fd507 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add.hex @@ -0,0 +1,831 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000059300200193 +20c5c73300000613 +4e771e6300000393 +0010059300300193 +20c5c73300100613 +4e77126300500393 +0030059300400193 +20c5c73300700613 +4c77166301300393 +0000059300500193 +20c5c733ffff8637 +4a771a63ffff83b7 +800005b700600193 +20c5c73300000613 +02139393fff0039b +0070019348771c63 +ffff8637800005b7 +fffc03b720c5c733 +00f39393fff3839b +0080019346771c63 +0000863700000593 +20c5c733fff6061b +fff3839b000083b7 +0090019344771c63 +fff5859b800005b7 +20c5c73300000613 +021393930010039b +42771a63ffc38393 +800005b700a00193 +00008637fff5859b +20c5c733fff6061b +0013839b000403b7 +ffb3839300f39393 +00b0019340771463 +00008637800005b7 +20c5c733fff6061b +0013839bfffc03b7 +fff3839300f39393 +00c001933e771063 +fff5859b800005b7 +20c5c733ffff8637 +fff3839b000403b7 +ffc3839300f39393 +00d001933a771c63 +fff0061300000593 +fff0039320c5c733 +00e001933a771063 +00100613fff00593 +ffd0039320c5c733 +00f0019338771463 +fff00613fff00593 +ffb0039320c5c733 +0100019336771863 +8000063700100593 +20c5c733fff6061b +01f393930010039b +3477166300338393 +00d0059301100193 +20c5c5b300b00613 +32759a6303f00393 +00e0059301200193 +20c5c63300b00613 +30761e6304300393 +00d0059301300193 +0410039320b5c5b3 +0140019330759463 +00d0009300000213 +2020c73300b00113 +0012021300070313 +fe5214e300200293 +2c731e6303f00393 +0000021301500193 +00b0011300e00093 +000000132020c733 +0012021300070313 +fe5212e300200293 +2a73166304300393 +0000021301600193 +00b0011300f00093 +000000132020c733 +0007031300000013 +0020029300120213 +04700393fe5210e3 +0170019326731c63 +00d0009300000213 +2020c73300b00113 +0020029300120213 +03f00393fe5216e3 +0180019324771863 +00e0009300000213 +0000001300b00113 +001202132020c733 +fe5214e300200293 +2277126304300393 +0000021301900193 +00b0011300f00093 +0000001300000013 +001202132020c733 +fe5212e300200293 +1e771a6304700393 +0000021301a00193 +0000001300d00093 +2020c73300b00113 +0020029300120213 +03f00393fe5214e3 +01b001931c771463 +00e0009300000213 +00b0011300000013 +2020c73300000013 +0020029300120213 +04300393fe5212e3 +01c0019318771c63 +00f0009300000213 +0000001300000013 +2020c73300b00113 +0020029300120213 +04700393fe5212e3 +01d0019316771463 +00b0011300000213 +2020c73300d00093 +0020029300120213 +03f00393fe5216e3 +01e0019314771063 +00b0011300000213 +0000001300e00093 +001202132020c733 +fe5214e300200293 +10771a6304300393 +0000021301f00193 +00f0009300b00113 +0000001300000013 +001202132020c733 +fe5212e300200293 +0e77126304700393 +0000021302000193 +0000001300b00113 +2020c73300d00093 +0020029300120213 +03f00393fe5214e3 +021001930a771c63 +00b0011300000213 +00e0009300000013 +2020c73300000013 +0020029300120213 +04300393fe5212e3 +0220019308771463 +00b0011300000213 +0000001300000013 +2020c73300f00093 +0020029300120213 +04700393fe5212e3 +0230019304771c63 +2010413300f00093 +0471126300f00393 +0200009302400193 +080003932000c133 +0250019302711863 +00000393200040b3 +0260019302709063 +01e0011301000093 +000003932020c033 +0230106300701463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3161627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800006a8 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000214 +0000000000000000 +00010000000000cb +0000000080000234 +0000000000000000 +00010000000000d2 +0000000080000254 +0000000000000000 +00010000000000d9 +0000000080000278 +0000000000000000 +00010000000000e1 +00000000800002a4 +0000000000000000 +00010000000000e9 +00000000800002cc +0000000000000000 +00010000000000f1 +00000000800002f4 +0000000000000000 +00010000000000f9 +000000008000030c +0000000000000000 +0001000000000101 +0000000080000324 +0000000000000000 +0001000000000109 +000000008000033c +0000000000000000 +0001000000000111 +0000000080000360 +0000000000000000 +0001000000000119 +0000000080000378 +0000000000000000 +0001000000000121 +0000000080000390 +0000000000000000 +0001000000000129 +00000000800003a4 +0000000000000000 +0001000000000131 +00000000800003d0 +0000000000000000 +0001000000000139 +0000000080000400 +0000000000000000 +0001000000000141 +0000000080000434 +0000000000000000 +0001000000000149 +000000008000045c +0000000000000000 +0001000000000151 +0000000080000488 +0000000000000000 +0001000000000159 +00000000800004b8 +0000000000000000 +0001000000000161 +00000000800004e4 +0000000000000000 +0001000000000169 +0000000080000514 +0000000000000000 +0001000000000171 +0000000080000544 +0000000000000000 +0001000000000179 +000000008000056c +0000000000000000 +0001000000000181 +0000000080000598 +0000000000000000 +0001000000000189 +00000000800005c8 +0000000000000000 +0001000000000191 +00000000800005f4 +0000000000000000 +0001000000000199 +0000000080000624 +0000000000000000 +00010000000001a1 +0000000080000654 +0000000000000000 +00010000000001a9 +0000000080000668 +0000000000000000 +00010000000001b1 +000000008000067c +0000000000000000 +00010000000001b9 +000000008000068c +0000000000000000 +00010000000001c1 +00000000800006c4 +0000000000000000 +00020010000001c6 +0000000080002000 +0000000000000000 +00020010000001d4 +0000000080002000 +0000000000000000 +00010010000001e4 +0000000080000000 +0000000000000000 +00020010000001eb +0000000080002000 +0000000000000000 +00020010000001f0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +6d4d434b56636300 +76727824006f2e62 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703161627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000558 +0000003300000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000025f8 +00000000000001f9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000027f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add_uw.dump b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add_uw.dump new file mode 100644 index 0000000..b465f91 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add_uw.dump @@ -0,0 +1,546 @@ + +rv64uzba-p-sh2add_uw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000593 li a1,0 + 800001a0: 00000613 li a2,0 + 800001a4: 20c5c73b sh2add.uw a4,a1,a2 + 800001a8: 00000393 li t2,0 + 800001ac: 50771663 bne a4,t2,800006b8 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 20c5c73b sh2add.uw a4,a1,a2 + 800001c0: 00500393 li t2,5 + 800001c4: 4e771a63 bne a4,t2,800006b8 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00300593 li a1,3 + 800001d0: 00700613 li a2,7 + 800001d4: 20c5c73b sh2add.uw a4,a1,a2 + 800001d8: 01300393 li t2,19 + 800001dc: 4c771e63 bne a4,t2,800006b8 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00000593 li a1,0 + 800001e8: ffff8637 lui a2,0xffff8 + 800001ec: 20c5c73b sh2add.uw a4,a1,a2 + 800001f0: ffff83b7 lui t2,0xffff8 + 800001f4: 4c771263 bne a4,t2,800006b8 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 800005b7 lui a1,0x80000 + 80000200: 00000613 li a2,0 + 80000204: 20c5c73b sh2add.uw a4,a1,a2 + 80000208: 0010039b addiw t2,zero,1 + 8000020c: 02139393 slli t2,t2,0x21 + 80000210: 4a771463 bne a4,t2,800006b8 + +0000000080000214 : + 80000214: 00700193 li gp,7 + 80000218: 800005b7 lui a1,0x80000 + 8000021c: ffff8637 lui a2,0xffff8 + 80000220: 20c5c73b sh2add.uw a4,a1,a2 + 80000224: 000403b7 lui t2,0x40 + 80000228: fff3839b addiw t2,t2,-1 # 3ffff <_start-0x7ffc0001> + 8000022c: 00f39393 slli t2,t2,0xf + 80000230: 48771463 bne a4,t2,800006b8 + +0000000080000234 : + 80000234: 00800193 li gp,8 + 80000238: 00000593 li a1,0 + 8000023c: 00008637 lui a2,0x8 + 80000240: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 80000244: 20c5c73b sh2add.uw a4,a1,a2 + 80000248: 000083b7 lui t2,0x8 + 8000024c: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000250: 46771463 bne a4,t2,800006b8 + +0000000080000254 : + 80000254: 00900193 li gp,9 + 80000258: 800005b7 lui a1,0x80000 + 8000025c: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000260: 00000613 li a2,0 + 80000264: 20c5c73b sh2add.uw a4,a1,a2 + 80000268: 0010039b addiw t2,zero,1 + 8000026c: 02139393 slli t2,t2,0x21 + 80000270: ffc38393 addi t2,t2,-4 + 80000274: 44771263 bne a4,t2,800006b8 + +0000000080000278 : + 80000278: 00a00193 li gp,10 + 8000027c: 800005b7 lui a1,0x80000 + 80000280: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000284: 00008637 lui a2,0x8 + 80000288: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 8000028c: 20c5c73b sh2add.uw a4,a1,a2 + 80000290: 000403b7 lui t2,0x40 + 80000294: 0013839b addiw t2,t2,1 # 40001 <_start-0x7ffbffff> + 80000298: 00f39393 slli t2,t2,0xf + 8000029c: ffb38393 addi t2,t2,-5 + 800002a0: 40771c63 bne a4,t2,800006b8 + +00000000800002a4 : + 800002a4: 00b00193 li gp,11 + 800002a8: 800005b7 lui a1,0x80000 + 800002ac: 00008637 lui a2,0x8 + 800002b0: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002b4: 20c5c73b sh2add.uw a4,a1,a2 + 800002b8: 000403b7 lui t2,0x40 + 800002bc: 0013839b addiw t2,t2,1 # 40001 <_start-0x7ffbffff> + 800002c0: 00f39393 slli t2,t2,0xf + 800002c4: fff38393 addi t2,t2,-1 + 800002c8: 3e771863 bne a4,t2,800006b8 + +00000000800002cc : + 800002cc: 00c00193 li gp,12 + 800002d0: 800005b7 lui a1,0x80000 + 800002d4: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002d8: ffff8637 lui a2,0xffff8 + 800002dc: 20c5c73b sh2add.uw a4,a1,a2 + 800002e0: 000403b7 lui t2,0x40 + 800002e4: fff3839b addiw t2,t2,-1 # 3ffff <_start-0x7ffc0001> + 800002e8: 00f39393 slli t2,t2,0xf + 800002ec: ffc38393 addi t2,t2,-4 + 800002f0: 3c771463 bne a4,t2,800006b8 + +00000000800002f4 : + 800002f4: 00d00193 li gp,13 + 800002f8: 00000593 li a1,0 + 800002fc: fff00613 li a2,-1 + 80000300: 20c5c73b sh2add.uw a4,a1,a2 + 80000304: fff00393 li t2,-1 + 80000308: 3a771863 bne a4,t2,800006b8 + +000000008000030c : + 8000030c: 00e00193 li gp,14 + 80000310: fff00593 li a1,-1 + 80000314: 00100613 li a2,1 + 80000318: 20c5c73b sh2add.uw a4,a1,a2 + 8000031c: 0010039b addiw t2,zero,1 + 80000320: 02239393 slli t2,t2,0x22 + 80000324: ffd38393 addi t2,t2,-3 + 80000328: 38771863 bne a4,t2,800006b8 + +000000008000032c : + 8000032c: 00f00193 li gp,15 + 80000330: fff00593 li a1,-1 + 80000334: fff00613 li a2,-1 + 80000338: 20c5c73b sh2add.uw a4,a1,a2 + 8000033c: 0010039b addiw t2,zero,1 + 80000340: 02239393 slli t2,t2,0x22 + 80000344: ffb38393 addi t2,t2,-5 + 80000348: 36771863 bne a4,t2,800006b8 + +000000008000034c : + 8000034c: 01000193 li gp,16 + 80000350: 00100593 li a1,1 + 80000354: 80000637 lui a2,0x80000 + 80000358: fff6061b addiw a2,a2,-1 # 7fffffff <_start-0x1> + 8000035c: 20c5c73b sh2add.uw a4,a1,a2 + 80000360: 0010039b addiw t2,zero,1 + 80000364: 01f39393 slli t2,t2,0x1f + 80000368: 00338393 addi t2,t2,3 + 8000036c: 34771663 bne a4,t2,800006b8 + +0000000080000370 : + 80000370: 01100193 li gp,17 + 80000374: 00d00593 li a1,13 + 80000378: 00b00613 li a2,11 + 8000037c: 20c5c5bb sh2add.uw a1,a1,a2 + 80000380: 03f00393 li t2,63 + 80000384: 32759a63 bne a1,t2,800006b8 + +0000000080000388 : + 80000388: 01200193 li gp,18 + 8000038c: 00e00593 li a1,14 + 80000390: 00b00613 li a2,11 + 80000394: 20c5c63b sh2add.uw a2,a1,a2 + 80000398: 04300393 li t2,67 + 8000039c: 30761e63 bne a2,t2,800006b8 + +00000000800003a0 : + 800003a0: 01300193 li gp,19 + 800003a4: 00d00593 li a1,13 + 800003a8: 20b5c5bb sh2add.uw a1,a1,a1 + 800003ac: 04100393 li t2,65 + 800003b0: 30759463 bne a1,t2,800006b8 + +00000000800003b4 : + 800003b4: 01400193 li gp,20 + 800003b8: 00000213 li tp,0 + 800003bc: 00d00093 li ra,13 + 800003c0: 00b00113 li sp,11 + 800003c4: 2020c73b sh2add.uw a4,ra,sp + 800003c8: 00070313 mv t1,a4 + 800003cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d0: 00200293 li t0,2 + 800003d4: fe5214e3 bne tp,t0,800003bc + 800003d8: 03f00393 li t2,63 + 800003dc: 2c731e63 bne t1,t2,800006b8 + +00000000800003e0 : + 800003e0: 01500193 li gp,21 + 800003e4: 00000213 li tp,0 + 800003e8: 00e00093 li ra,14 + 800003ec: 00b00113 li sp,11 + 800003f0: 2020c73b sh2add.uw a4,ra,sp + 800003f4: 00000013 nop + 800003f8: 00070313 mv t1,a4 + 800003fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000400: 00200293 li t0,2 + 80000404: fe5212e3 bne tp,t0,800003e8 + 80000408: 04300393 li t2,67 + 8000040c: 2a731663 bne t1,t2,800006b8 + +0000000080000410 : + 80000410: 01600193 li gp,22 + 80000414: 00000213 li tp,0 + 80000418: 00f00093 li ra,15 + 8000041c: 00b00113 li sp,11 + 80000420: 2020c73b sh2add.uw a4,ra,sp + 80000424: 00000013 nop + 80000428: 00000013 nop + 8000042c: 00070313 mv t1,a4 + 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000434: 00200293 li t0,2 + 80000438: fe5210e3 bne tp,t0,80000418 + 8000043c: 04700393 li t2,71 + 80000440: 26731c63 bne t1,t2,800006b8 + +0000000080000444 : + 80000444: 01700193 li gp,23 + 80000448: 00000213 li tp,0 + 8000044c: 00d00093 li ra,13 + 80000450: 00b00113 li sp,11 + 80000454: 2020c73b sh2add.uw a4,ra,sp + 80000458: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000045c: 00200293 li t0,2 + 80000460: fe5216e3 bne tp,t0,8000044c + 80000464: 03f00393 li t2,63 + 80000468: 24771863 bne a4,t2,800006b8 + +000000008000046c : + 8000046c: 01800193 li gp,24 + 80000470: 00000213 li tp,0 + 80000474: 00e00093 li ra,14 + 80000478: 00b00113 li sp,11 + 8000047c: 00000013 nop + 80000480: 2020c73b sh2add.uw a4,ra,sp + 80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000488: 00200293 li t0,2 + 8000048c: fe5214e3 bne tp,t0,80000474 + 80000490: 04300393 li t2,67 + 80000494: 22771263 bne a4,t2,800006b8 + +0000000080000498 : + 80000498: 01900193 li gp,25 + 8000049c: 00000213 li tp,0 + 800004a0: 00f00093 li ra,15 + 800004a4: 00b00113 li sp,11 + 800004a8: 00000013 nop + 800004ac: 00000013 nop + 800004b0: 2020c73b sh2add.uw a4,ra,sp + 800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004b8: 00200293 li t0,2 + 800004bc: fe5212e3 bne tp,t0,800004a0 + 800004c0: 04700393 li t2,71 + 800004c4: 1e771a63 bne a4,t2,800006b8 + +00000000800004c8 : + 800004c8: 01a00193 li gp,26 + 800004cc: 00000213 li tp,0 + 800004d0: 00d00093 li ra,13 + 800004d4: 00000013 nop + 800004d8: 00b00113 li sp,11 + 800004dc: 2020c73b sh2add.uw a4,ra,sp + 800004e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004e4: 00200293 li t0,2 + 800004e8: fe5214e3 bne tp,t0,800004d0 + 800004ec: 03f00393 li t2,63 + 800004f0: 1c771463 bne a4,t2,800006b8 + +00000000800004f4 : + 800004f4: 01b00193 li gp,27 + 800004f8: 00000213 li tp,0 + 800004fc: 00e00093 li ra,14 + 80000500: 00000013 nop + 80000504: 00b00113 li sp,11 + 80000508: 00000013 nop + 8000050c: 2020c73b sh2add.uw a4,ra,sp + 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000514: 00200293 li t0,2 + 80000518: fe5212e3 bne tp,t0,800004fc + 8000051c: 04300393 li t2,67 + 80000520: 18771c63 bne a4,t2,800006b8 + +0000000080000524 : + 80000524: 01c00193 li gp,28 + 80000528: 00000213 li tp,0 + 8000052c: 00f00093 li ra,15 + 80000530: 00000013 nop + 80000534: 00000013 nop + 80000538: 00b00113 li sp,11 + 8000053c: 2020c73b sh2add.uw a4,ra,sp + 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000544: 00200293 li t0,2 + 80000548: fe5212e3 bne tp,t0,8000052c + 8000054c: 04700393 li t2,71 + 80000550: 16771463 bne a4,t2,800006b8 + +0000000080000554 : + 80000554: 01d00193 li gp,29 + 80000558: 00000213 li tp,0 + 8000055c: 00b00113 li sp,11 + 80000560: 00d00093 li ra,13 + 80000564: 2020c73b sh2add.uw a4,ra,sp + 80000568: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000056c: 00200293 li t0,2 + 80000570: fe5216e3 bne tp,t0,8000055c + 80000574: 03f00393 li t2,63 + 80000578: 14771063 bne a4,t2,800006b8 + +000000008000057c : + 8000057c: 01e00193 li gp,30 + 80000580: 00000213 li tp,0 + 80000584: 00b00113 li sp,11 + 80000588: 00e00093 li ra,14 + 8000058c: 00000013 nop + 80000590: 2020c73b sh2add.uw a4,ra,sp + 80000594: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000598: 00200293 li t0,2 + 8000059c: fe5214e3 bne tp,t0,80000584 + 800005a0: 04300393 li t2,67 + 800005a4: 10771a63 bne a4,t2,800006b8 + +00000000800005a8 : + 800005a8: 01f00193 li gp,31 + 800005ac: 00000213 li tp,0 + 800005b0: 00b00113 li sp,11 + 800005b4: 00f00093 li ra,15 + 800005b8: 00000013 nop + 800005bc: 00000013 nop + 800005c0: 2020c73b sh2add.uw a4,ra,sp + 800005c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005c8: 00200293 li t0,2 + 800005cc: fe5212e3 bne tp,t0,800005b0 + 800005d0: 04700393 li t2,71 + 800005d4: 0e771263 bne a4,t2,800006b8 + +00000000800005d8 : + 800005d8: 02000193 li gp,32 + 800005dc: 00000213 li tp,0 + 800005e0: 00b00113 li sp,11 + 800005e4: 00000013 nop + 800005e8: 00d00093 li ra,13 + 800005ec: 2020c73b sh2add.uw a4,ra,sp + 800005f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005f4: 00200293 li t0,2 + 800005f8: fe5214e3 bne tp,t0,800005e0 + 800005fc: 03f00393 li t2,63 + 80000600: 0a771c63 bne a4,t2,800006b8 + +0000000080000604 : + 80000604: 02100193 li gp,33 + 80000608: 00000213 li tp,0 + 8000060c: 00b00113 li sp,11 + 80000610: 00000013 nop + 80000614: 00e00093 li ra,14 + 80000618: 00000013 nop + 8000061c: 2020c73b sh2add.uw a4,ra,sp + 80000620: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000624: 00200293 li t0,2 + 80000628: fe5212e3 bne tp,t0,8000060c + 8000062c: 04300393 li t2,67 + 80000630: 08771463 bne a4,t2,800006b8 + +0000000080000634 : + 80000634: 02200193 li gp,34 + 80000638: 00000213 li tp,0 + 8000063c: 00b00113 li sp,11 + 80000640: 00000013 nop + 80000644: 00000013 nop + 80000648: 00f00093 li ra,15 + 8000064c: 2020c73b sh2add.uw a4,ra,sp + 80000650: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000654: 00200293 li t0,2 + 80000658: fe5212e3 bne tp,t0,8000063c + 8000065c: 04700393 li t2,71 + 80000660: 04771c63 bne a4,t2,800006b8 + +0000000080000664 : + 80000664: 02300193 li gp,35 + 80000668: 00f00093 li ra,15 + 8000066c: 2010413b sh2add.uw sp,zero,ra + 80000670: 00f00393 li t2,15 + 80000674: 04711263 bne sp,t2,800006b8 + +0000000080000678 : + 80000678: 02400193 li gp,36 + 8000067c: 02000093 li ra,32 + 80000680: 2000c13b sh2add.uw sp,ra,zero + 80000684: 08000393 li t2,128 + 80000688: 02711863 bne sp,t2,800006b8 + +000000008000068c : + 8000068c: 02500193 li gp,37 + 80000690: 200040bb sh2add.uw ra,zero,zero + 80000694: 00000393 li t2,0 + 80000698: 02709063 bne ra,t2,800006b8 + +000000008000069c : + 8000069c: 02600193 li gp,38 + 800006a0: 01000093 li ra,16 + 800006a4: 01e00113 li sp,30 + 800006a8: 2020c03b sh2add.uw zero,ra,sp + 800006ac: 00000393 li t2,0 + 800006b0: 00701463 bne zero,t2,800006b8 + 800006b4: 02301063 bne zero,gp,800006d4 + +00000000800006b8 : + 800006b8: 0ff0000f fence + 800006bc: 00018063 beqz gp,800006bc + 800006c0: 00119193 slli gp,gp,0x1 + 800006c4: 0011e193 ori gp,gp,1 + 800006c8: 05d00893 li a7,93 + 800006cc: 00018513 mv a0,gp + 800006d0: 00000073 ecall + +00000000800006d4 : + 800006d4: 0ff0000f fence + 800006d8: 00100193 li gp,1 + 800006dc: 05d00893 li a7,93 + 800006e0: 00000513 li a0,0 + 800006e4: 00000073 ecall + 800006e8: c0001073 unimp + 800006ec: 0000 .insn 2, 0x + 800006ee: 0000 .insn 2, 0x + 800006f0: 0000 .insn 2, 0x + 800006f2: 0000 .insn 2, 0x + 800006f4: 0000 .insn 2, 0x + 800006f6: 0000 .insn 2, 0x + 800006f8: 0000 .insn 2, 0x + 800006fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add_uw.hex b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add_uw.hex new file mode 100644 index 0000000..22d3fe5 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh2add_uw.hex @@ -0,0 +1,831 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000059300200193 +20c5c73b00000613 +5077166300000393 +0010059300300193 +20c5c73b00100613 +4e771a6300500393 +0030059300400193 +20c5c73b00700613 +4c771e6301300393 +0000059300500193 +20c5c73bffff8637 +4c771263ffff83b7 +800005b700600193 +20c5c73b00000613 +021393930010039b +007001934a771463 +ffff8637800005b7 +000403b720c5c73b +00f39393fff3839b +0080019348771463 +0000863700000593 +20c5c73bfff6061b +fff3839b000083b7 +0090019346771463 +fff5859b800005b7 +20c5c73b00000613 +021393930010039b +44771263ffc38393 +800005b700a00193 +00008637fff5859b +20c5c73bfff6061b +0013839b000403b7 +ffb3839300f39393 +00b0019340771c63 +00008637800005b7 +20c5c73bfff6061b +0013839b000403b7 +fff3839300f39393 +00c001933e771863 +fff5859b800005b7 +20c5c73bffff8637 +fff3839b000403b7 +ffc3839300f39393 +00d001933c771463 +fff0061300000593 +fff0039320c5c73b +00e001933a771863 +00100613fff00593 +0010039b20c5c73b +ffd3839302239393 +00f0019338771863 +fff00613fff00593 +0010039b20c5c73b +ffb3839302239393 +0100019336771863 +8000063700100593 +20c5c73bfff6061b +01f393930010039b +3477166300338393 +00d0059301100193 +20c5c5bb00b00613 +32759a6303f00393 +00e0059301200193 +20c5c63b00b00613 +30761e6304300393 +00d0059301300193 +0410039320b5c5bb +0140019330759463 +00d0009300000213 +2020c73b00b00113 +0012021300070313 +fe5214e300200293 +2c731e6303f00393 +0000021301500193 +00b0011300e00093 +000000132020c73b +0012021300070313 +fe5212e300200293 +2a73166304300393 +0000021301600193 +00b0011300f00093 +000000132020c73b +0007031300000013 +0020029300120213 +04700393fe5210e3 +0170019326731c63 +00d0009300000213 +2020c73b00b00113 +0020029300120213 +03f00393fe5216e3 +0180019324771863 +00e0009300000213 +0000001300b00113 +001202132020c73b +fe5214e300200293 +2277126304300393 +0000021301900193 +00b0011300f00093 +0000001300000013 +001202132020c73b +fe5212e300200293 +1e771a6304700393 +0000021301a00193 +0000001300d00093 +2020c73b00b00113 +0020029300120213 +03f00393fe5214e3 +01b001931c771463 +00e0009300000213 +00b0011300000013 +2020c73b00000013 +0020029300120213 +04300393fe5212e3 +01c0019318771c63 +00f0009300000213 +0000001300000013 +2020c73b00b00113 +0020029300120213 +04700393fe5212e3 +01d0019316771463 +00b0011300000213 +2020c73b00d00093 +0020029300120213 +03f00393fe5216e3 +01e0019314771063 +00b0011300000213 +0000001300e00093 +001202132020c73b +fe5214e300200293 +10771a6304300393 +0000021301f00193 +00f0009300b00113 +0000001300000013 +001202132020c73b +fe5212e300200293 +0e77126304700393 +0000021302000193 +0000001300b00113 +2020c73b00d00093 +0020029300120213 +03f00393fe5214e3 +021001930a771c63 +00b0011300000213 +00e0009300000013 +2020c73b00000013 +0020029300120213 +04300393fe5212e3 +0220019308771463 +00b0011300000213 +0000001300000013 +2020c73b00f00093 +0020029300120213 +04700393fe5212e3 +0230019304771c63 +2010413b00f00093 +0471126300f00393 +0200009302400193 +080003932000c13b +0250019302711863 +00000393200040bb +0260019302709063 +01e0011301000093 +000003932020c03b +0230106300701463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3161627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800006b8 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000214 +0000000000000000 +00010000000000cb +0000000080000234 +0000000000000000 +00010000000000d2 +0000000080000254 +0000000000000000 +00010000000000d9 +0000000080000278 +0000000000000000 +00010000000000e1 +00000000800002a4 +0000000000000000 +00010000000000e9 +00000000800002cc +0000000000000000 +00010000000000f1 +00000000800002f4 +0000000000000000 +00010000000000f9 +000000008000030c +0000000000000000 +0001000000000101 +000000008000032c +0000000000000000 +0001000000000109 +000000008000034c +0000000000000000 +0001000000000111 +0000000080000370 +0000000000000000 +0001000000000119 +0000000080000388 +0000000000000000 +0001000000000121 +00000000800003a0 +0000000000000000 +0001000000000129 +00000000800003b4 +0000000000000000 +0001000000000131 +00000000800003e0 +0000000000000000 +0001000000000139 +0000000080000410 +0000000000000000 +0001000000000141 +0000000080000444 +0000000000000000 +0001000000000149 +000000008000046c +0000000000000000 +0001000000000151 +0000000080000498 +0000000000000000 +0001000000000159 +00000000800004c8 +0000000000000000 +0001000000000161 +00000000800004f4 +0000000000000000 +0001000000000169 +0000000080000524 +0000000000000000 +0001000000000171 +0000000080000554 +0000000000000000 +0001000000000179 +000000008000057c +0000000000000000 +0001000000000181 +00000000800005a8 +0000000000000000 +0001000000000189 +00000000800005d8 +0000000000000000 +0001000000000191 +0000000080000604 +0000000000000000 +0001000000000199 +0000000080000634 +0000000000000000 +00010000000001a1 +0000000080000664 +0000000000000000 +00010000000001a9 +0000000080000678 +0000000000000000 +00010000000001b1 +000000008000068c +0000000000000000 +00010000000001b9 +000000008000069c +0000000000000000 +00010000000001c1 +00000000800006d4 +0000000000000000 +00020010000001c6 +0000000080002000 +0000000000000000 +00020010000001d4 +0000000080002000 +0000000000000000 +00010010000001e4 +0000000080000000 +0000000000000000 +00020010000001eb +0000000080002000 +0000000000000000 +00020010000001f0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +4a4e36636f636300 +76727824006f2e75 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703161627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000558 +0000003300000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000025f8 +00000000000001f9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000027f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add.dump b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add.dump new file mode 100644 index 0000000..f1439bf --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add.dump @@ -0,0 +1,550 @@ + +rv64uzba-p-sh3add: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000593 li a1,0 + 800001a0: 00000613 li a2,0 + 800001a4: 20c5e733 sh3add a4,a1,a2 + 800001a8: 00000393 li t2,0 + 800001ac: 4e771e63 bne a4,t2,800006a8 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 20c5e733 sh3add a4,a1,a2 + 800001c0: 00900393 li t2,9 + 800001c4: 4e771263 bne a4,t2,800006a8 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00300593 li a1,3 + 800001d0: 00700613 li a2,7 + 800001d4: 20c5e733 sh3add a4,a1,a2 + 800001d8: 01f00393 li t2,31 + 800001dc: 4c771663 bne a4,t2,800006a8 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00000593 li a1,0 + 800001e8: ffff8637 lui a2,0xffff8 + 800001ec: 20c5e733 sh3add a4,a1,a2 + 800001f0: ffff83b7 lui t2,0xffff8 + 800001f4: 4a771a63 bne a4,t2,800006a8 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 800005b7 lui a1,0x80000 + 80000200: 00000613 li a2,0 + 80000204: 20c5e733 sh3add a4,a1,a2 + 80000208: fff0039b addiw t2,zero,-1 + 8000020c: 02239393 slli t2,t2,0x22 + 80000210: 48771c63 bne a4,t2,800006a8 + +0000000080000214 : + 80000214: 00700193 li gp,7 + 80000218: 800005b7 lui a1,0x80000 + 8000021c: ffff8637 lui a2,0xffff8 + 80000220: 20c5e733 sh3add a4,a1,a2 + 80000224: fff803b7 lui t2,0xfff80 + 80000228: fff3839b addiw t2,t2,-1 # fffffffffff7ffff <_end+0xffffffff7ff7dfff> + 8000022c: 00f39393 slli t2,t2,0xf + 80000230: 46771c63 bne a4,t2,800006a8 + +0000000080000234 : + 80000234: 00800193 li gp,8 + 80000238: 00000593 li a1,0 + 8000023c: 00008637 lui a2,0x8 + 80000240: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 80000244: 20c5e733 sh3add a4,a1,a2 + 80000248: 000083b7 lui t2,0x8 + 8000024c: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000250: 44771c63 bne a4,t2,800006a8 + +0000000080000254 : + 80000254: 00900193 li gp,9 + 80000258: 800005b7 lui a1,0x80000 + 8000025c: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000260: 00000613 li a2,0 + 80000264: 20c5e733 sh3add a4,a1,a2 + 80000268: 0010039b addiw t2,zero,1 + 8000026c: 02239393 slli t2,t2,0x22 + 80000270: ff838393 addi t2,t2,-8 + 80000274: 42771a63 bne a4,t2,800006a8 + +0000000080000278 : + 80000278: 00a00193 li gp,10 + 8000027c: 800005b7 lui a1,0x80000 + 80000280: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000284: 00008637 lui a2,0x8 + 80000288: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 8000028c: 20c5e733 sh3add a4,a1,a2 + 80000290: 000803b7 lui t2,0x80 + 80000294: 0013839b addiw t2,t2,1 # 80001 <_start-0x7ff7ffff> + 80000298: 00f39393 slli t2,t2,0xf + 8000029c: ff738393 addi t2,t2,-9 + 800002a0: 40771463 bne a4,t2,800006a8 + +00000000800002a4 : + 800002a4: 00b00193 li gp,11 + 800002a8: 800005b7 lui a1,0x80000 + 800002ac: 00008637 lui a2,0x8 + 800002b0: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002b4: 20c5e733 sh3add a4,a1,a2 + 800002b8: fff803b7 lui t2,0xfff80 + 800002bc: 0013839b addiw t2,t2,1 # fffffffffff80001 <_end+0xffffffff7ff7e001> + 800002c0: 00f39393 slli t2,t2,0xf + 800002c4: fff38393 addi t2,t2,-1 + 800002c8: 3e771063 bne a4,t2,800006a8 + +00000000800002cc : + 800002cc: 00c00193 li gp,12 + 800002d0: 800005b7 lui a1,0x80000 + 800002d4: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002d8: ffff8637 lui a2,0xffff8 + 800002dc: 20c5e733 sh3add a4,a1,a2 + 800002e0: 000803b7 lui t2,0x80 + 800002e4: fff3839b addiw t2,t2,-1 # 7ffff <_start-0x7ff80001> + 800002e8: 00f39393 slli t2,t2,0xf + 800002ec: ff838393 addi t2,t2,-8 + 800002f0: 3a771c63 bne a4,t2,800006a8 + +00000000800002f4 : + 800002f4: 00d00193 li gp,13 + 800002f8: 00000593 li a1,0 + 800002fc: fff00613 li a2,-1 + 80000300: 20c5e733 sh3add a4,a1,a2 + 80000304: fff00393 li t2,-1 + 80000308: 3a771063 bne a4,t2,800006a8 + +000000008000030c : + 8000030c: 00e00193 li gp,14 + 80000310: fff00593 li a1,-1 + 80000314: 00100613 li a2,1 + 80000318: 20c5e733 sh3add a4,a1,a2 + 8000031c: ff900393 li t2,-7 + 80000320: 38771463 bne a4,t2,800006a8 + +0000000080000324 : + 80000324: 00f00193 li gp,15 + 80000328: fff00593 li a1,-1 + 8000032c: fff00613 li a2,-1 + 80000330: 20c5e733 sh3add a4,a1,a2 + 80000334: ff700393 li t2,-9 + 80000338: 36771863 bne a4,t2,800006a8 + +000000008000033c : + 8000033c: 01000193 li gp,16 + 80000340: 00100593 li a1,1 + 80000344: 80000637 lui a2,0x80000 + 80000348: fff6061b addiw a2,a2,-1 # 7fffffff <_start-0x1> + 8000034c: 20c5e733 sh3add a4,a1,a2 + 80000350: 0010039b addiw t2,zero,1 + 80000354: 01f39393 slli t2,t2,0x1f + 80000358: 00738393 addi t2,t2,7 + 8000035c: 34771663 bne a4,t2,800006a8 + +0000000080000360 : + 80000360: 01100193 li gp,17 + 80000364: 00d00593 li a1,13 + 80000368: 00b00613 li a2,11 + 8000036c: 20c5e5b3 sh3add a1,a1,a2 + 80000370: 07300393 li t2,115 + 80000374: 32759a63 bne a1,t2,800006a8 + +0000000080000378 : + 80000378: 01200193 li gp,18 + 8000037c: 00e00593 li a1,14 + 80000380: 00b00613 li a2,11 + 80000384: 20c5e633 sh3add a2,a1,a2 + 80000388: 07b00393 li t2,123 + 8000038c: 30761e63 bne a2,t2,800006a8 + +0000000080000390 : + 80000390: 01300193 li gp,19 + 80000394: 00d00593 li a1,13 + 80000398: 20b5e5b3 sh3add a1,a1,a1 + 8000039c: 07500393 li t2,117 + 800003a0: 30759463 bne a1,t2,800006a8 + +00000000800003a4 : + 800003a4: 01400193 li gp,20 + 800003a8: 00000213 li tp,0 + 800003ac: 00d00093 li ra,13 + 800003b0: 00b00113 li sp,11 + 800003b4: 2020e733 sh3add a4,ra,sp + 800003b8: 00070313 mv t1,a4 + 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c0: 00200293 li t0,2 + 800003c4: fe5214e3 bne tp,t0,800003ac + 800003c8: 07300393 li t2,115 + 800003cc: 2c731e63 bne t1,t2,800006a8 + +00000000800003d0 : + 800003d0: 01500193 li gp,21 + 800003d4: 00000213 li tp,0 + 800003d8: 00e00093 li ra,14 + 800003dc: 00b00113 li sp,11 + 800003e0: 2020e733 sh3add a4,ra,sp + 800003e4: 00000013 nop + 800003e8: 00070313 mv t1,a4 + 800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f0: 00200293 li t0,2 + 800003f4: fe5212e3 bne tp,t0,800003d8 + 800003f8: 07b00393 li t2,123 + 800003fc: 2a731663 bne t1,t2,800006a8 + +0000000080000400 : + 80000400: 01600193 li gp,22 + 80000404: 00000213 li tp,0 + 80000408: 00f00093 li ra,15 + 8000040c: 00b00113 li sp,11 + 80000410: 2020e733 sh3add a4,ra,sp + 80000414: 00000013 nop + 80000418: 00000013 nop + 8000041c: 00070313 mv t1,a4 + 80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000424: 00200293 li t0,2 + 80000428: fe5210e3 bne tp,t0,80000408 + 8000042c: 08300393 li t2,131 + 80000430: 26731c63 bne t1,t2,800006a8 + +0000000080000434 : + 80000434: 01700193 li gp,23 + 80000438: 00000213 li tp,0 + 8000043c: 00d00093 li ra,13 + 80000440: 00b00113 li sp,11 + 80000444: 2020e733 sh3add a4,ra,sp + 80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000044c: 00200293 li t0,2 + 80000450: fe5216e3 bne tp,t0,8000043c + 80000454: 07300393 li t2,115 + 80000458: 24771863 bne a4,t2,800006a8 + +000000008000045c : + 8000045c: 01800193 li gp,24 + 80000460: 00000213 li tp,0 + 80000464: 00e00093 li ra,14 + 80000468: 00b00113 li sp,11 + 8000046c: 00000013 nop + 80000470: 2020e733 sh3add a4,ra,sp + 80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000478: 00200293 li t0,2 + 8000047c: fe5214e3 bne tp,t0,80000464 + 80000480: 07b00393 li t2,123 + 80000484: 22771263 bne a4,t2,800006a8 + +0000000080000488 : + 80000488: 01900193 li gp,25 + 8000048c: 00000213 li tp,0 + 80000490: 00f00093 li ra,15 + 80000494: 00b00113 li sp,11 + 80000498: 00000013 nop + 8000049c: 00000013 nop + 800004a0: 2020e733 sh3add a4,ra,sp + 800004a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a8: 00200293 li t0,2 + 800004ac: fe5212e3 bne tp,t0,80000490 + 800004b0: 08300393 li t2,131 + 800004b4: 1e771a63 bne a4,t2,800006a8 + +00000000800004b8 : + 800004b8: 01a00193 li gp,26 + 800004bc: 00000213 li tp,0 + 800004c0: 00d00093 li ra,13 + 800004c4: 00000013 nop + 800004c8: 00b00113 li sp,11 + 800004cc: 2020e733 sh3add a4,ra,sp + 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d4: 00200293 li t0,2 + 800004d8: fe5214e3 bne tp,t0,800004c0 + 800004dc: 07300393 li t2,115 + 800004e0: 1c771463 bne a4,t2,800006a8 + +00000000800004e4 : + 800004e4: 01b00193 li gp,27 + 800004e8: 00000213 li tp,0 + 800004ec: 00e00093 li ra,14 + 800004f0: 00000013 nop + 800004f4: 00b00113 li sp,11 + 800004f8: 00000013 nop + 800004fc: 2020e733 sh3add a4,ra,sp + 80000500: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000504: 00200293 li t0,2 + 80000508: fe5212e3 bne tp,t0,800004ec + 8000050c: 07b00393 li t2,123 + 80000510: 18771c63 bne a4,t2,800006a8 + +0000000080000514 : + 80000514: 01c00193 li gp,28 + 80000518: 00000213 li tp,0 + 8000051c: 00f00093 li ra,15 + 80000520: 00000013 nop + 80000524: 00000013 nop + 80000528: 00b00113 li sp,11 + 8000052c: 2020e733 sh3add a4,ra,sp + 80000530: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000534: 00200293 li t0,2 + 80000538: fe5212e3 bne tp,t0,8000051c + 8000053c: 08300393 li t2,131 + 80000540: 16771463 bne a4,t2,800006a8 + +0000000080000544 : + 80000544: 01d00193 li gp,29 + 80000548: 00000213 li tp,0 + 8000054c: 00b00113 li sp,11 + 80000550: 00d00093 li ra,13 + 80000554: 2020e733 sh3add a4,ra,sp + 80000558: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000055c: 00200293 li t0,2 + 80000560: fe5216e3 bne tp,t0,8000054c + 80000564: 07300393 li t2,115 + 80000568: 14771063 bne a4,t2,800006a8 + +000000008000056c : + 8000056c: 01e00193 li gp,30 + 80000570: 00000213 li tp,0 + 80000574: 00b00113 li sp,11 + 80000578: 00e00093 li ra,14 + 8000057c: 00000013 nop + 80000580: 2020e733 sh3add a4,ra,sp + 80000584: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000588: 00200293 li t0,2 + 8000058c: fe5214e3 bne tp,t0,80000574 + 80000590: 07b00393 li t2,123 + 80000594: 10771a63 bne a4,t2,800006a8 + +0000000080000598 : + 80000598: 01f00193 li gp,31 + 8000059c: 00000213 li tp,0 + 800005a0: 00b00113 li sp,11 + 800005a4: 00f00093 li ra,15 + 800005a8: 00000013 nop + 800005ac: 00000013 nop + 800005b0: 2020e733 sh3add a4,ra,sp + 800005b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005b8: 00200293 li t0,2 + 800005bc: fe5212e3 bne tp,t0,800005a0 + 800005c0: 08300393 li t2,131 + 800005c4: 0e771263 bne a4,t2,800006a8 + +00000000800005c8 : + 800005c8: 02000193 li gp,32 + 800005cc: 00000213 li tp,0 + 800005d0: 00b00113 li sp,11 + 800005d4: 00000013 nop + 800005d8: 00d00093 li ra,13 + 800005dc: 2020e733 sh3add a4,ra,sp + 800005e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005e4: 00200293 li t0,2 + 800005e8: fe5214e3 bne tp,t0,800005d0 + 800005ec: 07300393 li t2,115 + 800005f0: 0a771c63 bne a4,t2,800006a8 + +00000000800005f4 : + 800005f4: 02100193 li gp,33 + 800005f8: 00000213 li tp,0 + 800005fc: 00b00113 li sp,11 + 80000600: 00000013 nop + 80000604: 00e00093 li ra,14 + 80000608: 00000013 nop + 8000060c: 2020e733 sh3add a4,ra,sp + 80000610: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000614: 00200293 li t0,2 + 80000618: fe5212e3 bne tp,t0,800005fc + 8000061c: 07b00393 li t2,123 + 80000620: 08771463 bne a4,t2,800006a8 + +0000000080000624 : + 80000624: 02200193 li gp,34 + 80000628: 00000213 li tp,0 + 8000062c: 00b00113 li sp,11 + 80000630: 00000013 nop + 80000634: 00000013 nop + 80000638: 00f00093 li ra,15 + 8000063c: 2020e733 sh3add a4,ra,sp + 80000640: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000644: 00200293 li t0,2 + 80000648: fe5212e3 bne tp,t0,8000062c + 8000064c: 08300393 li t2,131 + 80000650: 04771c63 bne a4,t2,800006a8 + +0000000080000654 : + 80000654: 02300193 li gp,35 + 80000658: 00f00093 li ra,15 + 8000065c: 20106133 sh3add sp,zero,ra + 80000660: 00f00393 li t2,15 + 80000664: 04711263 bne sp,t2,800006a8 + +0000000080000668 : + 80000668: 02400193 li gp,36 + 8000066c: 02000093 li ra,32 + 80000670: 2000e133 sh3add sp,ra,zero + 80000674: 10000393 li t2,256 + 80000678: 02711863 bne sp,t2,800006a8 + +000000008000067c : + 8000067c: 02500193 li gp,37 + 80000680: 200060b3 sh3add ra,zero,zero + 80000684: 00000393 li t2,0 + 80000688: 02709063 bne ra,t2,800006a8 + +000000008000068c : + 8000068c: 02600193 li gp,38 + 80000690: 01000093 li ra,16 + 80000694: 01e00113 li sp,30 + 80000698: 2020e033 sh3add zero,ra,sp + 8000069c: 00000393 li t2,0 + 800006a0: 00701463 bne zero,t2,800006a8 + 800006a4: 02301063 bne zero,gp,800006c4 + +00000000800006a8 : + 800006a8: 0ff0000f fence + 800006ac: 00018063 beqz gp,800006ac + 800006b0: 00119193 slli gp,gp,0x1 + 800006b4: 0011e193 ori gp,gp,1 + 800006b8: 05d00893 li a7,93 + 800006bc: 00018513 mv a0,gp + 800006c0: 00000073 ecall + +00000000800006c4 : + 800006c4: 0ff0000f fence + 800006c8: 00100193 li gp,1 + 800006cc: 05d00893 li a7,93 + 800006d0: 00000513 li a0,0 + 800006d4: 00000073 ecall + 800006d8: c0001073 unimp + 800006dc: 0000 .insn 2, 0x + 800006de: 0000 .insn 2, 0x + 800006e0: 0000 .insn 2, 0x + 800006e2: 0000 .insn 2, 0x + 800006e4: 0000 .insn 2, 0x + 800006e6: 0000 .insn 2, 0x + 800006e8: 0000 .insn 2, 0x + 800006ea: 0000 .insn 2, 0x + 800006ec: 0000 .insn 2, 0x + 800006ee: 0000 .insn 2, 0x + 800006f0: 0000 .insn 2, 0x + 800006f2: 0000 .insn 2, 0x + 800006f4: 0000 .insn 2, 0x + 800006f6: 0000 .insn 2, 0x + 800006f8: 0000 .insn 2, 0x + 800006fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add.hex b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add.hex new file mode 100644 index 0000000..87df9cd --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add.hex @@ -0,0 +1,831 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000059300200193 +20c5e73300000613 +4e771e6300000393 +0010059300300193 +20c5e73300100613 +4e77126300900393 +0030059300400193 +20c5e73300700613 +4c77166301f00393 +0000059300500193 +20c5e733ffff8637 +4a771a63ffff83b7 +800005b700600193 +20c5e73300000613 +02239393fff0039b +0070019348771c63 +ffff8637800005b7 +fff803b720c5e733 +00f39393fff3839b +0080019346771c63 +0000863700000593 +20c5e733fff6061b +fff3839b000083b7 +0090019344771c63 +fff5859b800005b7 +20c5e73300000613 +022393930010039b +42771a63ff838393 +800005b700a00193 +00008637fff5859b +20c5e733fff6061b +0013839b000803b7 +ff73839300f39393 +00b0019340771463 +00008637800005b7 +20c5e733fff6061b +0013839bfff803b7 +fff3839300f39393 +00c001933e771063 +fff5859b800005b7 +20c5e733ffff8637 +fff3839b000803b7 +ff83839300f39393 +00d001933a771c63 +fff0061300000593 +fff0039320c5e733 +00e001933a771063 +00100613fff00593 +ff90039320c5e733 +00f0019338771463 +fff00613fff00593 +ff70039320c5e733 +0100019336771863 +8000063700100593 +20c5e733fff6061b +01f393930010039b +3477166300738393 +00d0059301100193 +20c5e5b300b00613 +32759a6307300393 +00e0059301200193 +20c5e63300b00613 +30761e6307b00393 +00d0059301300193 +0750039320b5e5b3 +0140019330759463 +00d0009300000213 +2020e73300b00113 +0012021300070313 +fe5214e300200293 +2c731e6307300393 +0000021301500193 +00b0011300e00093 +000000132020e733 +0012021300070313 +fe5212e300200293 +2a73166307b00393 +0000021301600193 +00b0011300f00093 +000000132020e733 +0007031300000013 +0020029300120213 +08300393fe5210e3 +0170019326731c63 +00d0009300000213 +2020e73300b00113 +0020029300120213 +07300393fe5216e3 +0180019324771863 +00e0009300000213 +0000001300b00113 +001202132020e733 +fe5214e300200293 +2277126307b00393 +0000021301900193 +00b0011300f00093 +0000001300000013 +001202132020e733 +fe5212e300200293 +1e771a6308300393 +0000021301a00193 +0000001300d00093 +2020e73300b00113 +0020029300120213 +07300393fe5214e3 +01b001931c771463 +00e0009300000213 +00b0011300000013 +2020e73300000013 +0020029300120213 +07b00393fe5212e3 +01c0019318771c63 +00f0009300000213 +0000001300000013 +2020e73300b00113 +0020029300120213 +08300393fe5212e3 +01d0019316771463 +00b0011300000213 +2020e73300d00093 +0020029300120213 +07300393fe5216e3 +01e0019314771063 +00b0011300000213 +0000001300e00093 +001202132020e733 +fe5214e300200293 +10771a6307b00393 +0000021301f00193 +00f0009300b00113 +0000001300000013 +001202132020e733 +fe5212e300200293 +0e77126308300393 +0000021302000193 +0000001300b00113 +2020e73300d00093 +0020029300120213 +07300393fe5214e3 +021001930a771c63 +00b0011300000213 +00e0009300000013 +2020e73300000013 +0020029300120213 +07b00393fe5212e3 +0220019308771463 +00b0011300000213 +0000001300000013 +2020e73300f00093 +0020029300120213 +08300393fe5212e3 +0230019304771c63 +2010613300f00093 +0471126300f00393 +0200009302400193 +100003932000e133 +0250019302711863 +00000393200060b3 +0260019302709063 +01e0011301000093 +000003932020e033 +0230106300701463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3161627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800006a8 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000214 +0000000000000000 +00010000000000cb +0000000080000234 +0000000000000000 +00010000000000d2 +0000000080000254 +0000000000000000 +00010000000000d9 +0000000080000278 +0000000000000000 +00010000000000e1 +00000000800002a4 +0000000000000000 +00010000000000e9 +00000000800002cc +0000000000000000 +00010000000000f1 +00000000800002f4 +0000000000000000 +00010000000000f9 +000000008000030c +0000000000000000 +0001000000000101 +0000000080000324 +0000000000000000 +0001000000000109 +000000008000033c +0000000000000000 +0001000000000111 +0000000080000360 +0000000000000000 +0001000000000119 +0000000080000378 +0000000000000000 +0001000000000121 +0000000080000390 +0000000000000000 +0001000000000129 +00000000800003a4 +0000000000000000 +0001000000000131 +00000000800003d0 +0000000000000000 +0001000000000139 +0000000080000400 +0000000000000000 +0001000000000141 +0000000080000434 +0000000000000000 +0001000000000149 +000000008000045c +0000000000000000 +0001000000000151 +0000000080000488 +0000000000000000 +0001000000000159 +00000000800004b8 +0000000000000000 +0001000000000161 +00000000800004e4 +0000000000000000 +0001000000000169 +0000000080000514 +0000000000000000 +0001000000000171 +0000000080000544 +0000000000000000 +0001000000000179 +000000008000056c +0000000000000000 +0001000000000181 +0000000080000598 +0000000000000000 +0001000000000189 +00000000800005c8 +0000000000000000 +0001000000000191 +00000000800005f4 +0000000000000000 +0001000000000199 +0000000080000624 +0000000000000000 +00010000000001a1 +0000000080000654 +0000000000000000 +00010000000001a9 +0000000080000668 +0000000000000000 +00010000000001b1 +000000008000067c +0000000000000000 +00010000000001b9 +000000008000068c +0000000000000000 +00010000000001c1 +00000000800006c4 +0000000000000000 +00020010000001c6 +0000000080002000 +0000000000000000 +00020010000001d4 +0000000080002000 +0000000000000000 +00010010000001e4 +0000000080000000 +0000000000000000 +00020010000001eb +0000000080002000 +0000000000000000 +00020010000001f0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +6c59354533636300 +76727824006f2e31 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703161627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000558 +0000003300000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000025f8 +00000000000001f9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000027f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add_uw.dump b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add_uw.dump new file mode 100644 index 0000000..abb14a3 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add_uw.dump @@ -0,0 +1,546 @@ + +rv64uzba-p-sh3add_uw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000593 li a1,0 + 800001a0: 00000613 li a2,0 + 800001a4: 20c5e73b sh3add.uw a4,a1,a2 + 800001a8: 00000393 li t2,0 + 800001ac: 50771663 bne a4,t2,800006b8 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 20c5e73b sh3add.uw a4,a1,a2 + 800001c0: 00900393 li t2,9 + 800001c4: 4e771a63 bne a4,t2,800006b8 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00300593 li a1,3 + 800001d0: 00700613 li a2,7 + 800001d4: 20c5e73b sh3add.uw a4,a1,a2 + 800001d8: 01f00393 li t2,31 + 800001dc: 4c771e63 bne a4,t2,800006b8 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00000593 li a1,0 + 800001e8: ffff8637 lui a2,0xffff8 + 800001ec: 20c5e73b sh3add.uw a4,a1,a2 + 800001f0: ffff83b7 lui t2,0xffff8 + 800001f4: 4c771263 bne a4,t2,800006b8 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 800005b7 lui a1,0x80000 + 80000200: 00000613 li a2,0 + 80000204: 20c5e73b sh3add.uw a4,a1,a2 + 80000208: 0010039b addiw t2,zero,1 + 8000020c: 02239393 slli t2,t2,0x22 + 80000210: 4a771463 bne a4,t2,800006b8 + +0000000080000214 : + 80000214: 00700193 li gp,7 + 80000218: 800005b7 lui a1,0x80000 + 8000021c: ffff8637 lui a2,0xffff8 + 80000220: 20c5e73b sh3add.uw a4,a1,a2 + 80000224: 000803b7 lui t2,0x80 + 80000228: fff3839b addiw t2,t2,-1 # 7ffff <_start-0x7ff80001> + 8000022c: 00f39393 slli t2,t2,0xf + 80000230: 48771463 bne a4,t2,800006b8 + +0000000080000234 : + 80000234: 00800193 li gp,8 + 80000238: 00000593 li a1,0 + 8000023c: 00008637 lui a2,0x8 + 80000240: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 80000244: 20c5e73b sh3add.uw a4,a1,a2 + 80000248: 000083b7 lui t2,0x8 + 8000024c: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000250: 46771463 bne a4,t2,800006b8 + +0000000080000254 : + 80000254: 00900193 li gp,9 + 80000258: 800005b7 lui a1,0x80000 + 8000025c: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000260: 00000613 li a2,0 + 80000264: 20c5e73b sh3add.uw a4,a1,a2 + 80000268: 0010039b addiw t2,zero,1 + 8000026c: 02239393 slli t2,t2,0x22 + 80000270: ff838393 addi t2,t2,-8 + 80000274: 44771263 bne a4,t2,800006b8 + +0000000080000278 : + 80000278: 00a00193 li gp,10 + 8000027c: 800005b7 lui a1,0x80000 + 80000280: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000284: 00008637 lui a2,0x8 + 80000288: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 8000028c: 20c5e73b sh3add.uw a4,a1,a2 + 80000290: 000803b7 lui t2,0x80 + 80000294: 0013839b addiw t2,t2,1 # 80001 <_start-0x7ff7ffff> + 80000298: 00f39393 slli t2,t2,0xf + 8000029c: ff738393 addi t2,t2,-9 + 800002a0: 40771c63 bne a4,t2,800006b8 + +00000000800002a4 : + 800002a4: 00b00193 li gp,11 + 800002a8: 800005b7 lui a1,0x80000 + 800002ac: 00008637 lui a2,0x8 + 800002b0: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002b4: 20c5e73b sh3add.uw a4,a1,a2 + 800002b8: 000803b7 lui t2,0x80 + 800002bc: 0013839b addiw t2,t2,1 # 80001 <_start-0x7ff7ffff> + 800002c0: 00f39393 slli t2,t2,0xf + 800002c4: fff38393 addi t2,t2,-1 + 800002c8: 3e771863 bne a4,t2,800006b8 + +00000000800002cc : + 800002cc: 00c00193 li gp,12 + 800002d0: 800005b7 lui a1,0x80000 + 800002d4: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002d8: ffff8637 lui a2,0xffff8 + 800002dc: 20c5e73b sh3add.uw a4,a1,a2 + 800002e0: 000803b7 lui t2,0x80 + 800002e4: fff3839b addiw t2,t2,-1 # 7ffff <_start-0x7ff80001> + 800002e8: 00f39393 slli t2,t2,0xf + 800002ec: ff838393 addi t2,t2,-8 + 800002f0: 3c771463 bne a4,t2,800006b8 + +00000000800002f4 : + 800002f4: 00d00193 li gp,13 + 800002f8: 00000593 li a1,0 + 800002fc: fff00613 li a2,-1 + 80000300: 20c5e73b sh3add.uw a4,a1,a2 + 80000304: fff00393 li t2,-1 + 80000308: 3a771863 bne a4,t2,800006b8 + +000000008000030c : + 8000030c: 00e00193 li gp,14 + 80000310: fff00593 li a1,-1 + 80000314: 00100613 li a2,1 + 80000318: 20c5e73b sh3add.uw a4,a1,a2 + 8000031c: 0010039b addiw t2,zero,1 + 80000320: 02339393 slli t2,t2,0x23 + 80000324: ff938393 addi t2,t2,-7 + 80000328: 38771863 bne a4,t2,800006b8 + +000000008000032c : + 8000032c: 00f00193 li gp,15 + 80000330: fff00593 li a1,-1 + 80000334: fff00613 li a2,-1 + 80000338: 20c5e73b sh3add.uw a4,a1,a2 + 8000033c: 0010039b addiw t2,zero,1 + 80000340: 02339393 slli t2,t2,0x23 + 80000344: ff738393 addi t2,t2,-9 + 80000348: 36771863 bne a4,t2,800006b8 + +000000008000034c : + 8000034c: 01000193 li gp,16 + 80000350: 00100593 li a1,1 + 80000354: 80000637 lui a2,0x80000 + 80000358: fff6061b addiw a2,a2,-1 # 7fffffff <_start-0x1> + 8000035c: 20c5e73b sh3add.uw a4,a1,a2 + 80000360: 0010039b addiw t2,zero,1 + 80000364: 01f39393 slli t2,t2,0x1f + 80000368: 00738393 addi t2,t2,7 + 8000036c: 34771663 bne a4,t2,800006b8 + +0000000080000370 : + 80000370: 01100193 li gp,17 + 80000374: 00d00593 li a1,13 + 80000378: 00b00613 li a2,11 + 8000037c: 20c5e5bb sh3add.uw a1,a1,a2 + 80000380: 07300393 li t2,115 + 80000384: 32759a63 bne a1,t2,800006b8 + +0000000080000388 : + 80000388: 01200193 li gp,18 + 8000038c: 00e00593 li a1,14 + 80000390: 00b00613 li a2,11 + 80000394: 20c5e63b sh3add.uw a2,a1,a2 + 80000398: 07b00393 li t2,123 + 8000039c: 30761e63 bne a2,t2,800006b8 + +00000000800003a0 : + 800003a0: 01300193 li gp,19 + 800003a4: 00d00593 li a1,13 + 800003a8: 20b5e5bb sh3add.uw a1,a1,a1 + 800003ac: 07500393 li t2,117 + 800003b0: 30759463 bne a1,t2,800006b8 + +00000000800003b4 : + 800003b4: 01400193 li gp,20 + 800003b8: 00000213 li tp,0 + 800003bc: 00d00093 li ra,13 + 800003c0: 00b00113 li sp,11 + 800003c4: 2020e73b sh3add.uw a4,ra,sp + 800003c8: 00070313 mv t1,a4 + 800003cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d0: 00200293 li t0,2 + 800003d4: fe5214e3 bne tp,t0,800003bc + 800003d8: 07300393 li t2,115 + 800003dc: 2c731e63 bne t1,t2,800006b8 + +00000000800003e0 : + 800003e0: 01500193 li gp,21 + 800003e4: 00000213 li tp,0 + 800003e8: 00e00093 li ra,14 + 800003ec: 00b00113 li sp,11 + 800003f0: 2020e73b sh3add.uw a4,ra,sp + 800003f4: 00000013 nop + 800003f8: 00070313 mv t1,a4 + 800003fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000400: 00200293 li t0,2 + 80000404: fe5212e3 bne tp,t0,800003e8 + 80000408: 07b00393 li t2,123 + 8000040c: 2a731663 bne t1,t2,800006b8 + +0000000080000410 : + 80000410: 01600193 li gp,22 + 80000414: 00000213 li tp,0 + 80000418: 00f00093 li ra,15 + 8000041c: 00b00113 li sp,11 + 80000420: 2020e73b sh3add.uw a4,ra,sp + 80000424: 00000013 nop + 80000428: 00000013 nop + 8000042c: 00070313 mv t1,a4 + 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000434: 00200293 li t0,2 + 80000438: fe5210e3 bne tp,t0,80000418 + 8000043c: 08300393 li t2,131 + 80000440: 26731c63 bne t1,t2,800006b8 + +0000000080000444 : + 80000444: 01700193 li gp,23 + 80000448: 00000213 li tp,0 + 8000044c: 00d00093 li ra,13 + 80000450: 00b00113 li sp,11 + 80000454: 2020e73b sh3add.uw a4,ra,sp + 80000458: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000045c: 00200293 li t0,2 + 80000460: fe5216e3 bne tp,t0,8000044c + 80000464: 07300393 li t2,115 + 80000468: 24771863 bne a4,t2,800006b8 + +000000008000046c : + 8000046c: 01800193 li gp,24 + 80000470: 00000213 li tp,0 + 80000474: 00e00093 li ra,14 + 80000478: 00b00113 li sp,11 + 8000047c: 00000013 nop + 80000480: 2020e73b sh3add.uw a4,ra,sp + 80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000488: 00200293 li t0,2 + 8000048c: fe5214e3 bne tp,t0,80000474 + 80000490: 07b00393 li t2,123 + 80000494: 22771263 bne a4,t2,800006b8 + +0000000080000498 : + 80000498: 01900193 li gp,25 + 8000049c: 00000213 li tp,0 + 800004a0: 00f00093 li ra,15 + 800004a4: 00b00113 li sp,11 + 800004a8: 00000013 nop + 800004ac: 00000013 nop + 800004b0: 2020e73b sh3add.uw a4,ra,sp + 800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004b8: 00200293 li t0,2 + 800004bc: fe5212e3 bne tp,t0,800004a0 + 800004c0: 08300393 li t2,131 + 800004c4: 1e771a63 bne a4,t2,800006b8 + +00000000800004c8 : + 800004c8: 01a00193 li gp,26 + 800004cc: 00000213 li tp,0 + 800004d0: 00d00093 li ra,13 + 800004d4: 00000013 nop + 800004d8: 00b00113 li sp,11 + 800004dc: 2020e73b sh3add.uw a4,ra,sp + 800004e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004e4: 00200293 li t0,2 + 800004e8: fe5214e3 bne tp,t0,800004d0 + 800004ec: 07300393 li t2,115 + 800004f0: 1c771463 bne a4,t2,800006b8 + +00000000800004f4 : + 800004f4: 01b00193 li gp,27 + 800004f8: 00000213 li tp,0 + 800004fc: 00e00093 li ra,14 + 80000500: 00000013 nop + 80000504: 00b00113 li sp,11 + 80000508: 00000013 nop + 8000050c: 2020e73b sh3add.uw a4,ra,sp + 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000514: 00200293 li t0,2 + 80000518: fe5212e3 bne tp,t0,800004fc + 8000051c: 07b00393 li t2,123 + 80000520: 18771c63 bne a4,t2,800006b8 + +0000000080000524 : + 80000524: 01c00193 li gp,28 + 80000528: 00000213 li tp,0 + 8000052c: 00f00093 li ra,15 + 80000530: 00000013 nop + 80000534: 00000013 nop + 80000538: 00b00113 li sp,11 + 8000053c: 2020e73b sh3add.uw a4,ra,sp + 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000544: 00200293 li t0,2 + 80000548: fe5212e3 bne tp,t0,8000052c + 8000054c: 08300393 li t2,131 + 80000550: 16771463 bne a4,t2,800006b8 + +0000000080000554 : + 80000554: 01d00193 li gp,29 + 80000558: 00000213 li tp,0 + 8000055c: 00b00113 li sp,11 + 80000560: 00d00093 li ra,13 + 80000564: 2020e73b sh3add.uw a4,ra,sp + 80000568: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000056c: 00200293 li t0,2 + 80000570: fe5216e3 bne tp,t0,8000055c + 80000574: 07300393 li t2,115 + 80000578: 14771063 bne a4,t2,800006b8 + +000000008000057c : + 8000057c: 01e00193 li gp,30 + 80000580: 00000213 li tp,0 + 80000584: 00b00113 li sp,11 + 80000588: 00e00093 li ra,14 + 8000058c: 00000013 nop + 80000590: 2020e73b sh3add.uw a4,ra,sp + 80000594: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000598: 00200293 li t0,2 + 8000059c: fe5214e3 bne tp,t0,80000584 + 800005a0: 07b00393 li t2,123 + 800005a4: 10771a63 bne a4,t2,800006b8 + +00000000800005a8 : + 800005a8: 01f00193 li gp,31 + 800005ac: 00000213 li tp,0 + 800005b0: 00b00113 li sp,11 + 800005b4: 00f00093 li ra,15 + 800005b8: 00000013 nop + 800005bc: 00000013 nop + 800005c0: 2020e73b sh3add.uw a4,ra,sp + 800005c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005c8: 00200293 li t0,2 + 800005cc: fe5212e3 bne tp,t0,800005b0 + 800005d0: 08300393 li t2,131 + 800005d4: 0e771263 bne a4,t2,800006b8 + +00000000800005d8 : + 800005d8: 02000193 li gp,32 + 800005dc: 00000213 li tp,0 + 800005e0: 00b00113 li sp,11 + 800005e4: 00000013 nop + 800005e8: 00d00093 li ra,13 + 800005ec: 2020e73b sh3add.uw a4,ra,sp + 800005f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005f4: 00200293 li t0,2 + 800005f8: fe5214e3 bne tp,t0,800005e0 + 800005fc: 07300393 li t2,115 + 80000600: 0a771c63 bne a4,t2,800006b8 + +0000000080000604 : + 80000604: 02100193 li gp,33 + 80000608: 00000213 li tp,0 + 8000060c: 00b00113 li sp,11 + 80000610: 00000013 nop + 80000614: 00e00093 li ra,14 + 80000618: 00000013 nop + 8000061c: 2020e73b sh3add.uw a4,ra,sp + 80000620: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000624: 00200293 li t0,2 + 80000628: fe5212e3 bne tp,t0,8000060c + 8000062c: 07b00393 li t2,123 + 80000630: 08771463 bne a4,t2,800006b8 + +0000000080000634 : + 80000634: 02200193 li gp,34 + 80000638: 00000213 li tp,0 + 8000063c: 00b00113 li sp,11 + 80000640: 00000013 nop + 80000644: 00000013 nop + 80000648: 00f00093 li ra,15 + 8000064c: 2020e73b sh3add.uw a4,ra,sp + 80000650: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000654: 00200293 li t0,2 + 80000658: fe5212e3 bne tp,t0,8000063c + 8000065c: 08300393 li t2,131 + 80000660: 04771c63 bne a4,t2,800006b8 + +0000000080000664 : + 80000664: 02300193 li gp,35 + 80000668: 00f00093 li ra,15 + 8000066c: 2010613b sh3add.uw sp,zero,ra + 80000670: 00f00393 li t2,15 + 80000674: 04711263 bne sp,t2,800006b8 + +0000000080000678 : + 80000678: 02400193 li gp,36 + 8000067c: 02000093 li ra,32 + 80000680: 2000e13b sh3add.uw sp,ra,zero + 80000684: 10000393 li t2,256 + 80000688: 02711863 bne sp,t2,800006b8 + +000000008000068c : + 8000068c: 02500193 li gp,37 + 80000690: 200060bb sh3add.uw ra,zero,zero + 80000694: 00000393 li t2,0 + 80000698: 02709063 bne ra,t2,800006b8 + +000000008000069c : + 8000069c: 02600193 li gp,38 + 800006a0: 01000093 li ra,16 + 800006a4: 01e00113 li sp,30 + 800006a8: 2020e03b sh3add.uw zero,ra,sp + 800006ac: 00000393 li t2,0 + 800006b0: 00701463 bne zero,t2,800006b8 + 800006b4: 02301063 bne zero,gp,800006d4 + +00000000800006b8 : + 800006b8: 0ff0000f fence + 800006bc: 00018063 beqz gp,800006bc + 800006c0: 00119193 slli gp,gp,0x1 + 800006c4: 0011e193 ori gp,gp,1 + 800006c8: 05d00893 li a7,93 + 800006cc: 00018513 mv a0,gp + 800006d0: 00000073 ecall + +00000000800006d4 : + 800006d4: 0ff0000f fence + 800006d8: 00100193 li gp,1 + 800006dc: 05d00893 li a7,93 + 800006e0: 00000513 li a0,0 + 800006e4: 00000073 ecall + 800006e8: c0001073 unimp + 800006ec: 0000 .insn 2, 0x + 800006ee: 0000 .insn 2, 0x + 800006f0: 0000 .insn 2, 0x + 800006f2: 0000 .insn 2, 0x + 800006f4: 0000 .insn 2, 0x + 800006f6: 0000 .insn 2, 0x + 800006f8: 0000 .insn 2, 0x + 800006fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add_uw.hex b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add_uw.hex new file mode 100644 index 0000000..59a8ff6 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-sh3add_uw.hex @@ -0,0 +1,831 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000059300200193 +20c5e73b00000613 +5077166300000393 +0010059300300193 +20c5e73b00100613 +4e771a6300900393 +0030059300400193 +20c5e73b00700613 +4c771e6301f00393 +0000059300500193 +20c5e73bffff8637 +4c771263ffff83b7 +800005b700600193 +20c5e73b00000613 +022393930010039b +007001934a771463 +ffff8637800005b7 +000803b720c5e73b +00f39393fff3839b +0080019348771463 +0000863700000593 +20c5e73bfff6061b +fff3839b000083b7 +0090019346771463 +fff5859b800005b7 +20c5e73b00000613 +022393930010039b +44771263ff838393 +800005b700a00193 +00008637fff5859b +20c5e73bfff6061b +0013839b000803b7 +ff73839300f39393 +00b0019340771c63 +00008637800005b7 +20c5e73bfff6061b +0013839b000803b7 +fff3839300f39393 +00c001933e771863 +fff5859b800005b7 +20c5e73bffff8637 +fff3839b000803b7 +ff83839300f39393 +00d001933c771463 +fff0061300000593 +fff0039320c5e73b +00e001933a771863 +00100613fff00593 +0010039b20c5e73b +ff93839302339393 +00f0019338771863 +fff00613fff00593 +0010039b20c5e73b +ff73839302339393 +0100019336771863 +8000063700100593 +20c5e73bfff6061b +01f393930010039b +3477166300738393 +00d0059301100193 +20c5e5bb00b00613 +32759a6307300393 +00e0059301200193 +20c5e63b00b00613 +30761e6307b00393 +00d0059301300193 +0750039320b5e5bb +0140019330759463 +00d0009300000213 +2020e73b00b00113 +0012021300070313 +fe5214e300200293 +2c731e6307300393 +0000021301500193 +00b0011300e00093 +000000132020e73b +0012021300070313 +fe5212e300200293 +2a73166307b00393 +0000021301600193 +00b0011300f00093 +000000132020e73b +0007031300000013 +0020029300120213 +08300393fe5210e3 +0170019326731c63 +00d0009300000213 +2020e73b00b00113 +0020029300120213 +07300393fe5216e3 +0180019324771863 +00e0009300000213 +0000001300b00113 +001202132020e73b +fe5214e300200293 +2277126307b00393 +0000021301900193 +00b0011300f00093 +0000001300000013 +001202132020e73b +fe5212e300200293 +1e771a6308300393 +0000021301a00193 +0000001300d00093 +2020e73b00b00113 +0020029300120213 +07300393fe5214e3 +01b001931c771463 +00e0009300000213 +00b0011300000013 +2020e73b00000013 +0020029300120213 +07b00393fe5212e3 +01c0019318771c63 +00f0009300000213 +0000001300000013 +2020e73b00b00113 +0020029300120213 +08300393fe5212e3 +01d0019316771463 +00b0011300000213 +2020e73b00d00093 +0020029300120213 +07300393fe5216e3 +01e0019314771063 +00b0011300000213 +0000001300e00093 +001202132020e73b +fe5214e300200293 +10771a6307b00393 +0000021301f00193 +00f0009300b00113 +0000001300000013 +001202132020e73b +fe5212e300200293 +0e77126308300393 +0000021302000193 +0000001300b00113 +2020e73b00d00093 +0020029300120213 +07300393fe5214e3 +021001930a771c63 +00b0011300000213 +00e0009300000013 +2020e73b00000013 +0020029300120213 +07b00393fe5212e3 +0220019308771463 +00b0011300000213 +0000001300000013 +2020e73b00f00093 +0020029300120213 +08300393fe5212e3 +0230019304771c63 +2010613b00f00093 +0471126300f00393 +0200009302400193 +100003932000e13b +0250019302711863 +00000393200060bb +0260019302709063 +01e0011301000093 +000003932020e03b +0230106300701463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3161627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800006b8 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000214 +0000000000000000 +00010000000000cb +0000000080000234 +0000000000000000 +00010000000000d2 +0000000080000254 +0000000000000000 +00010000000000d9 +0000000080000278 +0000000000000000 +00010000000000e1 +00000000800002a4 +0000000000000000 +00010000000000e9 +00000000800002cc +0000000000000000 +00010000000000f1 +00000000800002f4 +0000000000000000 +00010000000000f9 +000000008000030c +0000000000000000 +0001000000000101 +000000008000032c +0000000000000000 +0001000000000109 +000000008000034c +0000000000000000 +0001000000000111 +0000000080000370 +0000000000000000 +0001000000000119 +0000000080000388 +0000000000000000 +0001000000000121 +00000000800003a0 +0000000000000000 +0001000000000129 +00000000800003b4 +0000000000000000 +0001000000000131 +00000000800003e0 +0000000000000000 +0001000000000139 +0000000080000410 +0000000000000000 +0001000000000141 +0000000080000444 +0000000000000000 +0001000000000149 +000000008000046c +0000000000000000 +0001000000000151 +0000000080000498 +0000000000000000 +0001000000000159 +00000000800004c8 +0000000000000000 +0001000000000161 +00000000800004f4 +0000000000000000 +0001000000000169 +0000000080000524 +0000000000000000 +0001000000000171 +0000000080000554 +0000000000000000 +0001000000000179 +000000008000057c +0000000000000000 +0001000000000181 +00000000800005a8 +0000000000000000 +0001000000000189 +00000000800005d8 +0000000000000000 +0001000000000191 +0000000080000604 +0000000000000000 +0001000000000199 +0000000080000634 +0000000000000000 +00010000000001a1 +0000000080000664 +0000000000000000 +00010000000001a9 +0000000080000678 +0000000000000000 +00010000000001b1 +000000008000068c +0000000000000000 +00010000000001b9 +000000008000069c +0000000000000000 +00010000000001c1 +00000000800006d4 +0000000000000000 +00020010000001c6 +0000000080002000 +0000000000000000 +00020010000001d4 +0000000080002000 +0000000000000000 +00010010000001e4 +0000000080000000 +0000000000000000 +00020010000001eb +0000000080002000 +0000000000000000 +00020010000001f0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +5632654369636300 +76727824006f2e65 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703161627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000558 +0000003300000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000025f8 +00000000000001f9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000027f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-slli_uw.dump b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-slli_uw.dump new file mode 100644 index 0000000..5d25dc1 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-slli_uw.dump @@ -0,0 +1,396 @@ + +rv64uzba-p-slli_uw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00100693 li a3,1 + 800001a0: 0806971b slli.uw a4,a3,0x0 + 800001a4: 00100393 li t2,1 + 800001a8: 30771c63 bne a4,t2,800004c0 + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100693 li a3,1 + 800001b4: 0816971b slli.uw a4,a3,0x1 + 800001b8: 00200393 li t2,2 + 800001bc: 30771263 bne a4,t2,800004c0 + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00100693 li a3,1 + 800001c8: 0876971b slli.uw a4,a3,0x7 + 800001cc: 08000393 li t2,128 + 800001d0: 2e771863 bne a4,t2,800004c0 + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: 00100693 li a3,1 + 800001dc: 08e6971b slli.uw a4,a3,0xe + 800001e0: 000043b7 lui t2,0x4 + 800001e4: 2c771e63 bne a4,t2,800004c0 + +00000000800001e8 : + 800001e8: 00600193 li gp,6 + 800001ec: 00100693 li a3,1 + 800001f0: 09f6971b slli.uw a4,a3,0x1f + 800001f4: 0010039b addiw t2,zero,1 + 800001f8: 01f39393 slli t2,t2,0x1f + 800001fc: 2c771263 bne a4,t2,800004c0 + +0000000080000200 : + 80000200: 00700193 li gp,7 + 80000204: fff00693 li a3,-1 + 80000208: 0806971b slli.uw a4,a3,0x0 + 8000020c: 0010039b addiw t2,zero,1 + 80000210: 02039393 slli t2,t2,0x20 + 80000214: fff38393 addi t2,t2,-1 # 3fff <_start-0x7fffc001> + 80000218: 2a771463 bne a4,t2,800004c0 + +000000008000021c : + 8000021c: 00800193 li gp,8 + 80000220: fff00693 li a3,-1 + 80000224: 0816971b slli.uw a4,a3,0x1 + 80000228: 0010039b addiw t2,zero,1 + 8000022c: 02139393 slli t2,t2,0x21 + 80000230: ffe38393 addi t2,t2,-2 + 80000234: 28771663 bne a4,t2,800004c0 + +0000000080000238 : + 80000238: 00900193 li gp,9 + 8000023c: fff00693 li a3,-1 + 80000240: 0876971b slli.uw a4,a3,0x7 + 80000244: 0010039b addiw t2,zero,1 + 80000248: 02739393 slli t2,t2,0x27 + 8000024c: f8038393 addi t2,t2,-128 + 80000250: 26771863 bne a4,t2,800004c0 + +0000000080000254 : + 80000254: 00a00193 li gp,10 + 80000258: fff00693 li a3,-1 + 8000025c: 08e6971b slli.uw a4,a3,0xe + 80000260: 0010039b addiw t2,zero,1 + 80000264: 02039393 slli t2,t2,0x20 + 80000268: fff38393 addi t2,t2,-1 + 8000026c: 00e39393 slli t2,t2,0xe + 80000270: 24771863 bne a4,t2,800004c0 + +0000000080000274 : + 80000274: 00b00193 li gp,11 + 80000278: fff00693 li a3,-1 + 8000027c: 09f6971b slli.uw a4,a3,0x1f + 80000280: 0010039b addiw t2,zero,1 + 80000284: 02039393 slli t2,t2,0x20 + 80000288: fff38393 addi t2,t2,-1 + 8000028c: 01f39393 slli t2,t2,0x1f + 80000290: 22771863 bne a4,t2,800004c0 + +0000000080000294 : + 80000294: 00c00193 li gp,12 + 80000298: 212126b7 lui a3,0x21212 + 8000029c: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 800002a0: 0806971b slli.uw a4,a3,0x0 + 800002a4: 212123b7 lui t2,0x21212 + 800002a8: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 800002ac: 20771a63 bne a4,t2,800004c0 + +00000000800002b0 : + 800002b0: 00d00193 li gp,13 + 800002b4: 212126b7 lui a3,0x21212 + 800002b8: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 800002bc: 0816971b slli.uw a4,a3,0x1 + 800002c0: 424243b7 lui t2,0x42424 + 800002c4: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 800002c8: 1e771c63 bne a4,t2,800004c0 + +00000000800002cc : + 800002cc: 00e00193 li gp,14 + 800002d0: 212126b7 lui a3,0x21212 + 800002d4: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 800002d8: 0876971b slli.uw a4,a3,0x7 + 800002dc: 010913b7 lui t2,0x1091 + 800002e0: 9093839b addiw t2,t2,-1783 # 1090909 <_start-0x7ef6f6f7> + 800002e4: 00c39393 slli t2,t2,0xc + 800002e8: 08038393 addi t2,t2,128 + 800002ec: 1c771a63 bne a4,t2,800004c0 + +00000000800002f0 : + 800002f0: 00f00193 li gp,15 + 800002f4: 212126b7 lui a3,0x21212 + 800002f8: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 800002fc: 08e6971b slli.uw a4,a3,0xe + 80000300: 212123b7 lui t2,0x21212 + 80000304: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000308: 00e39393 slli t2,t2,0xe + 8000030c: 1a771a63 bne a4,t2,800004c0 + +0000000080000310 : + 80000310: 01000193 li gp,16 + 80000314: 212126b7 lui a3,0x21212 + 80000318: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 8000031c: 09f6971b slli.uw a4,a3,0x1f + 80000320: 212123b7 lui t2,0x21212 + 80000324: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000328: 01f39393 slli t2,t2,0x1f + 8000032c: 18771a63 bne a4,t2,800004c0 + +0000000080000330 : + 80000330: 03200193 li gp,50 + 80000334: 00100693 li a3,1 + 80000338: 0bf6971b slli.uw a4,a3,0x3f + 8000033c: fff0039b addiw t2,zero,-1 + 80000340: 03f39393 slli t2,t2,0x3f + 80000344: 16771e63 bne a4,t2,800004c0 + +0000000080000348 : + 80000348: 03300193 li gp,51 + 8000034c: fff00693 li a3,-1 + 80000350: 0a76971b slli.uw a4,a3,0x27 + 80000354: fff0039b addiw t2,zero,-1 + 80000358: 02739393 slli t2,t2,0x27 + 8000035c: 16771263 bne a4,t2,800004c0 + +0000000080000360 : + 80000360: 03400193 li gp,52 + 80000364: 212126b7 lui a3,0x21212 + 80000368: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 8000036c: 0ab6971b slli.uw a4,a3,0x2b + 80000370: 000123b7 lui t2,0x12 + 80000374: 1213839b addiw t2,t2,289 # 12121 <_start-0x7ffededf> + 80000378: 02b39393 slli t2,t2,0x2b + 8000037c: 14771263 bne a4,t2,800004c0 + +0000000080000380 : + 80000380: 01100193 li gp,17 + 80000384: 00100593 li a1,1 + 80000388: 0875959b slli.uw a1,a1,0x7 + 8000038c: 08000393 li t2,128 + 80000390: 12759863 bne a1,t2,800004c0 + +0000000080000394 : + 80000394: 01200193 li gp,18 + 80000398: 00000213 li tp,0 + 8000039c: 00100093 li ra,1 + 800003a0: 0870971b slli.uw a4,ra,0x7 + 800003a4: 00070313 mv t1,a4 + 800003a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003ac: 00200293 li t0,2 + 800003b0: fe5216e3 bne tp,t0,8000039c + 800003b4: 08000393 li t2,128 + 800003b8: 10731463 bne t1,t2,800004c0 + +00000000800003bc : + 800003bc: 01300193 li gp,19 + 800003c0: 00000213 li tp,0 + 800003c4: 00100093 li ra,1 + 800003c8: 08e0971b slli.uw a4,ra,0xe + 800003cc: 00000013 nop + 800003d0: 00070313 mv t1,a4 + 800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d8: 00200293 li t0,2 + 800003dc: fe5214e3 bne tp,t0,800003c4 + 800003e0: 000043b7 lui t2,0x4 + 800003e4: 0c731e63 bne t1,t2,800004c0 + +00000000800003e8 : + 800003e8: 01400193 li gp,20 + 800003ec: 00000213 li tp,0 + 800003f0: 00100093 li ra,1 + 800003f4: 09f0971b slli.uw a4,ra,0x1f + 800003f8: 00000013 nop + 800003fc: 00000013 nop + 80000400: 00070313 mv t1,a4 + 80000404: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000408: 00200293 li t0,2 + 8000040c: fe5212e3 bne tp,t0,800003f0 + 80000410: 0010039b addiw t2,zero,1 + 80000414: 01f39393 slli t2,t2,0x1f + 80000418: 0a731463 bne t1,t2,800004c0 + +000000008000041c : + 8000041c: 01500193 li gp,21 + 80000420: 00000213 li tp,0 + 80000424: 00100093 li ra,1 + 80000428: 0870971b slli.uw a4,ra,0x7 + 8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000430: 00200293 li t0,2 + 80000434: fe5218e3 bne tp,t0,80000424 + 80000438: 08000393 li t2,128 + 8000043c: 08771263 bne a4,t2,800004c0 + +0000000080000440 : + 80000440: 01600193 li gp,22 + 80000444: 00000213 li tp,0 + 80000448: 00100093 li ra,1 + 8000044c: 00000013 nop + 80000450: 08e0971b slli.uw a4,ra,0xe + 80000454: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000458: 00200293 li t0,2 + 8000045c: fe5216e3 bne tp,t0,80000448 + 80000460: 000043b7 lui t2,0x4 + 80000464: 04771e63 bne a4,t2,800004c0 + +0000000080000468 : + 80000468: 01700193 li gp,23 + 8000046c: 00000213 li tp,0 + 80000470: 00100093 li ra,1 + 80000474: 00000013 nop + 80000478: 00000013 nop + 8000047c: 09f0971b slli.uw a4,ra,0x1f + 80000480: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000484: 00200293 li t0,2 + 80000488: fe5214e3 bne tp,t0,80000470 + 8000048c: 0010039b addiw t2,zero,1 + 80000490: 01f39393 slli t2,t2,0x1f + 80000494: 02771663 bne a4,t2,800004c0 + +0000000080000498 : + 80000498: 01800193 li gp,24 + 8000049c: 09f0109b slli.uw ra,zero,0x1f + 800004a0: 00000393 li t2,0 + 800004a4: 00709e63 bne ra,t2,800004c0 + +00000000800004a8 : + 800004a8: 01900193 li gp,25 + 800004ac: 02100093 li ra,33 + 800004b0: 0940901b slli.uw zero,ra,0x14 + 800004b4: 00000393 li t2,0 + 800004b8: 00701463 bne zero,t2,800004c0 + 800004bc: 02301063 bne zero,gp,800004dc + +00000000800004c0 : + 800004c0: 0ff0000f fence + 800004c4: 00018063 beqz gp,800004c4 + 800004c8: 00119193 slli gp,gp,0x1 + 800004cc: 0011e193 ori gp,gp,1 + 800004d0: 05d00893 li a7,93 + 800004d4: 00018513 mv a0,gp + 800004d8: 00000073 ecall + +00000000800004dc : + 800004dc: 0ff0000f fence + 800004e0: 00100193 li gp,1 + 800004e4: 05d00893 li a7,93 + 800004e8: 00000513 li a0,0 + 800004ec: 00000073 ecall + 800004f0: c0001073 unimp + 800004f4: 0000 .insn 2, 0x + 800004f6: 0000 .insn 2, 0x + 800004f8: 0000 .insn 2, 0x + 800004fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzba/rv64uzba-slli_uw.hex b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-slli_uw.hex new file mode 100644 index 0000000..bd87fe8 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzba/rv64uzba-slli_uw.hex @@ -0,0 +1,791 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0010069300200193 +001003930806971b +0030019330771c63 +0816971b00100693 +3077126300200393 +0010069300400193 +080003930876971b +005001932e771863 +08e6971b00100693 +2c771e63000043b7 +0010069300600193 +0010039b09f6971b +2c77126301f39393 +fff0069300700193 +0010039b0806971b +fff3839302039393 +008001932a771463 +0816971bfff00693 +021393930010039b +28771663ffe38393 +fff0069300900193 +0010039b0876971b +f803839302739393 +00a0019326771863 +08e6971bfff00693 +020393930010039b +00e39393fff38393 +00b0019324771863 +09f6971bfff00693 +020393930010039b +01f39393fff38393 +00c0019322771863 +1216869b212126b7 +212123b70806971b +20771a631213839b +212126b700d00193 +0816971b1216869b +2423839b424243b7 +00e001931e771c63 +1216869b212126b7 +010913b70876971b +00c393939093839b +1c771a6308038393 +212126b700f00193 +08e6971b1216869b +1213839b212123b7 +1a771a6300e39393 +212126b701000193 +09f6971b1216869b +1213839b212123b7 +18771a6301f39393 +0010069303200193 +fff0039b0bf6971b +16771e6303f39393 +fff0069303300193 +fff0039b0a76971b +1677126302739393 +212126b703400193 +0ab6971b1216869b +1213839b000123b7 +1477126302b39393 +0010059301100193 +080003930875959b +0120019312759863 +0010009300000213 +000703130870971b +0020029300120213 +08000393fe5216e3 +0130019310731463 +0010009300000213 +0000001308e0971b +0012021300070313 +fe5214e300200293 +0c731e63000043b7 +0000021301400193 +09f0971b00100093 +0000001300000013 +0012021300070313 +fe5212e300200293 +01f393930010039b +015001930a731463 +0010009300000213 +001202130870971b +fe5218e300200293 +0877126308000393 +0000021301600193 +0000001300100093 +0012021308e0971b +fe5216e300200293 +04771e63000043b7 +0000021301700193 +0000001300100093 +09f0971b00000013 +0020029300120213 +0010039bfe5214e3 +0277166301f39393 +09f0109b01800193 +00709e6300000393 +0210009301900193 +000003930940901b +0230106300701463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3161627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800004c0 +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001e8 +0000000000000000 +00010000000000c4 +0000000080000200 +0000000000000000 +00010000000000cb +000000008000021c +0000000000000000 +00010000000000d2 +0000000080000238 +0000000000000000 +00010000000000d9 +0000000080000254 +0000000000000000 +00010000000000e1 +0000000080000274 +0000000000000000 +00010000000000e9 +0000000080000294 +0000000000000000 +00010000000000f1 +00000000800002b0 +0000000000000000 +00010000000000f9 +00000000800002cc +0000000000000000 +0001000000000101 +00000000800002f0 +0000000000000000 +0001000000000109 +0000000080000310 +0000000000000000 +0001000000000111 +0000000080000330 +0000000000000000 +0001000000000119 +0000000080000348 +0000000000000000 +0001000000000121 +0000000080000360 +0000000000000000 +0001000000000129 +0000000080000380 +0000000000000000 +0001000000000131 +0000000080000394 +0000000000000000 +0001000000000139 +00000000800003bc +0000000000000000 +0001000000000141 +00000000800003e8 +0000000000000000 +0001000000000149 +000000008000041c +0000000000000000 +0001000000000151 +0000000080000440 +0000000000000000 +0001000000000159 +0000000080000468 +0000000000000000 +0001000000000161 +0000000080000498 +0000000000000000 +0001000000000169 +00000000800004a8 +0000000000000000 +0001000000000171 +00000000800004dc +0000000000000000 +0002001000000176 +0000000080002000 +0000000000000000 +0002001000000184 +0000000080002000 +0000000000000000 +0001001000000194 +0000000080000000 +0000000000000000 +000200100000019b +0000000080002000 +0000000000000000 +00020010000001a0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +6c45324658636300 +76727824006f2e6d +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703161627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +30355f7473657400 +31355f7473657400 +32355f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000004fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000468 +0000002900000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +0000000000002508 +00000000000001a9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000026b1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-andn.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-andn.dump new file mode 100644 index 0000000..78c6296 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-andn.dump @@ -0,0 +1,583 @@ + +rv64uzbb-p-andn: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: ff0105b7 lui a1,0xff010 + 800001a0: f005859b addiw a1,a1,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800001a4: 0f0f1637 lui a2,0xf0f1 + 800001a8: f0f6061b addiw a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> + 800001ac: 40c5f733 andn a4,a1,a2 + 800001b0: f000f3b7 lui t2,0xf000f + 800001b4: 5a771863 bne a4,t2,80000764 + +00000000800001b8 : + 800001b8: 00300193 li gp,3 + 800001bc: 0ff015b7 lui a1,0xff01 + 800001c0: ff05859b addiw a1,a1,-16 # ff00ff0 <_start-0x700ff010> + 800001c4: f0f0f637 lui a2,0xf0f0f + 800001c8: 0f06061b addiw a2,a2,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 800001cc: 40c5f733 andn a4,a1,a2 + 800001d0: 0f0013b7 lui t2,0xf001 + 800001d4: f003839b addiw t2,t2,-256 # f000f00 <_start-0x70fff100> + 800001d8: 58771663 bne a4,t2,80000764 + +00000000800001dc : + 800001dc: 00400193 li gp,4 + 800001e0: 00ff05b7 lui a1,0xff0 + 800001e4: 0ff5859b addiw a1,a1,255 # ff00ff <_start-0x7f00ff01> + 800001e8: 0f0f1637 lui a2,0xf0f1 + 800001ec: f0f6061b addiw a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> + 800001f0: 40c5f733 andn a4,a1,a2 + 800001f4: 00f003b7 lui t2,0xf00 + 800001f8: 0f03839b addiw t2,t2,240 # f000f0 <_start-0x7f0fff10> + 800001fc: 56771463 bne a4,t2,80000764 + +0000000080000200 : + 80000200: 00500193 li gp,5 + 80000204: f00ff5b7 lui a1,0xf00ff + 80000208: 00f5859b addiw a1,a1,15 # fffffffff00ff00f <_end+0xffffffff700fd00f> + 8000020c: f0f0f637 lui a2,0xf0f0f + 80000210: 0f06061b addiw a2,a2,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 80000214: 40c5f733 andn a4,a1,a2 + 80000218: 000f03b7 lui t2,0xf0 + 8000021c: 00f3839b addiw t2,t2,15 # f000f <_start-0x7ff0fff1> + 80000220: 54771263 bne a4,t2,80000764 + +0000000080000224 : + 80000224: 03200193 li gp,50 + 80000228: 000105b7 lui a1,0x10 + 8000022c: f015859b addiw a1,a1,-255 # ff01 <_start-0x7fff00ff> + 80000230: 01059593 slli a1,a1,0x10 + 80000234: f0158593 addi a1,a1,-255 + 80000238: 01059593 slli a1,a1,0x10 + 8000023c: f0158593 addi a1,a1,-255 + 80000240: 00c59593 slli a1,a1,0xc + 80000244: ff058593 addi a1,a1,-16 + 80000248: ff0f1637 lui a2,0xff0f1 + 8000024c: f0f6061b addiw a2,a2,-241 # ffffffffff0f0f0f <_end+0xffffffff7f0eef0f> + 80000250: 00c61613 slli a2,a2,0xc + 80000254: 0f160613 addi a2,a2,241 + 80000258: 00c61613 slli a2,a2,0xc + 8000025c: f0f60613 addi a2,a2,-241 + 80000260: 00c61613 slli a2,a2,0xc + 80000264: 0f060613 addi a2,a2,240 + 80000268: 40c5f733 andn a4,a1,a2 + 8000026c: 000f03b7 lui t2,0xf0 + 80000270: 00f3839b addiw t2,t2,15 # f000f <_start-0x7ff0fff1> + 80000274: 01039393 slli t2,t2,0x10 + 80000278: 00f38393 addi t2,t2,15 + 8000027c: 00c39393 slli t2,t2,0xc + 80000280: 00138393 addi t2,t2,1 + 80000284: 00c39393 slli t2,t2,0xc + 80000288: f0038393 addi t2,t2,-256 + 8000028c: 4c771c63 bne a4,t2,80000764 + +0000000080000290 : + 80000290: 03300193 li gp,51 + 80000294: 00ff05b7 lui a1,0xff0 + 80000298: 0ff5859b addiw a1,a1,255 # ff00ff <_start-0x7f00ff01> + 8000029c: 01059593 slli a1,a1,0x10 + 800002a0: 0ff58593 addi a1,a1,255 + 800002a4: 01059593 slli a1,a1,0x10 + 800002a8: 0ff58593 addi a1,a1,255 + 800002ac: 00f0f637 lui a2,0xf0f + 800002b0: 0f16061b addiw a2,a2,241 # f0f0f1 <_start-0x7f0f0f0f> + 800002b4: 00c61613 slli a2,a2,0xc + 800002b8: f0f60613 addi a2,a2,-241 + 800002bc: 00c61613 slli a2,a2,0xc + 800002c0: 0f160613 addi a2,a2,241 + 800002c4: 00c61613 slli a2,a2,0xc + 800002c8: f0f60613 addi a2,a2,-241 + 800002cc: 40c5f733 andn a4,a1,a2 + 800002d0: 000f03b7 lui t2,0xf0 + 800002d4: 00f3839b addiw t2,t2,15 # f000f <_start-0x7ff0fff1> + 800002d8: 01039393 slli t2,t2,0x10 + 800002dc: 00f38393 addi t2,t2,15 + 800002e0: 01439393 slli t2,t2,0x14 + 800002e4: 0f038393 addi t2,t2,240 + 800002e8: 46771e63 bne a4,t2,80000764 + +00000000800002ec : + 800002ec: 03400193 li gp,52 + 800002f0: ffff05b7 lui a1,0xffff0 + 800002f4: 0ff5859b addiw a1,a1,255 # ffffffffffff00ff <_end+0xffffffff7ffee0ff> + 800002f8: 01059593 slli a1,a1,0x10 + 800002fc: 0ff58593 addi a1,a1,255 + 80000300: 01059593 slli a1,a1,0x10 + 80000304: 0ff58593 addi a1,a1,255 + 80000308: 00c59593 slli a1,a1,0xc + 8000030c: 00f58593 addi a1,a1,15 + 80000310: ff0f1637 lui a2,0xff0f1 + 80000314: f0f6061b addiw a2,a2,-241 # ffffffffff0f0f0f <_end+0xffffffff7f0eef0f> + 80000318: 00c61613 slli a2,a2,0xc + 8000031c: 0f160613 addi a2,a2,241 + 80000320: 00c61613 slli a2,a2,0xc + 80000324: f0f60613 addi a2,a2,-241 + 80000328: 00c61613 slli a2,a2,0xc + 8000032c: 0f060613 addi a2,a2,240 + 80000330: 40c5f733 andn a4,a1,a2 + 80000334: 000f03b7 lui t2,0xf0 + 80000338: 00f3839b addiw t2,t2,15 # f000f <_start-0x7ff0fff1> + 8000033c: 01039393 slli t2,t2,0x10 + 80000340: 00f38393 addi t2,t2,15 + 80000344: 01039393 slli t2,t2,0x10 + 80000348: 00f38393 addi t2,t2,15 + 8000034c: 40771c63 bne a4,t2,80000764 + +0000000080000350 : + 80000350: 00600193 li gp,6 + 80000354: ff0105b7 lui a1,0xff010 + 80000358: f005859b addiw a1,a1,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 8000035c: 0f0f1637 lui a2,0xf0f1 + 80000360: f0f6061b addiw a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000364: 40c5f5b3 andn a1,a1,a2 + 80000368: f000f3b7 lui t2,0xf000f + 8000036c: 3e759c63 bne a1,t2,80000764 + +0000000080000370 : + 80000370: 00700193 li gp,7 + 80000374: 0ff015b7 lui a1,0xff01 + 80000378: ff05859b addiw a1,a1,-16 # ff00ff0 <_start-0x700ff010> + 8000037c: f0f0f637 lui a2,0xf0f0f + 80000380: 0f06061b addiw a2,a2,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 80000384: 40c5f633 andn a2,a1,a2 + 80000388: 0f0013b7 lui t2,0xf001 + 8000038c: f003839b addiw t2,t2,-256 # f000f00 <_start-0x70fff100> + 80000390: 3c761a63 bne a2,t2,80000764 + +0000000080000394 : + 80000394: 00800193 li gp,8 + 80000398: ff0105b7 lui a1,0xff010 + 8000039c: f005859b addiw a1,a1,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800003a0: 40b5f5b3 andn a1,a1,a1 + 800003a4: 00000393 li t2,0 + 800003a8: 3a759e63 bne a1,t2,80000764 + +00000000800003ac : + 800003ac: 00900193 li gp,9 + 800003b0: 00000213 li tp,0 + 800003b4: ff0100b7 lui ra,0xff010 + 800003b8: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800003bc: 0f0f1137 lui sp,0xf0f1 + 800003c0: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800003c4: 4020f733 andn a4,ra,sp + 800003c8: 00070313 mv t1,a4 + 800003cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d0: 00200293 li t0,2 + 800003d4: fe5210e3 bne tp,t0,800003b4 + 800003d8: f000f3b7 lui t2,0xf000f + 800003dc: 38731463 bne t1,t2,80000764 + +00000000800003e0 : + 800003e0: 00a00193 li gp,10 + 800003e4: 00000213 li tp,0 + 800003e8: 0ff010b7 lui ra,0xff01 + 800003ec: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 800003f0: f0f0f137 lui sp,0xf0f0f + 800003f4: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 800003f8: 4020f733 andn a4,ra,sp + 800003fc: 00000013 nop + 80000400: 00070313 mv t1,a4 + 80000404: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000408: 00200293 li t0,2 + 8000040c: fc521ee3 bne tp,t0,800003e8 + 80000410: 0f0013b7 lui t2,0xf001 + 80000414: f003839b addiw t2,t2,-256 # f000f00 <_start-0x70fff100> + 80000418: 34731663 bne t1,t2,80000764 + +000000008000041c : + 8000041c: 00b00193 li gp,11 + 80000420: 00000213 li tp,0 + 80000424: 00ff00b7 lui ra,0xff0 + 80000428: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 8000042c: 0f0f1137 lui sp,0xf0f1 + 80000430: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000434: 4020f733 andn a4,ra,sp + 80000438: 00000013 nop + 8000043c: 00000013 nop + 80000440: 00070313 mv t1,a4 + 80000444: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000448: 00200293 li t0,2 + 8000044c: fc521ce3 bne tp,t0,80000424 + 80000450: 00f003b7 lui t2,0xf00 + 80000454: 0f03839b addiw t2,t2,240 # f000f0 <_start-0x7f0fff10> + 80000458: 30731663 bne t1,t2,80000764 + +000000008000045c : + 8000045c: 00c00193 li gp,12 + 80000460: 00000213 li tp,0 + 80000464: ff0100b7 lui ra,0xff010 + 80000468: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 8000046c: 0f0f1137 lui sp,0xf0f1 + 80000470: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000474: 4020f733 andn a4,ra,sp + 80000478: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000047c: 00200293 li t0,2 + 80000480: fe5212e3 bne tp,t0,80000464 + 80000484: f000f3b7 lui t2,0xf000f + 80000488: 2c771e63 bne a4,t2,80000764 + +000000008000048c : + 8000048c: 00d00193 li gp,13 + 80000490: 00000213 li tp,0 + 80000494: 0ff010b7 lui ra,0xff01 + 80000498: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 8000049c: f0f0f137 lui sp,0xf0f0f + 800004a0: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 800004a4: 00000013 nop + 800004a8: 4020f733 andn a4,ra,sp + 800004ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004b0: 00200293 li t0,2 + 800004b4: fe5210e3 bne tp,t0,80000494 + 800004b8: 0f0013b7 lui t2,0xf001 + 800004bc: f003839b addiw t2,t2,-256 # f000f00 <_start-0x70fff100> + 800004c0: 2a771263 bne a4,t2,80000764 + +00000000800004c4 : + 800004c4: 00e00193 li gp,14 + 800004c8: 00000213 li tp,0 + 800004cc: 00ff00b7 lui ra,0xff0 + 800004d0: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 800004d4: 0f0f1137 lui sp,0xf0f1 + 800004d8: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800004dc: 00000013 nop + 800004e0: 00000013 nop + 800004e4: 4020f733 andn a4,ra,sp + 800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004ec: 00200293 li t0,2 + 800004f0: fc521ee3 bne tp,t0,800004cc + 800004f4: 00f003b7 lui t2,0xf00 + 800004f8: 0f03839b addiw t2,t2,240 # f000f0 <_start-0x7f0fff10> + 800004fc: 26771463 bne a4,t2,80000764 + +0000000080000500 : + 80000500: 00f00193 li gp,15 + 80000504: 00000213 li tp,0 + 80000508: ff0100b7 lui ra,0xff010 + 8000050c: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000510: 00000013 nop + 80000514: 0f0f1137 lui sp,0xf0f1 + 80000518: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 8000051c: 4020f733 andn a4,ra,sp + 80000520: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000524: 00200293 li t0,2 + 80000528: fe5210e3 bne tp,t0,80000508 + 8000052c: f000f3b7 lui t2,0xf000f + 80000530: 22771a63 bne a4,t2,80000764 + +0000000080000534 : + 80000534: 01000193 li gp,16 + 80000538: 00000213 li tp,0 + 8000053c: 0ff010b7 lui ra,0xff01 + 80000540: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 80000544: 00000013 nop + 80000548: f0f0f137 lui sp,0xf0f0f + 8000054c: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 80000550: 00000013 nop + 80000554: 4020f733 andn a4,ra,sp + 80000558: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000055c: 00200293 li t0,2 + 80000560: fc521ee3 bne tp,t0,8000053c + 80000564: 0f0013b7 lui t2,0xf001 + 80000568: f003839b addiw t2,t2,-256 # f000f00 <_start-0x70fff100> + 8000056c: 1e771c63 bne a4,t2,80000764 + +0000000080000570 : + 80000570: 01100193 li gp,17 + 80000574: 00000213 li tp,0 + 80000578: 00ff00b7 lui ra,0xff0 + 8000057c: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 80000580: 00000013 nop + 80000584: 00000013 nop + 80000588: 0f0f1137 lui sp,0xf0f1 + 8000058c: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000590: 4020f733 andn a4,ra,sp + 80000594: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000598: 00200293 li t0,2 + 8000059c: fc521ee3 bne tp,t0,80000578 + 800005a0: 00f003b7 lui t2,0xf00 + 800005a4: 0f03839b addiw t2,t2,240 # f000f0 <_start-0x7f0fff10> + 800005a8: 1a771e63 bne a4,t2,80000764 + +00000000800005ac : + 800005ac: 01200193 li gp,18 + 800005b0: 00000213 li tp,0 + 800005b4: 0f0f1137 lui sp,0xf0f1 + 800005b8: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800005bc: ff0100b7 lui ra,0xff010 + 800005c0: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800005c4: 4020f733 andn a4,ra,sp + 800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005cc: 00200293 li t0,2 + 800005d0: fe5212e3 bne tp,t0,800005b4 + 800005d4: f000f3b7 lui t2,0xf000f + 800005d8: 18771663 bne a4,t2,80000764 + +00000000800005dc : + 800005dc: 01300193 li gp,19 + 800005e0: 00000213 li tp,0 + 800005e4: f0f0f137 lui sp,0xf0f0f + 800005e8: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 800005ec: 0ff010b7 lui ra,0xff01 + 800005f0: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 800005f4: 00000013 nop + 800005f8: 4020f733 andn a4,ra,sp + 800005fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000600: 00200293 li t0,2 + 80000604: fe5210e3 bne tp,t0,800005e4 + 80000608: 0f0013b7 lui t2,0xf001 + 8000060c: f003839b addiw t2,t2,-256 # f000f00 <_start-0x70fff100> + 80000610: 14771a63 bne a4,t2,80000764 + +0000000080000614 : + 80000614: 01400193 li gp,20 + 80000618: 00000213 li tp,0 + 8000061c: 0f0f1137 lui sp,0xf0f1 + 80000620: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000624: 00ff00b7 lui ra,0xff0 + 80000628: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 8000062c: 00000013 nop + 80000630: 00000013 nop + 80000634: 4020f733 andn a4,ra,sp + 80000638: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000063c: 00200293 li t0,2 + 80000640: fc521ee3 bne tp,t0,8000061c + 80000644: 00f003b7 lui t2,0xf00 + 80000648: 0f03839b addiw t2,t2,240 # f000f0 <_start-0x7f0fff10> + 8000064c: 10771c63 bne a4,t2,80000764 + +0000000080000650 : + 80000650: 01500193 li gp,21 + 80000654: 00000213 li tp,0 + 80000658: 0f0f1137 lui sp,0xf0f1 + 8000065c: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000660: 00000013 nop + 80000664: ff0100b7 lui ra,0xff010 + 80000668: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 8000066c: 4020f733 andn a4,ra,sp + 80000670: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000674: 00200293 li t0,2 + 80000678: fe5210e3 bne tp,t0,80000658 + 8000067c: f000f3b7 lui t2,0xf000f + 80000680: 0e771263 bne a4,t2,80000764 + +0000000080000684 : + 80000684: 01600193 li gp,22 + 80000688: 00000213 li tp,0 + 8000068c: f0f0f137 lui sp,0xf0f0f + 80000690: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 80000694: 00000013 nop + 80000698: 0ff010b7 lui ra,0xff01 + 8000069c: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 800006a0: 00000013 nop + 800006a4: 4020f733 andn a4,ra,sp + 800006a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006ac: 00200293 li t0,2 + 800006b0: fc521ee3 bne tp,t0,8000068c + 800006b4: 0f0013b7 lui t2,0xf001 + 800006b8: f003839b addiw t2,t2,-256 # f000f00 <_start-0x70fff100> + 800006bc: 0a771463 bne a4,t2,80000764 + +00000000800006c0 : + 800006c0: 01700193 li gp,23 + 800006c4: 00000213 li tp,0 + 800006c8: 0f0f1137 lui sp,0xf0f1 + 800006cc: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800006d0: 00000013 nop + 800006d4: 00000013 nop + 800006d8: 00ff00b7 lui ra,0xff0 + 800006dc: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 800006e0: 4020f733 andn a4,ra,sp + 800006e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006e8: 00200293 li t0,2 + 800006ec: fc521ee3 bne tp,t0,800006c8 + 800006f0: 00f003b7 lui t2,0xf00 + 800006f4: 0f03839b addiw t2,t2,240 # f000f0 <_start-0x7f0fff10> + 800006f8: 06771663 bne a4,t2,80000764 + +00000000800006fc : + 800006fc: 01800193 li gp,24 + 80000700: ff0100b7 lui ra,0xff010 + 80000704: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000708: 40107133 andn sp,zero,ra + 8000070c: 00000393 li t2,0 + 80000710: 04711a63 bne sp,t2,80000764 + +0000000080000714 : + 80000714: 01900193 li gp,25 + 80000718: 00ff00b7 lui ra,0xff0 + 8000071c: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 80000720: 4000f133 andn sp,ra,zero + 80000724: 00ff03b7 lui t2,0xff0 + 80000728: 0ff3839b addiw t2,t2,255 # ff00ff <_start-0x7f00ff01> + 8000072c: 02711c63 bne sp,t2,80000764 + +0000000080000730 : + 80000730: 01a00193 li gp,26 + 80000734: 400070b3 andn ra,zero,zero + 80000738: 00000393 li t2,0 + 8000073c: 02709463 bne ra,t2,80000764 + +0000000080000740 : + 80000740: 01b00193 li gp,27 + 80000744: 111110b7 lui ra,0x11111 + 80000748: 1110809b addiw ra,ra,273 # 11111111 <_start-0x6eeeeeef> + 8000074c: 22222137 lui sp,0x22222 + 80000750: 2221011b addiw sp,sp,546 # 22222222 <_start-0x5dddddde> + 80000754: 4020f033 andn zero,ra,sp + 80000758: 00000393 li t2,0 + 8000075c: 00701463 bne zero,t2,80000764 + 80000760: 02301063 bne zero,gp,80000780 + +0000000080000764 : + 80000764: 0ff0000f fence + 80000768: 00018063 beqz gp,80000768 + 8000076c: 00119193 slli gp,gp,0x1 + 80000770: 0011e193 ori gp,gp,1 + 80000774: 05d00893 li a7,93 + 80000778: 00018513 mv a0,gp + 8000077c: 00000073 ecall + +0000000080000780 : + 80000780: 0ff0000f fence + 80000784: 00100193 li gp,1 + 80000788: 05d00893 li a7,93 + 8000078c: 00000513 li a0,0 + 80000790: 00000073 ecall + 80000794: c0001073 unimp + 80000798: 0000 .insn 2, 0x + 8000079a: 0000 .insn 2, 0x + 8000079c: 0000 .insn 2, 0x + 8000079e: 0000 .insn 2, 0x + 800007a0: 0000 .insn 2, 0x + 800007a2: 0000 .insn 2, 0x + 800007a4: 0000 .insn 2, 0x + 800007a6: 0000 .insn 2, 0x + 800007a8: 0000 .insn 2, 0x + 800007aa: 0000 .insn 2, 0x + 800007ac: 0000 .insn 2, 0x + 800007ae: 0000 .insn 2, 0x + 800007b0: 0000 .insn 2, 0x + 800007b2: 0000 .insn 2, 0x + 800007b4: 0000 .insn 2, 0x + 800007b6: 0000 .insn 2, 0x + 800007b8: 0000 .insn 2, 0x + 800007ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-andn.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-andn.hex new file mode 100644 index 0000000..ef3509f --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-andn.hex @@ -0,0 +1,799 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +ff0105b700200193 +0f0f1637f005859b +40c5f733f0f6061b +5a771863f000f3b7 +0ff015b700300193 +f0f0f637ff05859b +40c5f7330f06061b +f003839b0f0013b7 +0040019358771663 +0ff5859b00ff05b7 +f0f6061b0f0f1637 +00f003b740c5f733 +567714630f03839b +f00ff5b700500193 +f0f0f63700f5859b +40c5f7330f06061b +00f3839b000f03b7 +0320019354771263 +f015859b000105b7 +f015859301059593 +f015859301059593 +ff05859300c59593 +f0f6061bff0f1637 +0f16061300c61613 +f0f6061300c61613 +0f06061300c61613 +000f03b740c5f733 +0103939300f3839b +00c3939300f38393 +00c3939300138393 +4c771c63f0038393 +00ff05b703300193 +010595930ff5859b +010595930ff58593 +00f0f6370ff58593 +00c616130f16061b +00c61613f0f60613 +00c616130f160613 +40c5f733f0f60613 +00f3839b000f03b7 +00f3839301039393 +0f03839301439393 +0340019346771e63 +0ff5859bffff05b7 +0ff5859301059593 +0ff5859301059593 +00f5859300c59593 +f0f6061bff0f1637 +0f16061300c61613 +f0f6061300c61613 +0f06061300c61613 +000f03b740c5f733 +0103939300f3839b +0103939300f38393 +40771c6300f38393 +ff0105b700600193 +0f0f1637f005859b +40c5f5b3f0f6061b +3e759c63f000f3b7 +0ff015b700700193 +f0f0f637ff05859b +40c5f6330f06061b +f003839b0f0013b7 +008001933c761a63 +f005859bff0105b7 +0000039340b5f5b3 +009001933a759e63 +ff0100b700000213 +0f0f1137f000809b +4020f733f0f1011b +0012021300070313 +fe5210e300200293 +38731463f000f3b7 +0000021300a00193 +ff00809b0ff010b7 +0f01011bf0f0f137 +000000134020f733 +0012021300070313 +fc521ee300200293 +f003839b0f0013b7 +00b0019334731663 +00ff00b700000213 +0f0f11370ff0809b +4020f733f0f1011b +0000001300000013 +0012021300070313 +fc521ce300200293 +0f03839b00f003b7 +00c0019330731663 +ff0100b700000213 +0f0f1137f000809b +4020f733f0f1011b +0020029300120213 +f000f3b7fe5212e3 +00d001932c771e63 +0ff010b700000213 +f0f0f137ff00809b +000000130f01011b +001202134020f733 +fe5210e300200293 +f003839b0f0013b7 +00e001932a771263 +00ff00b700000213 +0f0f11370ff0809b +00000013f0f1011b +4020f73300000013 +0020029300120213 +00f003b7fc521ee3 +267714630f03839b +0000021300f00193 +f000809bff0100b7 +0f0f113700000013 +4020f733f0f1011b +0020029300120213 +f000f3b7fe5210e3 +0100019322771a63 +0ff010b700000213 +00000013ff00809b +0f01011bf0f0f137 +4020f73300000013 +0020029300120213 +0f0013b7fc521ee3 +1e771c63f003839b +0000021301100193 +0ff0809b00ff00b7 +0000001300000013 +f0f1011b0f0f1137 +001202134020f733 +fc521ee300200293 +0f03839b00f003b7 +012001931a771e63 +0f0f113700000213 +ff0100b7f0f1011b +4020f733f000809b +0020029300120213 +f000f3b7fe5212e3 +0130019318771663 +f0f0f13700000213 +0ff010b70f01011b +00000013ff00809b +001202134020f733 +fe5210e300200293 +f003839b0f0013b7 +0140019314771a63 +0f0f113700000213 +00ff00b7f0f1011b +000000130ff0809b +4020f73300000013 +0020029300120213 +00f003b7fc521ee3 +10771c630f03839b +0000021301500193 +f0f1011b0f0f1137 +ff0100b700000013 +4020f733f000809b +0020029300120213 +f000f3b7fe5210e3 +016001930e771263 +f0f0f13700000213 +000000130f01011b +ff00809b0ff010b7 +4020f73300000013 +0020029300120213 +0f0013b7fc521ee3 +0a771463f003839b +0000021301700193 +f0f1011b0f0f1137 +0000001300000013 +0ff0809b00ff00b7 +001202134020f733 +fc521ee300200293 +0f03839b00f003b7 +0180019306771663 +f000809bff0100b7 +0000039340107133 +0190019304711a63 +0ff0809b00ff00b7 +00ff03b74000f133 +02711c630ff3839b +400070b301a00193 +0270946300000393 +111110b701b00193 +222221371110809b +4020f0332221011b +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000764 +0000000000000000 +00010000000000a8 +00000000800001b8 +0000000000000000 +00010000000000af +00000000800001dc +0000000000000000 +00010000000000b6 +0000000080000200 +0000000000000000 +00010000000000bd +0000000080000224 +0000000000000000 +00010000000000c5 +0000000080000290 +0000000000000000 +00010000000000cd +00000000800002ec +0000000000000000 +00010000000000d5 +0000000080000350 +0000000000000000 +00010000000000dc +0000000080000370 +0000000000000000 +00010000000000e3 +0000000080000394 +0000000000000000 +00010000000000ea +00000000800003ac +0000000000000000 +00010000000000f1 +00000000800003e0 +0000000000000000 +00010000000000f9 +000000008000041c +0000000000000000 +0001000000000101 +000000008000045c +0000000000000000 +0001000000000109 +000000008000048c +0000000000000000 +0001000000000111 +00000000800004c4 +0000000000000000 +0001000000000119 +0000000080000500 +0000000000000000 +0001000000000121 +0000000080000534 +0000000000000000 +0001000000000129 +0000000080000570 +0000000000000000 +0001000000000131 +00000000800005ac +0000000000000000 +0001000000000139 +00000000800005dc +0000000000000000 +0001000000000141 +0000000080000614 +0000000000000000 +0001000000000149 +0000000080000650 +0000000000000000 +0001000000000151 +0000000080000684 +0000000000000000 +0001000000000159 +00000000800006c0 +0000000000000000 +0001000000000161 +00000000800006fc +0000000000000000 +0001000000000169 +0000000080000714 +0000000000000000 +0001000000000171 +0000000080000730 +0000000000000000 +0001000000000179 +0000000080000740 +0000000000000000 +0001000000000181 +0000000080000780 +0000000000000000 +0002001000000186 +0000000080002000 +0000000000000000 +0002001000000194 +0000000080002000 +0000000000000000 +00010010000001a4 +0000000080000000 +0000000000000000 +00020010000001ab +0000000080002000 +0000000000000000 +00020010000001b0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +7a4e363050636300 +76727824006f2e70 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7365740030355f74 +7365740031355f74 +7365740032355f74 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000007bc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000498 +0000002b00000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +0000000000002538 +00000000000001b9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000026f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clz.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clz.dump new file mode 100644 index 0000000..c69a7ea --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clz.dump @@ -0,0 +1,361 @@ + +rv64uzbb-p-clz: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000093 li ra,0 + 800001a0: 60009713 clz a4,ra + 800001a4: 04000393 li t2,64 + 800001a8: 28771a63 bne a4,t2,8000043c + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100093 li ra,1 + 800001b4: 60009713 clz a4,ra + 800001b8: 03f00393 li t2,63 + 800001bc: 28771063 bne a4,t2,8000043c + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00300093 li ra,3 + 800001c8: 60009713 clz a4,ra + 800001cc: 03e00393 li t2,62 + 800001d0: 26771663 bne a4,t2,8000043c + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: ffff80b7 lui ra,0xffff8 + 800001dc: 60009713 clz a4,ra + 800001e0: 00000393 li t2,0 + 800001e4: 24771c63 bne a4,t2,8000043c + +00000000800001e8 : + 800001e8: 00600193 li gp,6 + 800001ec: 008000b7 lui ra,0x800 + 800001f0: 60009713 clz a4,ra + 800001f4: 02800393 li t2,40 + 800001f8: 24771263 bne a4,t2,8000043c + +00000000800001fc : + 800001fc: 00700193 li gp,7 + 80000200: 0050009b addiw ra,zero,5 + 80000204: 02109093 slli ra,ra,0x21 + 80000208: fff08093 addi ra,ra,-1 # 7fffff <_start-0x7f800001> + 8000020c: 00f09093 slli ra,ra,0xf + 80000210: 60009713 clz a4,ra + 80000214: 00d00393 li t2,13 + 80000218: 22771263 bne a4,t2,8000043c + +000000008000021c : + 8000021c: 00800193 li gp,8 + 80000220: 000080b7 lui ra,0x8 + 80000224: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 80000228: 60009713 clz a4,ra + 8000022c: 03100393 li t2,49 + 80000230: 20771663 bne a4,t2,8000043c + +0000000080000234 : + 80000234: 00900193 li gp,9 + 80000238: 800000b7 lui ra,0x80000 + 8000023c: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 80000240: 60009713 clz a4,ra + 80000244: 02100393 li t2,33 + 80000248: 1e771a63 bne a4,t2,8000043c + +000000008000024c : + 8000024c: 00a00193 li gp,10 + 80000250: 000800b7 lui ra,0x80 + 80000254: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 80000258: 60009713 clz a4,ra + 8000025c: 02d00393 li t2,45 + 80000260: 1c771e63 bne a4,t2,8000043c + +0000000080000264 : + 80000264: 00b00193 li gp,11 + 80000268: 800000b7 lui ra,0x80000 + 8000026c: 60009713 clz a4,ra + 80000270: 00000393 li t2,0 + 80000274: 1c771463 bne a4,t2,8000043c + +0000000080000278 : + 80000278: 00c00193 li gp,12 + 8000027c: 7fabc0b7 lui ra,0x7fabc + 80000280: 7890809b addiw ra,ra,1929 # 7fabc789 <_start-0x543877> + 80000284: 00d09093 slli ra,ra,0xd + 80000288: 1f508093 addi ra,ra,501 + 8000028c: 00c09093 slli ra,ra,0xc + 80000290: 60009713 clz a4,ra + 80000294: 00800393 li t2,8 + 80000298: 1a771263 bne a4,t2,8000043c + +000000008000029c : + 8000029c: 00d00193 li gp,13 + 800002a0: fff0009b addiw ra,zero,-1 + 800002a4: 03f09093 slli ra,ra,0x3f + 800002a8: 60009713 clz a4,ra + 800002ac: 00000393 li t2,0 + 800002b0: 18771663 bne a4,t2,8000043c + +00000000800002b4 : + 800002b4: 00e00193 li gp,14 + 800002b8: 00e00093 li ra,14 + 800002bc: 60009713 clz a4,ra + 800002c0: 03c00393 li t2,60 + 800002c4: 16771c63 bne a4,t2,8000043c + +00000000800002c8 : + 800002c8: 00f00193 li gp,15 + 800002cc: ffd0009b addiw ra,zero,-3 + 800002d0: 02009093 slli ra,ra,0x20 + 800002d4: 01908093 addi ra,ra,25 + 800002d8: 01109093 slli ra,ra,0x11 + 800002dc: 40108093 addi ra,ra,1025 + 800002e0: 00c09093 slli ra,ra,0xc + 800002e4: 34108093 addi ra,ra,833 + 800002e8: 60009713 clz a4,ra + 800002ec: 00000393 li t2,0 + 800002f0: 14771663 bne a4,t2,8000043c + +00000000800002f4 : + 800002f4: 01000193 li gp,16 + 800002f8: 00d00093 li ra,13 + 800002fc: 60009093 clz ra,ra + 80000300: 03c00393 li t2,60 + 80000304: 12709c63 bne ra,t2,8000043c + +0000000080000308 : + 80000308: 01100193 li gp,17 + 8000030c: 00b00093 li ra,11 + 80000310: 60009093 clz ra,ra + 80000314: 03c00393 li t2,60 + 80000318: 12709263 bne ra,t2,8000043c + +000000008000031c : + 8000031c: 01200193 li gp,18 + 80000320: 00000213 li tp,0 + 80000324: 00d00093 li ra,13 + 80000328: 60009713 clz a4,ra + 8000032c: 00070313 mv t1,a4 + 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000334: 00200293 li t0,2 + 80000338: fe5216e3 bne tp,t0,80000324 + 8000033c: 03c00393 li t2,60 + 80000340: 0e731e63 bne t1,t2,8000043c + +0000000080000344 : + 80000344: 01d00193 li gp,29 + 80000348: 00000213 li tp,0 + 8000034c: 01300093 li ra,19 + 80000350: 60009713 clz a4,ra + 80000354: 00000013 nop + 80000358: 00070313 mv t1,a4 + 8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000360: 00200293 li t0,2 + 80000364: fe5214e3 bne tp,t0,8000034c + 80000368: 03b00393 li t2,59 + 8000036c: 0c731863 bne t1,t2,8000043c + +0000000080000370 : + 80000370: 01400193 li gp,20 + 80000374: 00000213 li tp,0 + 80000378: 02200093 li ra,34 + 8000037c: 60009713 clz a4,ra + 80000380: 00000013 nop + 80000384: 00000013 nop + 80000388: 00070313 mv t1,a4 + 8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000390: 00200293 li t0,2 + 80000394: fe5212e3 bne tp,t0,80000378 + 80000398: 03a00393 li t2,58 + 8000039c: 0a731063 bne t1,t2,8000043c + +00000000800003a0 : + 800003a0: 01500193 li gp,21 + 800003a4: 070f80b7 lui ra,0x70f8 + 800003a8: 60009713 clz a4,ra + 800003ac: 02500393 li t2,37 + 800003b0: 08771663 bne a4,t2,8000043c + +00000000800003b4 : + 800003b4: 01600193 li gp,22 + 800003b8: 080080b7 lui ra,0x8008 + 800003bc: 60009713 clz a4,ra + 800003c0: 02400393 li t2,36 + 800003c4: 06771c63 bne a4,t2,8000043c + +00000000800003c8 : + 800003c8: 01700193 li gp,23 + 800003cc: 180080b7 lui ra,0x18008 + 800003d0: 60009713 clz a4,ra + 800003d4: 02300393 li t2,35 + 800003d8: 06771263 bne a4,t2,8000043c + +00000000800003dc : + 800003dc: 01800193 li gp,24 + 800003e0: 000600b7 lui ra,0x60 + 800003e4: 0010809b addiw ra,ra,1 # 60001 <_start-0x7ff9ffff> + 800003e8: 00f09093 slli ra,ra,0xf + 800003ec: fff08093 addi ra,ra,-1 + 800003f0: 60009713 clz a4,ra + 800003f4: 01e00393 li t2,30 + 800003f8: 04771263 bne a4,t2,8000043c + +00000000800003fc : + 800003fc: 01900193 li gp,25 + 80000400: 00f0009b addiw ra,zero,15 + 80000404: 01f09093 slli ra,ra,0x1f + 80000408: fff08093 addi ra,ra,-1 + 8000040c: 60009713 clz a4,ra + 80000410: 01d00393 li t2,29 + 80000414: 02771463 bne a4,t2,8000043c + +0000000080000418 : + 80000418: 01a00193 li gp,26 + 8000041c: 0001e0b7 lui ra,0x1e + 80000420: 0010809b addiw ra,ra,1 # 1e001 <_start-0x7ffe1fff> + 80000424: 01309093 slli ra,ra,0x13 + 80000428: fff08093 addi ra,ra,-1 + 8000042c: 60009713 clz a4,ra + 80000430: 01c00393 li t2,28 + 80000434: 00771463 bne a4,t2,8000043c + 80000438: 02301063 bne zero,gp,80000458 + +000000008000043c : + 8000043c: 0ff0000f fence + 80000440: 00018063 beqz gp,80000440 + 80000444: 00119193 slli gp,gp,0x1 + 80000448: 0011e193 ori gp,gp,1 + 8000044c: 05d00893 li a7,93 + 80000450: 00018513 mv a0,gp + 80000454: 00000073 ecall + +0000000080000458 : + 80000458: 0ff0000f fence + 8000045c: 00100193 li gp,1 + 80000460: 05d00893 li a7,93 + 80000464: 00000513 li a0,0 + 80000468: 00000073 ecall + 8000046c: c0001073 unimp + 80000470: 0000 .insn 2, 0x + 80000472: 0000 .insn 2, 0x + 80000474: 0000 .insn 2, 0x + 80000476: 0000 .insn 2, 0x + 80000478: 0000 .insn 2, 0x + 8000047a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clz.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clz.hex new file mode 100644 index 0000000..e3595da --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clz.hex @@ -0,0 +1,783 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000009300200193 +0400039360009713 +0030019328771a63 +6000971300100093 +2877106303f00393 +0030009300400193 +03e0039360009713 +0050019326771663 +60009713ffff80b7 +24771c6300000393 +008000b700600193 +0280039360009713 +0070019324771263 +021090930050009b +00f09093fff08093 +00d0039360009713 +0080019322771263 +fff0809b000080b7 +0310039360009713 +0090019320771663 +fff0809b800000b7 +0210039360009713 +00a001931e771a63 +fff0809b000800b7 +02d0039360009713 +00b001931c771e63 +60009713800000b7 +1c77146300000393 +7fabc0b700c00193 +00d090937890809b +00c090931f508093 +0080039360009713 +00d001931a771263 +03f09093fff0009b +0000039360009713 +00e0019318771663 +6000971300e00093 +16771c6303c00393 +ffd0009b00f00193 +0190809302009093 +4010809301109093 +3410809300c09093 +0000039360009713 +0100019314771663 +6000909300d00093 +12709c6303c00393 +00b0009301100193 +03c0039360009093 +0120019312709263 +00d0009300000213 +0007031360009713 +0020029300120213 +03c00393fe5216e3 +01d001930e731e63 +0130009300000213 +0000001360009713 +0012021300070313 +fe5214e300200293 +0c73186303b00393 +0000021301400193 +6000971302200093 +0000001300000013 +0012021300070313 +fe5212e300200293 +0a73106303a00393 +070f80b701500193 +0250039360009713 +0160019308771663 +60009713080080b7 +06771c6302400393 +180080b701700193 +0230039360009713 +0180019306771263 +0010809b000600b7 +fff0809300f09093 +01e0039360009713 +0190019304771263 +01f0909300f0009b +60009713fff08093 +0277146301d00393 +0001e0b701a00193 +013090930010809b +60009713fff08093 +0077146301c00393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +000000008000043c +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001e8 +0000000000000000 +00010000000000c4 +00000000800001fc +0000000000000000 +00010000000000cb +000000008000021c +0000000000000000 +00010000000000d2 +0000000080000234 +0000000000000000 +00010000000000d9 +000000008000024c +0000000000000000 +00010000000000e1 +0000000080000264 +0000000000000000 +00010000000000e9 +0000000080000278 +0000000000000000 +00010000000000f1 +000000008000029c +0000000000000000 +00010000000000f9 +00000000800002b4 +0000000000000000 +0001000000000101 +00000000800002c8 +0000000000000000 +0001000000000109 +00000000800002f4 +0000000000000000 +0001000000000111 +0000000080000308 +0000000000000000 +0001000000000119 +000000008000031c +0000000000000000 +0001000000000121 +0000000080000344 +0000000000000000 +0001000000000129 +0000000080000370 +0000000000000000 +0001000000000131 +00000000800003a0 +0000000000000000 +0001000000000139 +00000000800003b4 +0000000000000000 +0001000000000141 +00000000800003c8 +0000000000000000 +0001000000000149 +00000000800003dc +0000000000000000 +0001000000000151 +00000000800003fc +0000000000000000 +0001000000000159 +0000000080000418 +0000000000000000 +0001000000000161 +0000000080000458 +0000000000000000 +0002001000000166 +0000000080002000 +0000000000000000 +0002001000000174 +0000000080002000 +0000000000000000 +0001001000000184 +0000000080000000 +0000000000000000 +000200100000018b +0000000080002000 +0000000000000000 +0002001000000190 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +574c387861636300 +76727824006f2e6f +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39325f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000047c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000438 +0000002700000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024d8 +0000000000000199 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002671 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clzw.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clzw.dump new file mode 100644 index 0000000..e776839 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clzw.dump @@ -0,0 +1,342 @@ + +rv64uzbb-p-clzw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000093 li ra,0 + 800001a0: 6000971b clzw a4,ra + 800001a4: 02000393 li t2,32 + 800001a8: 26771063 bne a4,t2,80000408 + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100093 li ra,1 + 800001b4: 6000971b clzw a4,ra + 800001b8: 01f00393 li t2,31 + 800001bc: 24771663 bne a4,t2,80000408 + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00300093 li ra,3 + 800001c8: 6000971b clzw a4,ra + 800001cc: 01e00393 li t2,30 + 800001d0: 22771c63 bne a4,t2,80000408 + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: 000200b7 lui ra,0x20 + 800001dc: fff0809b addiw ra,ra,-1 # 1ffff <_start-0x7ffe0001> + 800001e0: 00f09093 slli ra,ra,0xf + 800001e4: 6000971b clzw a4,ra + 800001e8: 00000393 li t2,0 + 800001ec: 20771e63 bne a4,t2,80000408 + +00000000800001f0 : + 800001f0: 00600193 li gp,6 + 800001f4: 008000b7 lui ra,0x800 + 800001f8: 6000971b clzw a4,ra + 800001fc: 00800393 li t2,8 + 80000200: 20771463 bne a4,t2,80000408 + +0000000080000204 : + 80000204: 00700193 li gp,7 + 80000208: 000200b7 lui ra,0x20 + 8000020c: fff0809b addiw ra,ra,-1 # 1ffff <_start-0x7ffe0001> + 80000210: 00f09093 slli ra,ra,0xf + 80000214: 6000971b clzw a4,ra + 80000218: 00000393 li t2,0 + 8000021c: 1e771663 bne a4,t2,80000408 + +0000000080000220 : + 80000220: 00800193 li gp,8 + 80000224: 000080b7 lui ra,0x8 + 80000228: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 8000022c: 6000971b clzw a4,ra + 80000230: 01100393 li t2,17 + 80000234: 1c771a63 bne a4,t2,80000408 + +0000000080000238 : + 80000238: 00900193 li gp,9 + 8000023c: 800000b7 lui ra,0x80000 + 80000240: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 80000244: 6000971b clzw a4,ra + 80000248: 00100393 li t2,1 + 8000024c: 1a771e63 bne a4,t2,80000408 + +0000000080000250 : + 80000250: 00a00193 li gp,10 + 80000254: 000800b7 lui ra,0x80 + 80000258: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 8000025c: 6000971b clzw a4,ra + 80000260: 00d00393 li t2,13 + 80000264: 1a771263 bne a4,t2,80000408 + +0000000080000268 : + 80000268: 00b00193 li gp,11 + 8000026c: 0010009b addiw ra,zero,1 + 80000270: 01f09093 slli ra,ra,0x1f + 80000274: 6000971b clzw a4,ra + 80000278: 00000393 li t2,0 + 8000027c: 18771663 bne a4,t2,80000408 + +0000000080000280 : + 80000280: 00c00193 li gp,12 + 80000284: 121f50b7 lui ra,0x121f5 + 80000288: 6000971b clzw a4,ra + 8000028c: 00300393 li t2,3 + 80000290: 16771c63 bne a4,t2,80000408 + +0000000080000294 : + 80000294: 00d00193 li gp,13 + 80000298: 040000b7 lui ra,0x4000 + 8000029c: 6000971b clzw a4,ra + 800002a0: 00500393 li t2,5 + 800002a4: 16771263 bne a4,t2,80000408 + +00000000800002a8 : + 800002a8: 00e00193 li gp,14 + 800002ac: 00e00093 li ra,14 + 800002b0: 6000971b clzw a4,ra + 800002b4: 01c00393 li t2,28 + 800002b8: 14771863 bne a4,t2,80000408 + +00000000800002bc : + 800002bc: 00f00193 li gp,15 + 800002c0: 204010b7 lui ra,0x20401 + 800002c4: 3410809b addiw ra,ra,833 # 20401341 <_start-0x5fbfecbf> + 800002c8: 6000971b clzw a4,ra + 800002cc: 00200393 li t2,2 + 800002d0: 12771c63 bne a4,t2,80000408 + +00000000800002d4 : + 800002d4: 01000193 li gp,16 + 800002d8: 00d00093 li ra,13 + 800002dc: 6000909b clzw ra,ra + 800002e0: 01c00393 li t2,28 + 800002e4: 12709263 bne ra,t2,80000408 + +00000000800002e8 : + 800002e8: 01100193 li gp,17 + 800002ec: 00b00093 li ra,11 + 800002f0: 6000909b clzw ra,ra + 800002f4: 01c00393 li t2,28 + 800002f8: 10709863 bne ra,t2,80000408 + +00000000800002fc : + 800002fc: 01200193 li gp,18 + 80000300: 00000213 li tp,0 + 80000304: 00d00093 li ra,13 + 80000308: 6000971b clzw a4,ra + 8000030c: 00070313 mv t1,a4 + 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000314: 00200293 li t0,2 + 80000318: fe5216e3 bne tp,t0,80000304 + 8000031c: 01c00393 li t2,28 + 80000320: 0e731463 bne t1,t2,80000408 + +0000000080000324 : + 80000324: 01d00193 li gp,29 + 80000328: 00000213 li tp,0 + 8000032c: 01300093 li ra,19 + 80000330: 6000971b clzw a4,ra + 80000334: 00000013 nop + 80000338: 00070313 mv t1,a4 + 8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000340: 00200293 li t0,2 + 80000344: fe5214e3 bne tp,t0,8000032c + 80000348: 01b00393 li t2,27 + 8000034c: 0a731e63 bne t1,t2,80000408 + +0000000080000350 : + 80000350: 01400193 li gp,20 + 80000354: 00000213 li tp,0 + 80000358: 02200093 li ra,34 + 8000035c: 6000971b clzw a4,ra + 80000360: 00000013 nop + 80000364: 00000013 nop + 80000368: 00070313 mv t1,a4 + 8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000370: 00200293 li t0,2 + 80000374: fe5212e3 bne tp,t0,80000358 + 80000378: 01a00393 li t2,26 + 8000037c: 08731663 bne t1,t2,80000408 + +0000000080000380 : + 80000380: 01500193 li gp,21 + 80000384: 070f80b7 lui ra,0x70f8 + 80000388: 6000971b clzw a4,ra + 8000038c: 00500393 li t2,5 + 80000390: 06771c63 bne a4,t2,80000408 + +0000000080000394 : + 80000394: 01600193 li gp,22 + 80000398: 080080b7 lui ra,0x8008 + 8000039c: 6000971b clzw a4,ra + 800003a0: 00400393 li t2,4 + 800003a4: 06771263 bne a4,t2,80000408 + +00000000800003a8 : + 800003a8: 01700193 li gp,23 + 800003ac: 180080b7 lui ra,0x18008 + 800003b0: 6000971b clzw a4,ra + 800003b4: 00300393 li t2,3 + 800003b8: 04771863 bne a4,t2,80000408 + +00000000800003bc : + 800003bc: 01800193 li gp,24 + 800003c0: 000080b7 lui ra,0x8 + 800003c4: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 800003c8: 6000971b clzw a4,ra + 800003cc: 01100393 li t2,17 + 800003d0: 02771c63 bne a4,t2,80000408 + +00000000800003d4 : + 800003d4: 01900193 li gp,25 + 800003d8: 800000b7 lui ra,0x80000 + 800003dc: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 800003e0: 6000971b clzw a4,ra + 800003e4: 00100393 li t2,1 + 800003e8: 02771063 bne a4,t2,80000408 + +00000000800003ec : + 800003ec: 01a00193 li gp,26 + 800003f0: 000800b7 lui ra,0x80 + 800003f4: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 800003f8: 6000971b clzw a4,ra + 800003fc: 00d00393 li t2,13 + 80000400: 00771463 bne a4,t2,80000408 + 80000404: 02301063 bne zero,gp,80000424 + +0000000080000408 : + 80000408: 0ff0000f fence + 8000040c: 00018063 beqz gp,8000040c + 80000410: 00119193 slli gp,gp,0x1 + 80000414: 0011e193 ori gp,gp,1 + 80000418: 05d00893 li a7,93 + 8000041c: 00018513 mv a0,gp + 80000420: 00000073 ecall + +0000000080000424 : + 80000424: 0ff0000f fence + 80000428: 00100193 li gp,1 + 8000042c: 05d00893 li a7,93 + 80000430: 00000513 li a0,0 + 80000434: 00000073 ecall + 80000438: c0001073 unimp diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clzw.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clzw.hex new file mode 100644 index 0000000..6c87fd3 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-clzw.hex @@ -0,0 +1,783 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000009300200193 +020003936000971b +0030019326771063 +6000971b00100093 +2477166301f00393 +0030009300400193 +01e003936000971b +0050019322771c63 +fff0809b000200b7 +6000971b00f09093 +20771e6300000393 +008000b700600193 +008003936000971b +0070019320771463 +fff0809b000200b7 +6000971b00f09093 +1e77166300000393 +000080b700800193 +6000971bfff0809b +1c771a6301100393 +800000b700900193 +6000971bfff0809b +1a771e6300100393 +000800b700a00193 +6000971bfff0809b +1a77126300d00393 +0010009b00b00193 +6000971b01f09093 +1877166300000393 +121f50b700c00193 +003003936000971b +00d0019316771c63 +6000971b040000b7 +1677126300500393 +00e0009300e00193 +01c003936000971b +00f0019314771863 +3410809b204010b7 +002003936000971b +0100019312771c63 +6000909b00d00093 +1270926301c00393 +00b0009301100193 +01c003936000909b +0120019310709863 +00d0009300000213 +000703136000971b +0020029300120213 +01c00393fe5216e3 +01d001930e731463 +0130009300000213 +000000136000971b +0012021300070313 +fe5214e300200293 +0a731e6301b00393 +0000021301400193 +6000971b02200093 +0000001300000013 +0012021300070313 +fe5212e300200293 +0873166301a00393 +070f80b701500193 +005003936000971b +0160019306771c63 +6000971b080080b7 +0677126300400393 +180080b701700193 +003003936000971b +0180019304771863 +fff0809b000080b7 +011003936000971b +0190019302771c63 +fff0809b800000b7 +001003936000971b +01a0019302771063 +fff0809b000800b7 +00d003936000971b +0230106300771463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000408 +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001f0 +0000000000000000 +00010000000000c4 +0000000080000204 +0000000000000000 +00010000000000cb +0000000080000220 +0000000000000000 +00010000000000d2 +0000000080000238 +0000000000000000 +00010000000000d9 +0000000080000250 +0000000000000000 +00010000000000e1 +0000000080000268 +0000000000000000 +00010000000000e9 +0000000080000280 +0000000000000000 +00010000000000f1 +0000000080000294 +0000000000000000 +00010000000000f9 +00000000800002a8 +0000000000000000 +0001000000000101 +00000000800002bc +0000000000000000 +0001000000000109 +00000000800002d4 +0000000000000000 +0001000000000111 +00000000800002e8 +0000000000000000 +0001000000000119 +00000000800002fc +0000000000000000 +0001000000000121 +0000000080000324 +0000000000000000 +0001000000000129 +0000000080000350 +0000000000000000 +0001000000000131 +0000000080000380 +0000000000000000 +0001000000000139 +0000000080000394 +0000000000000000 +0001000000000141 +00000000800003a8 +0000000000000000 +0001000000000149 +00000000800003bc +0000000000000000 +0001000000000151 +00000000800003d4 +0000000000000000 +0001000000000159 +00000000800003ec +0000000000000000 +0001000000000161 +0000000080000424 +0000000000000000 +0002001000000166 +0000000080002000 +0000000000000000 +0002001000000174 +0000000080002000 +0000000000000000 +0001001000000184 +0000000080000000 +0000000000000000 +000200100000018b +0000000080002000 +0000000000000000 +0002001000000190 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +71346a4f30636300 +76727824006f2e59 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39325f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000043c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000438 +0000002700000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024d8 +0000000000000199 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002671 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpop.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpop.dump new file mode 100644 index 0000000..67a1226 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpop.dump @@ -0,0 +1,361 @@ + +rv64uzbb-p-cpop: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000093 li ra,0 + 800001a0: 60209713 cpop a4,ra + 800001a4: 00000393 li t2,0 + 800001a8: 28771a63 bne a4,t2,8000043c + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100093 li ra,1 + 800001b4: 60209713 cpop a4,ra + 800001b8: 00100393 li t2,1 + 800001bc: 28771063 bne a4,t2,8000043c + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00300093 li ra,3 + 800001c8: 60209713 cpop a4,ra + 800001cc: 00200393 li t2,2 + 800001d0: 26771663 bne a4,t2,8000043c + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: ffff80b7 lui ra,0xffff8 + 800001dc: 60209713 cpop a4,ra + 800001e0: 03100393 li t2,49 + 800001e4: 24771c63 bne a4,t2,8000043c + +00000000800001e8 : + 800001e8: 00600193 li gp,6 + 800001ec: 008000b7 lui ra,0x800 + 800001f0: 60209713 cpop a4,ra + 800001f4: 00100393 li t2,1 + 800001f8: 24771263 bne a4,t2,8000043c + +00000000800001fc : + 800001fc: 00700193 li gp,7 + 80000200: 0050009b addiw ra,zero,5 + 80000204: 02109093 slli ra,ra,0x21 + 80000208: fff08093 addi ra,ra,-1 # 7fffff <_start-0x7f800001> + 8000020c: 00f09093 slli ra,ra,0xf + 80000210: 60209713 cpop a4,ra + 80000214: 02200393 li t2,34 + 80000218: 22771263 bne a4,t2,8000043c + +000000008000021c : + 8000021c: 00800193 li gp,8 + 80000220: 000080b7 lui ra,0x8 + 80000224: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 80000228: 60209713 cpop a4,ra + 8000022c: 00f00393 li t2,15 + 80000230: 20771663 bne a4,t2,8000043c + +0000000080000234 : + 80000234: 00900193 li gp,9 + 80000238: 800000b7 lui ra,0x80000 + 8000023c: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 80000240: 60209713 cpop a4,ra + 80000244: 01f00393 li t2,31 + 80000248: 1e771a63 bne a4,t2,8000043c + +000000008000024c : + 8000024c: 00a00193 li gp,10 + 80000250: 000800b7 lui ra,0x80 + 80000254: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 80000258: 60209713 cpop a4,ra + 8000025c: 01300393 li t2,19 + 80000260: 1c771e63 bne a4,t2,8000043c + +0000000080000264 : + 80000264: 00b00193 li gp,11 + 80000268: 800000b7 lui ra,0x80000 + 8000026c: 60209713 cpop a4,ra + 80000270: 02100393 li t2,33 + 80000274: 1c771463 bne a4,t2,8000043c + +0000000080000278 : + 80000278: 00c00193 li gp,12 + 8000027c: 7fabc0b7 lui ra,0x7fabc + 80000280: 7890809b addiw ra,ra,1929 # 7fabc789 <_start-0x543877> + 80000284: 00d09093 slli ra,ra,0xd + 80000288: 1f508093 addi ra,ra,501 + 8000028c: 00c09093 slli ra,ra,0xc + 80000290: 60209713 cpop a4,ra + 80000294: 01b00393 li t2,27 + 80000298: 1a771263 bne a4,t2,8000043c + +000000008000029c : + 8000029c: 00d00193 li gp,13 + 800002a0: fff0009b addiw ra,zero,-1 + 800002a4: 03f09093 slli ra,ra,0x3f + 800002a8: 60209713 cpop a4,ra + 800002ac: 00100393 li t2,1 + 800002b0: 18771663 bne a4,t2,8000043c + +00000000800002b4 : + 800002b4: 00e00193 li gp,14 + 800002b8: 00e00093 li ra,14 + 800002bc: 60209713 cpop a4,ra + 800002c0: 00300393 li t2,3 + 800002c4: 16771c63 bne a4,t2,8000043c + +00000000800002c8 : + 800002c8: 00f00193 li gp,15 + 800002cc: ffd0009b addiw ra,zero,-3 + 800002d0: 02009093 slli ra,ra,0x20 + 800002d4: 01908093 addi ra,ra,25 + 800002d8: 01109093 slli ra,ra,0x11 + 800002dc: 40108093 addi ra,ra,1025 + 800002e0: 00c09093 slli ra,ra,0xc + 800002e4: 34108093 addi ra,ra,833 + 800002e8: 60209713 cpop a4,ra + 800002ec: 00b00393 li t2,11 + 800002f0: 14771663 bne a4,t2,8000043c + +00000000800002f4 : + 800002f4: 01000193 li gp,16 + 800002f8: 00d00093 li ra,13 + 800002fc: 60209093 cpop ra,ra + 80000300: 00300393 li t2,3 + 80000304: 12709c63 bne ra,t2,8000043c + +0000000080000308 : + 80000308: 01100193 li gp,17 + 8000030c: 00b00093 li ra,11 + 80000310: 60209093 cpop ra,ra + 80000314: 00300393 li t2,3 + 80000318: 12709263 bne ra,t2,8000043c + +000000008000031c : + 8000031c: 01200193 li gp,18 + 80000320: 00000213 li tp,0 + 80000324: 00d00093 li ra,13 + 80000328: 60209713 cpop a4,ra + 8000032c: 00070313 mv t1,a4 + 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000334: 00200293 li t0,2 + 80000338: fe5216e3 bne tp,t0,80000324 + 8000033c: 00300393 li t2,3 + 80000340: 0e731e63 bne t1,t2,8000043c + +0000000080000344 : + 80000344: 01d00193 li gp,29 + 80000348: 00000213 li tp,0 + 8000034c: 01300093 li ra,19 + 80000350: 60209713 cpop a4,ra + 80000354: 00000013 nop + 80000358: 00070313 mv t1,a4 + 8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000360: 00200293 li t0,2 + 80000364: fe5214e3 bne tp,t0,8000034c + 80000368: 00300393 li t2,3 + 8000036c: 0c731863 bne t1,t2,8000043c + +0000000080000370 : + 80000370: 01400193 li gp,20 + 80000374: 00000213 li tp,0 + 80000378: 02200093 li ra,34 + 8000037c: 60209713 cpop a4,ra + 80000380: 00000013 nop + 80000384: 00000013 nop + 80000388: 00070313 mv t1,a4 + 8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000390: 00200293 li t0,2 + 80000394: fe5212e3 bne tp,t0,80000378 + 80000398: 00200393 li t2,2 + 8000039c: 0a731063 bne t1,t2,8000043c + +00000000800003a0 : + 800003a0: 01500193 li gp,21 + 800003a4: 007f80b7 lui ra,0x7f8 + 800003a8: 60209713 cpop a4,ra + 800003ac: 00800393 li t2,8 + 800003b0: 08771663 bne a4,t2,8000043c + +00000000800003b4 : + 800003b4: 01600193 li gp,22 + 800003b8: 008080b7 lui ra,0x808 + 800003bc: 60209713 cpop a4,ra + 800003c0: 00200393 li t2,2 + 800003c4: 06771c63 bne a4,t2,8000043c + +00000000800003c8 : + 800003c8: 01700193 li gp,23 + 800003cc: 018080b7 lui ra,0x1808 + 800003d0: 60209713 cpop a4,ra + 800003d4: 00300393 li t2,3 + 800003d8: 06771263 bne a4,t2,8000043c + +00000000800003dc : + 800003dc: 01800193 li gp,24 + 800003e0: 000600b7 lui ra,0x60 + 800003e4: 0010809b addiw ra,ra,1 # 60001 <_start-0x7ff9ffff> + 800003e8: 00f09093 slli ra,ra,0xf + 800003ec: fff08093 addi ra,ra,-1 + 800003f0: 60209713 cpop a4,ra + 800003f4: 01100393 li t2,17 + 800003f8: 04771263 bne a4,t2,8000043c + +00000000800003fc : + 800003fc: 01900193 li gp,25 + 80000400: 00f0009b addiw ra,zero,15 + 80000404: 01f09093 slli ra,ra,0x1f + 80000408: fff08093 addi ra,ra,-1 + 8000040c: 60209713 cpop a4,ra + 80000410: 02200393 li t2,34 + 80000414: 02771463 bne a4,t2,8000043c + +0000000080000418 : + 80000418: 01a00193 li gp,26 + 8000041c: 0001e0b7 lui ra,0x1e + 80000420: 0010809b addiw ra,ra,1 # 1e001 <_start-0x7ffe1fff> + 80000424: 01309093 slli ra,ra,0x13 + 80000428: fff08093 addi ra,ra,-1 + 8000042c: 60209713 cpop a4,ra + 80000430: 01700393 li t2,23 + 80000434: 00771463 bne a4,t2,8000043c + 80000438: 02301063 bne zero,gp,80000458 + +000000008000043c : + 8000043c: 0ff0000f fence + 80000440: 00018063 beqz gp,80000440 + 80000444: 00119193 slli gp,gp,0x1 + 80000448: 0011e193 ori gp,gp,1 + 8000044c: 05d00893 li a7,93 + 80000450: 00018513 mv a0,gp + 80000454: 00000073 ecall + +0000000080000458 : + 80000458: 0ff0000f fence + 8000045c: 00100193 li gp,1 + 80000460: 05d00893 li a7,93 + 80000464: 00000513 li a0,0 + 80000468: 00000073 ecall + 8000046c: c0001073 unimp + 80000470: 0000 .insn 2, 0x + 80000472: 0000 .insn 2, 0x + 80000474: 0000 .insn 2, 0x + 80000476: 0000 .insn 2, 0x + 80000478: 0000 .insn 2, 0x + 8000047a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpop.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpop.hex new file mode 100644 index 0000000..33fa1e8 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpop.hex @@ -0,0 +1,783 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000009300200193 +0000039360209713 +0030019328771a63 +6020971300100093 +2877106300100393 +0030009300400193 +0020039360209713 +0050019326771663 +60209713ffff80b7 +24771c6303100393 +008000b700600193 +0010039360209713 +0070019324771263 +021090930050009b +00f09093fff08093 +0220039360209713 +0080019322771263 +fff0809b000080b7 +00f0039360209713 +0090019320771663 +fff0809b800000b7 +01f0039360209713 +00a001931e771a63 +fff0809b000800b7 +0130039360209713 +00b001931c771e63 +60209713800000b7 +1c77146302100393 +7fabc0b700c00193 +00d090937890809b +00c090931f508093 +01b0039360209713 +00d001931a771263 +03f09093fff0009b +0010039360209713 +00e0019318771663 +6020971300e00093 +16771c6300300393 +ffd0009b00f00193 +0190809302009093 +4010809301109093 +3410809300c09093 +00b0039360209713 +0100019314771663 +6020909300d00093 +12709c6300300393 +00b0009301100193 +0030039360209093 +0120019312709263 +00d0009300000213 +0007031360209713 +0020029300120213 +00300393fe5216e3 +01d001930e731e63 +0130009300000213 +0000001360209713 +0012021300070313 +fe5214e300200293 +0c73186300300393 +0000021301400193 +6020971302200093 +0000001300000013 +0012021300070313 +fe5212e300200293 +0a73106300200393 +007f80b701500193 +0080039360209713 +0160019308771663 +60209713008080b7 +06771c6300200393 +018080b701700193 +0030039360209713 +0180019306771263 +0010809b000600b7 +fff0809300f09093 +0110039360209713 +0190019304771263 +01f0909300f0009b +60209713fff08093 +0277146302200393 +0001e0b701a00193 +013090930010809b +60209713fff08093 +0077146301700393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +000000008000043c +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001e8 +0000000000000000 +00010000000000c4 +00000000800001fc +0000000000000000 +00010000000000cb +000000008000021c +0000000000000000 +00010000000000d2 +0000000080000234 +0000000000000000 +00010000000000d9 +000000008000024c +0000000000000000 +00010000000000e1 +0000000080000264 +0000000000000000 +00010000000000e9 +0000000080000278 +0000000000000000 +00010000000000f1 +000000008000029c +0000000000000000 +00010000000000f9 +00000000800002b4 +0000000000000000 +0001000000000101 +00000000800002c8 +0000000000000000 +0001000000000109 +00000000800002f4 +0000000000000000 +0001000000000111 +0000000080000308 +0000000000000000 +0001000000000119 +000000008000031c +0000000000000000 +0001000000000121 +0000000080000344 +0000000000000000 +0001000000000129 +0000000080000370 +0000000000000000 +0001000000000131 +00000000800003a0 +0000000000000000 +0001000000000139 +00000000800003b4 +0000000000000000 +0001000000000141 +00000000800003c8 +0000000000000000 +0001000000000149 +00000000800003dc +0000000000000000 +0001000000000151 +00000000800003fc +0000000000000000 +0001000000000159 +0000000080000418 +0000000000000000 +0001000000000161 +0000000080000458 +0000000000000000 +0002001000000166 +0000000080002000 +0000000000000000 +0002001000000174 +0000000080002000 +0000000000000000 +0001001000000184 +0000000080000000 +0000000000000000 +000200100000018b +0000000080002000 +0000000000000000 +0002001000000190 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +4f414d4d67636300 +76727824006f2e68 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39325f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000047c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000438 +0000002700000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024d8 +0000000000000199 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002671 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpopw.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpopw.dump new file mode 100644 index 0000000..9deff1a --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpopw.dump @@ -0,0 +1,342 @@ + +rv64uzbb-p-cpopw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000093 li ra,0 + 800001a0: 6020971b cpopw a4,ra + 800001a4: 00000393 li t2,0 + 800001a8: 26771063 bne a4,t2,80000408 + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100093 li ra,1 + 800001b4: 6020971b cpopw a4,ra + 800001b8: 00100393 li t2,1 + 800001bc: 24771663 bne a4,t2,80000408 + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00300093 li ra,3 + 800001c8: 6020971b cpopw a4,ra + 800001cc: 00200393 li t2,2 + 800001d0: 22771c63 bne a4,t2,80000408 + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: 000200b7 lui ra,0x20 + 800001dc: fff0809b addiw ra,ra,-1 # 1ffff <_start-0x7ffe0001> + 800001e0: 00f09093 slli ra,ra,0xf + 800001e4: 6020971b cpopw a4,ra + 800001e8: 01100393 li t2,17 + 800001ec: 20771e63 bne a4,t2,80000408 + +00000000800001f0 : + 800001f0: 00600193 li gp,6 + 800001f4: 008000b7 lui ra,0x800 + 800001f8: 6020971b cpopw a4,ra + 800001fc: 00100393 li t2,1 + 80000200: 20771463 bne a4,t2,80000408 + +0000000080000204 : + 80000204: 00700193 li gp,7 + 80000208: 000800b7 lui ra,0x80 + 8000020c: ffb0809b addiw ra,ra,-5 # 7fffb <_start-0x7ff80005> + 80000210: 00d09093 slli ra,ra,0xd + 80000214: 6020971b cpopw a4,ra + 80000218: 01200393 li t2,18 + 8000021c: 1e771663 bne a4,t2,80000408 + +0000000080000220 : + 80000220: 00800193 li gp,8 + 80000224: 000080b7 lui ra,0x8 + 80000228: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 8000022c: 6020971b cpopw a4,ra + 80000230: 00f00393 li t2,15 + 80000234: 1c771a63 bne a4,t2,80000408 + +0000000080000238 : + 80000238: 00900193 li gp,9 + 8000023c: 800000b7 lui ra,0x80000 + 80000240: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 80000244: 6020971b cpopw a4,ra + 80000248: 01f00393 li t2,31 + 8000024c: 1a771e63 bne a4,t2,80000408 + +0000000080000250 : + 80000250: 00a00193 li gp,10 + 80000254: 000800b7 lui ra,0x80 + 80000258: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 8000025c: 6020971b cpopw a4,ra + 80000260: 01300393 li t2,19 + 80000264: 1a771263 bne a4,t2,80000408 + +0000000080000268 : + 80000268: 00b00193 li gp,11 + 8000026c: 0010009b addiw ra,zero,1 + 80000270: 01f09093 slli ra,ra,0x1f + 80000274: 6020971b cpopw a4,ra + 80000278: 00100393 li t2,1 + 8000027c: 18771663 bne a4,t2,80000408 + +0000000080000280 : + 80000280: 00c00193 li gp,12 + 80000284: 121f50b7 lui ra,0x121f5 + 80000288: 6020971b cpopw a4,ra + 8000028c: 00900393 li t2,9 + 80000290: 16771c63 bne a4,t2,80000408 + +0000000080000294 : + 80000294: 00d00193 li gp,13 + 80000298: 00000093 li ra,0 + 8000029c: 6020971b cpopw a4,ra + 800002a0: 00000393 li t2,0 + 800002a4: 16771263 bne a4,t2,80000408 + +00000000800002a8 : + 800002a8: 00e00193 li gp,14 + 800002ac: 00e00093 li ra,14 + 800002b0: 6020971b cpopw a4,ra + 800002b4: 00300393 li t2,3 + 800002b8: 14771863 bne a4,t2,80000408 + +00000000800002bc : + 800002bc: 00f00193 li gp,15 + 800002c0: 204010b7 lui ra,0x20401 + 800002c4: 3410809b addiw ra,ra,833 # 20401341 <_start-0x5fbfecbf> + 800002c8: 6020971b cpopw a4,ra + 800002cc: 00700393 li t2,7 + 800002d0: 12771c63 bne a4,t2,80000408 + +00000000800002d4 : + 800002d4: 01000193 li gp,16 + 800002d8: 00d00093 li ra,13 + 800002dc: 6020909b cpopw ra,ra + 800002e0: 00300393 li t2,3 + 800002e4: 12709263 bne ra,t2,80000408 + +00000000800002e8 : + 800002e8: 01100193 li gp,17 + 800002ec: 00b00093 li ra,11 + 800002f0: 6020909b cpopw ra,ra + 800002f4: 00300393 li t2,3 + 800002f8: 10709863 bne ra,t2,80000408 + +00000000800002fc : + 800002fc: 01200193 li gp,18 + 80000300: 00000213 li tp,0 + 80000304: 00d00093 li ra,13 + 80000308: 6020971b cpopw a4,ra + 8000030c: 00070313 mv t1,a4 + 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000314: 00200293 li t0,2 + 80000318: fe5216e3 bne tp,t0,80000304 + 8000031c: 00300393 li t2,3 + 80000320: 0e731463 bne t1,t2,80000408 + +0000000080000324 : + 80000324: 01d00193 li gp,29 + 80000328: 00000213 li tp,0 + 8000032c: 01300093 li ra,19 + 80000330: 6020971b cpopw a4,ra + 80000334: 00000013 nop + 80000338: 00070313 mv t1,a4 + 8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000340: 00200293 li t0,2 + 80000344: fe5214e3 bne tp,t0,8000032c + 80000348: 00300393 li t2,3 + 8000034c: 0a731e63 bne t1,t2,80000408 + +0000000080000350 : + 80000350: 01400193 li gp,20 + 80000354: 00000213 li tp,0 + 80000358: 02200093 li ra,34 + 8000035c: 6020971b cpopw a4,ra + 80000360: 00000013 nop + 80000364: 00000013 nop + 80000368: 00070313 mv t1,a4 + 8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000370: 00200293 li t0,2 + 80000374: fe5212e3 bne tp,t0,80000358 + 80000378: 00200393 li t2,2 + 8000037c: 08731663 bne t1,t2,80000408 + +0000000080000380 : + 80000380: 01500193 li gp,21 + 80000384: 007f80b7 lui ra,0x7f8 + 80000388: 6020971b cpopw a4,ra + 8000038c: 00800393 li t2,8 + 80000390: 06771c63 bne a4,t2,80000408 + +0000000080000394 : + 80000394: 01600193 li gp,22 + 80000398: 008080b7 lui ra,0x808 + 8000039c: 6020971b cpopw a4,ra + 800003a0: 00200393 li t2,2 + 800003a4: 06771263 bne a4,t2,80000408 + +00000000800003a8 : + 800003a8: 01700193 li gp,23 + 800003ac: 018080b7 lui ra,0x1808 + 800003b0: 6020971b cpopw a4,ra + 800003b4: 00300393 li t2,3 + 800003b8: 04771863 bne a4,t2,80000408 + +00000000800003bc : + 800003bc: 01800193 li gp,24 + 800003c0: 300080b7 lui ra,0x30008 + 800003c4: fff0809b addiw ra,ra,-1 # 30007fff <_start-0x4fff8001> + 800003c8: 6020971b cpopw a4,ra + 800003cc: 01100393 li t2,17 + 800003d0: 02771c63 bne a4,t2,80000408 + +00000000800003d4 : + 800003d4: 01900193 li gp,25 + 800003d8: 780000b7 lui ra,0x78000 + 800003dc: fff0809b addiw ra,ra,-1 # 77ffffff <_start-0x8000001> + 800003e0: 6020971b cpopw a4,ra + 800003e4: 01e00393 li t2,30 + 800003e8: 02771063 bne a4,t2,80000408 + +00000000800003ec : + 800003ec: 01a00193 li gp,26 + 800003f0: 000800b7 lui ra,0x80 + 800003f4: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 800003f8: 6020971b cpopw a4,ra + 800003fc: 01300393 li t2,19 + 80000400: 00771463 bne a4,t2,80000408 + 80000404: 02301063 bne zero,gp,80000424 + +0000000080000408 : + 80000408: 0ff0000f fence + 8000040c: 00018063 beqz gp,8000040c + 80000410: 00119193 slli gp,gp,0x1 + 80000414: 0011e193 ori gp,gp,1 + 80000418: 05d00893 li a7,93 + 8000041c: 00018513 mv a0,gp + 80000420: 00000073 ecall + +0000000080000424 : + 80000424: 0ff0000f fence + 80000428: 00100193 li gp,1 + 8000042c: 05d00893 li a7,93 + 80000430: 00000513 li a0,0 + 80000434: 00000073 ecall + 80000438: c0001073 unimp diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpopw.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpopw.hex new file mode 100644 index 0000000..41cd29c --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-cpopw.hex @@ -0,0 +1,783 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000009300200193 +000003936020971b +0030019326771063 +6020971b00100093 +2477166300100393 +0030009300400193 +002003936020971b +0050019322771c63 +fff0809b000200b7 +6020971b00f09093 +20771e6301100393 +008000b700600193 +001003936020971b +0070019320771463 +ffb0809b000800b7 +6020971b00d09093 +1e77166301200393 +000080b700800193 +6020971bfff0809b +1c771a6300f00393 +800000b700900193 +6020971bfff0809b +1a771e6301f00393 +000800b700a00193 +6020971bfff0809b +1a77126301300393 +0010009b00b00193 +6020971b01f09093 +1877166300100393 +121f50b700c00193 +009003936020971b +00d0019316771c63 +6020971b00000093 +1677126300000393 +00e0009300e00193 +003003936020971b +00f0019314771863 +3410809b204010b7 +007003936020971b +0100019312771c63 +6020909b00d00093 +1270926300300393 +00b0009301100193 +003003936020909b +0120019310709863 +00d0009300000213 +000703136020971b +0020029300120213 +00300393fe5216e3 +01d001930e731463 +0130009300000213 +000000136020971b +0012021300070313 +fe5214e300200293 +0a731e6300300393 +0000021301400193 +6020971b02200093 +0000001300000013 +0012021300070313 +fe5212e300200293 +0873166300200393 +007f80b701500193 +008003936020971b +0160019306771c63 +6020971b008080b7 +0677126300200393 +018080b701700193 +003003936020971b +0180019304771863 +fff0809b300080b7 +011003936020971b +0190019302771c63 +fff0809b780000b7 +01e003936020971b +01a0019302771063 +fff0809b000800b7 +013003936020971b +0230106300771463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000408 +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001f0 +0000000000000000 +00010000000000c4 +0000000080000204 +0000000000000000 +00010000000000cb +0000000080000220 +0000000000000000 +00010000000000d2 +0000000080000238 +0000000000000000 +00010000000000d9 +0000000080000250 +0000000000000000 +00010000000000e1 +0000000080000268 +0000000000000000 +00010000000000e9 +0000000080000280 +0000000000000000 +00010000000000f1 +0000000080000294 +0000000000000000 +00010000000000f9 +00000000800002a8 +0000000000000000 +0001000000000101 +00000000800002bc +0000000000000000 +0001000000000109 +00000000800002d4 +0000000000000000 +0001000000000111 +00000000800002e8 +0000000000000000 +0001000000000119 +00000000800002fc +0000000000000000 +0001000000000121 +0000000080000324 +0000000000000000 +0001000000000129 +0000000080000350 +0000000000000000 +0001000000000131 +0000000080000380 +0000000000000000 +0001000000000139 +0000000080000394 +0000000000000000 +0001000000000141 +00000000800003a8 +0000000000000000 +0001000000000149 +00000000800003bc +0000000000000000 +0001000000000151 +00000000800003d4 +0000000000000000 +0001000000000159 +00000000800003ec +0000000000000000 +0001000000000161 +0000000080000424 +0000000000000000 +0002001000000166 +0000000080002000 +0000000000000000 +0002001000000174 +0000000080002000 +0000000000000000 +0001001000000184 +0000000080000000 +0000000000000000 +000200100000018b +0000000080002000 +0000000000000000 +0002001000000190 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +684f733751636300 +76727824006f2e37 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39325f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000043c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000438 +0000002700000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024d8 +0000000000000199 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002671 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctz.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctz.dump new file mode 100644 index 0000000..f0472f5 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctz.dump @@ -0,0 +1,361 @@ + +rv64uzbb-p-ctz: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000093 li ra,0 + 800001a0: 60109713 ctz a4,ra + 800001a4: 04000393 li t2,64 + 800001a8: 28771a63 bne a4,t2,8000043c + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100093 li ra,1 + 800001b4: 60109713 ctz a4,ra + 800001b8: 00000393 li t2,0 + 800001bc: 28771063 bne a4,t2,8000043c + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00300093 li ra,3 + 800001c8: 60109713 ctz a4,ra + 800001cc: 00000393 li t2,0 + 800001d0: 26771663 bne a4,t2,8000043c + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: ffff80b7 lui ra,0xffff8 + 800001dc: 60109713 ctz a4,ra + 800001e0: 00f00393 li t2,15 + 800001e4: 24771c63 bne a4,t2,8000043c + +00000000800001e8 : + 800001e8: 00600193 li gp,6 + 800001ec: 008000b7 lui ra,0x800 + 800001f0: 60109713 ctz a4,ra + 800001f4: 01700393 li t2,23 + 800001f8: 24771263 bne a4,t2,8000043c + +00000000800001fc : + 800001fc: 00700193 li gp,7 + 80000200: 0050009b addiw ra,zero,5 + 80000204: 02109093 slli ra,ra,0x21 + 80000208: fff08093 addi ra,ra,-1 # 7fffff <_start-0x7f800001> + 8000020c: 00f09093 slli ra,ra,0xf + 80000210: 60109713 ctz a4,ra + 80000214: 00f00393 li t2,15 + 80000218: 22771263 bne a4,t2,8000043c + +000000008000021c : + 8000021c: 00800193 li gp,8 + 80000220: 000080b7 lui ra,0x8 + 80000224: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 80000228: 60109713 ctz a4,ra + 8000022c: 00000393 li t2,0 + 80000230: 20771663 bne a4,t2,8000043c + +0000000080000234 : + 80000234: 00900193 li gp,9 + 80000238: 800000b7 lui ra,0x80000 + 8000023c: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 80000240: 60109713 ctz a4,ra + 80000244: 00000393 li t2,0 + 80000248: 1e771a63 bne a4,t2,8000043c + +000000008000024c : + 8000024c: 00a00193 li gp,10 + 80000250: 000800b7 lui ra,0x80 + 80000254: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 80000258: 60109713 ctz a4,ra + 8000025c: 00000393 li t2,0 + 80000260: 1c771e63 bne a4,t2,8000043c + +0000000080000264 : + 80000264: 00b00193 li gp,11 + 80000268: 800000b7 lui ra,0x80000 + 8000026c: 60109713 ctz a4,ra + 80000270: 01f00393 li t2,31 + 80000274: 1c771463 bne a4,t2,8000043c + +0000000080000278 : + 80000278: 00c00193 li gp,12 + 8000027c: 7fabc0b7 lui ra,0x7fabc + 80000280: 7890809b addiw ra,ra,1929 # 7fabc789 <_start-0x543877> + 80000284: 00d09093 slli ra,ra,0xd + 80000288: 1f508093 addi ra,ra,501 + 8000028c: 00c09093 slli ra,ra,0xc + 80000290: 60109713 ctz a4,ra + 80000294: 00c00393 li t2,12 + 80000298: 1a771263 bne a4,t2,8000043c + +000000008000029c : + 8000029c: 00d00193 li gp,13 + 800002a0: fff0009b addiw ra,zero,-1 + 800002a4: 03f09093 slli ra,ra,0x3f + 800002a8: 60109713 ctz a4,ra + 800002ac: 03f00393 li t2,63 + 800002b0: 18771663 bne a4,t2,8000043c + +00000000800002b4 : + 800002b4: 00e00193 li gp,14 + 800002b8: 00e00093 li ra,14 + 800002bc: 60109713 ctz a4,ra + 800002c0: 00100393 li t2,1 + 800002c4: 16771c63 bne a4,t2,8000043c + +00000000800002c8 : + 800002c8: 00f00193 li gp,15 + 800002cc: ffd0009b addiw ra,zero,-3 + 800002d0: 02009093 slli ra,ra,0x20 + 800002d4: 01908093 addi ra,ra,25 + 800002d8: 01109093 slli ra,ra,0x11 + 800002dc: 40108093 addi ra,ra,1025 + 800002e0: 00c09093 slli ra,ra,0xc + 800002e4: 34108093 addi ra,ra,833 + 800002e8: 60109713 ctz a4,ra + 800002ec: 00000393 li t2,0 + 800002f0: 14771663 bne a4,t2,8000043c + +00000000800002f4 : + 800002f4: 01000193 li gp,16 + 800002f8: 00d00093 li ra,13 + 800002fc: 60109093 ctz ra,ra + 80000300: 00000393 li t2,0 + 80000304: 12709c63 bne ra,t2,8000043c + +0000000080000308 : + 80000308: 01100193 li gp,17 + 8000030c: 00b00093 li ra,11 + 80000310: 60109093 ctz ra,ra + 80000314: 00000393 li t2,0 + 80000318: 12709263 bne ra,t2,8000043c + +000000008000031c : + 8000031c: 01200193 li gp,18 + 80000320: 00000213 li tp,0 + 80000324: 00d00093 li ra,13 + 80000328: 60109713 ctz a4,ra + 8000032c: 00070313 mv t1,a4 + 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000334: 00200293 li t0,2 + 80000338: fe5216e3 bne tp,t0,80000324 + 8000033c: 00000393 li t2,0 + 80000340: 0e731e63 bne t1,t2,8000043c + +0000000080000344 : + 80000344: 01d00193 li gp,29 + 80000348: 00000213 li tp,0 + 8000034c: 01300093 li ra,19 + 80000350: 60109713 ctz a4,ra + 80000354: 00000013 nop + 80000358: 00070313 mv t1,a4 + 8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000360: 00200293 li t0,2 + 80000364: fe5214e3 bne tp,t0,8000034c + 80000368: 00000393 li t2,0 + 8000036c: 0c731863 bne t1,t2,8000043c + +0000000080000370 : + 80000370: 01400193 li gp,20 + 80000374: 00000213 li tp,0 + 80000378: 02200093 li ra,34 + 8000037c: 60109713 ctz a4,ra + 80000380: 00000013 nop + 80000384: 00000013 nop + 80000388: 00070313 mv t1,a4 + 8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000390: 00200293 li t0,2 + 80000394: fe5212e3 bne tp,t0,80000378 + 80000398: 00100393 li t2,1 + 8000039c: 0a731063 bne t1,t2,8000043c + +00000000800003a0 : + 800003a0: 01500193 li gp,21 + 800003a4: 007f80b7 lui ra,0x7f8 + 800003a8: 60109713 ctz a4,ra + 800003ac: 00f00393 li t2,15 + 800003b0: 08771663 bne a4,t2,8000043c + +00000000800003b4 : + 800003b4: 01600193 li gp,22 + 800003b8: 008080b7 lui ra,0x808 + 800003bc: 60109713 ctz a4,ra + 800003c0: 00f00393 li t2,15 + 800003c4: 06771c63 bne a4,t2,8000043c + +00000000800003c8 : + 800003c8: 01700193 li gp,23 + 800003cc: 018090b7 lui ra,0x1809 + 800003d0: 60109713 ctz a4,ra + 800003d4: 00c00393 li t2,12 + 800003d8: 06771263 bne a4,t2,8000043c + +00000000800003dc : + 800003dc: 01800193 li gp,24 + 800003e0: 000600b7 lui ra,0x60 + 800003e4: 0010809b addiw ra,ra,1 # 60001 <_start-0x7ff9ffff> + 800003e8: 00f09093 slli ra,ra,0xf + 800003ec: fff08093 addi ra,ra,-1 + 800003f0: 60109713 ctz a4,ra + 800003f4: 00000393 li t2,0 + 800003f8: 04771263 bne a4,t2,8000043c + +00000000800003fc : + 800003fc: 01900193 li gp,25 + 80000400: 00f0009b addiw ra,zero,15 + 80000404: 01f09093 slli ra,ra,0x1f + 80000408: fff08093 addi ra,ra,-1 + 8000040c: 60109713 ctz a4,ra + 80000410: 00000393 li t2,0 + 80000414: 02771463 bne a4,t2,8000043c + +0000000080000418 : + 80000418: 01a00193 li gp,26 + 8000041c: 0001e0b7 lui ra,0x1e + 80000420: 0010809b addiw ra,ra,1 # 1e001 <_start-0x7ffe1fff> + 80000424: 01309093 slli ra,ra,0x13 + 80000428: fff08093 addi ra,ra,-1 + 8000042c: 60109713 ctz a4,ra + 80000430: 00000393 li t2,0 + 80000434: 00771463 bne a4,t2,8000043c + 80000438: 02301063 bne zero,gp,80000458 + +000000008000043c : + 8000043c: 0ff0000f fence + 80000440: 00018063 beqz gp,80000440 + 80000444: 00119193 slli gp,gp,0x1 + 80000448: 0011e193 ori gp,gp,1 + 8000044c: 05d00893 li a7,93 + 80000450: 00018513 mv a0,gp + 80000454: 00000073 ecall + +0000000080000458 : + 80000458: 0ff0000f fence + 8000045c: 00100193 li gp,1 + 80000460: 05d00893 li a7,93 + 80000464: 00000513 li a0,0 + 80000468: 00000073 ecall + 8000046c: c0001073 unimp + 80000470: 0000 .insn 2, 0x + 80000472: 0000 .insn 2, 0x + 80000474: 0000 .insn 2, 0x + 80000476: 0000 .insn 2, 0x + 80000478: 0000 .insn 2, 0x + 8000047a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctz.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctz.hex new file mode 100644 index 0000000..d3488d9 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctz.hex @@ -0,0 +1,783 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000009300200193 +0400039360109713 +0030019328771a63 +6010971300100093 +2877106300000393 +0030009300400193 +0000039360109713 +0050019326771663 +60109713ffff80b7 +24771c6300f00393 +008000b700600193 +0170039360109713 +0070019324771263 +021090930050009b +00f09093fff08093 +00f0039360109713 +0080019322771263 +fff0809b000080b7 +0000039360109713 +0090019320771663 +fff0809b800000b7 +0000039360109713 +00a001931e771a63 +fff0809b000800b7 +0000039360109713 +00b001931c771e63 +60109713800000b7 +1c77146301f00393 +7fabc0b700c00193 +00d090937890809b +00c090931f508093 +00c0039360109713 +00d001931a771263 +03f09093fff0009b +03f0039360109713 +00e0019318771663 +6010971300e00093 +16771c6300100393 +ffd0009b00f00193 +0190809302009093 +4010809301109093 +3410809300c09093 +0000039360109713 +0100019314771663 +6010909300d00093 +12709c6300000393 +00b0009301100193 +0000039360109093 +0120019312709263 +00d0009300000213 +0007031360109713 +0020029300120213 +00000393fe5216e3 +01d001930e731e63 +0130009300000213 +0000001360109713 +0012021300070313 +fe5214e300200293 +0c73186300000393 +0000021301400193 +6010971302200093 +0000001300000013 +0012021300070313 +fe5212e300200293 +0a73106300100393 +007f80b701500193 +00f0039360109713 +0160019308771663 +60109713008080b7 +06771c6300f00393 +018090b701700193 +00c0039360109713 +0180019306771263 +0010809b000600b7 +fff0809300f09093 +0000039360109713 +0190019304771263 +01f0909300f0009b +60109713fff08093 +0277146300000393 +0001e0b701a00193 +013090930010809b +60109713fff08093 +0077146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +000000008000043c +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001e8 +0000000000000000 +00010000000000c4 +00000000800001fc +0000000000000000 +00010000000000cb +000000008000021c +0000000000000000 +00010000000000d2 +0000000080000234 +0000000000000000 +00010000000000d9 +000000008000024c +0000000000000000 +00010000000000e1 +0000000080000264 +0000000000000000 +00010000000000e9 +0000000080000278 +0000000000000000 +00010000000000f1 +000000008000029c +0000000000000000 +00010000000000f9 +00000000800002b4 +0000000000000000 +0001000000000101 +00000000800002c8 +0000000000000000 +0001000000000109 +00000000800002f4 +0000000000000000 +0001000000000111 +0000000080000308 +0000000000000000 +0001000000000119 +000000008000031c +0000000000000000 +0001000000000121 +0000000080000344 +0000000000000000 +0001000000000129 +0000000080000370 +0000000000000000 +0001000000000131 +00000000800003a0 +0000000000000000 +0001000000000139 +00000000800003b4 +0000000000000000 +0001000000000141 +00000000800003c8 +0000000000000000 +0001000000000149 +00000000800003dc +0000000000000000 +0001000000000151 +00000000800003fc +0000000000000000 +0001000000000159 +0000000080000418 +0000000000000000 +0001000000000161 +0000000080000458 +0000000000000000 +0002001000000166 +0000000080002000 +0000000000000000 +0002001000000174 +0000000080002000 +0000000000000000 +0001001000000184 +0000000080000000 +0000000000000000 +000200100000018b +0000000080002000 +0000000000000000 +0002001000000190 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +44524c7675636300 +76727824006f2e48 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39325f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000047c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000438 +0000002700000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024d8 +0000000000000199 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002671 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctzw.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctzw.dump new file mode 100644 index 0000000..6078f1e --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctzw.dump @@ -0,0 +1,373 @@ + +rv64uzbb-p-ctzw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000093 li ra,0 + 800001a0: 6010971b ctzw a4,ra + 800001a4: 02000393 li t2,32 + 800001a8: 26771263 bne a4,t2,8000040c + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100093 li ra,1 + 800001b4: 6010971b ctzw a4,ra + 800001b8: 00000393 li t2,0 + 800001bc: 24771863 bne a4,t2,8000040c + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00300093 li ra,3 + 800001c8: 6010971b ctzw a4,ra + 800001cc: 00000393 li t2,0 + 800001d0: 22771e63 bne a4,t2,8000040c + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: 000200b7 lui ra,0x20 + 800001dc: fff0809b addiw ra,ra,-1 # 1ffff <_start-0x7ffe0001> + 800001e0: 00f09093 slli ra,ra,0xf + 800001e4: 6010971b ctzw a4,ra + 800001e8: 00f00393 li t2,15 + 800001ec: 22771063 bne a4,t2,8000040c + +00000000800001f0 : + 800001f0: 00600193 li gp,6 + 800001f4: 008000b7 lui ra,0x800 + 800001f8: 6010971b ctzw a4,ra + 800001fc: 01700393 li t2,23 + 80000200: 20771663 bne a4,t2,8000040c + +0000000080000204 : + 80000204: 00700193 li gp,7 + 80000208: 000200b7 lui ra,0x20 + 8000020c: fff0809b addiw ra,ra,-1 # 1ffff <_start-0x7ffe0001> + 80000210: 00f09093 slli ra,ra,0xf + 80000214: 6010971b ctzw a4,ra + 80000218: 00f00393 li t2,15 + 8000021c: 1e771863 bne a4,t2,8000040c + +0000000080000220 : + 80000220: 00800193 li gp,8 + 80000224: 000080b7 lui ra,0x8 + 80000228: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 8000022c: 6010971b ctzw a4,ra + 80000230: 00000393 li t2,0 + 80000234: 1c771c63 bne a4,t2,8000040c + +0000000080000238 : + 80000238: 00900193 li gp,9 + 8000023c: 800000b7 lui ra,0x80000 + 80000240: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 80000244: 6010971b ctzw a4,ra + 80000248: 00000393 li t2,0 + 8000024c: 1c771063 bne a4,t2,8000040c + +0000000080000250 : + 80000250: 00a00193 li gp,10 + 80000254: 000800b7 lui ra,0x80 + 80000258: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 8000025c: 6010971b ctzw a4,ra + 80000260: 00000393 li t2,0 + 80000264: 1a771463 bne a4,t2,8000040c + +0000000080000268 : + 80000268: 00b00193 li gp,11 + 8000026c: 0010009b addiw ra,zero,1 + 80000270: 01f09093 slli ra,ra,0x1f + 80000274: 6010971b ctzw a4,ra + 80000278: 01f00393 li t2,31 + 8000027c: 18771863 bne a4,t2,8000040c + +0000000080000280 : + 80000280: 00c00193 li gp,12 + 80000284: 121f50b7 lui ra,0x121f5 + 80000288: 6010971b ctzw a4,ra + 8000028c: 00c00393 li t2,12 + 80000290: 16771e63 bne a4,t2,8000040c + +0000000080000294 : + 80000294: 00d00193 li gp,13 + 80000298: 0030009b addiw ra,zero,3 + 8000029c: 01e09093 slli ra,ra,0x1e + 800002a0: 6010971b ctzw a4,ra + 800002a4: 01e00393 li t2,30 + 800002a8: 16771263 bne a4,t2,8000040c + +00000000800002ac : + 800002ac: 00e00193 li gp,14 + 800002b0: 00e00093 li ra,14 + 800002b4: 6010971b ctzw a4,ra + 800002b8: 00100393 li t2,1 + 800002bc: 14771863 bne a4,t2,8000040c + +00000000800002c0 : + 800002c0: 00f00193 li gp,15 + 800002c4: 204010b7 lui ra,0x20401 + 800002c8: 3410809b addiw ra,ra,833 # 20401341 <_start-0x5fbfecbf> + 800002cc: 6010971b ctzw a4,ra + 800002d0: 00000393 li t2,0 + 800002d4: 12771c63 bne a4,t2,8000040c + +00000000800002d8 : + 800002d8: 01000193 li gp,16 + 800002dc: 00d00093 li ra,13 + 800002e0: 6010909b ctzw ra,ra + 800002e4: 00000393 li t2,0 + 800002e8: 12709263 bne ra,t2,8000040c + +00000000800002ec : + 800002ec: 01100193 li gp,17 + 800002f0: 00b00093 li ra,11 + 800002f4: 6010909b ctzw ra,ra + 800002f8: 00000393 li t2,0 + 800002fc: 10709863 bne ra,t2,8000040c + +0000000080000300 : + 80000300: 01200193 li gp,18 + 80000304: 00000213 li tp,0 + 80000308: 00d00093 li ra,13 + 8000030c: 6010971b ctzw a4,ra + 80000310: 00070313 mv t1,a4 + 80000314: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000318: 00200293 li t0,2 + 8000031c: fe5216e3 bne tp,t0,80000308 + 80000320: 00000393 li t2,0 + 80000324: 0e731463 bne t1,t2,8000040c + +0000000080000328 : + 80000328: 01d00193 li gp,29 + 8000032c: 00000213 li tp,0 + 80000330: 01300093 li ra,19 + 80000334: 6010971b ctzw a4,ra + 80000338: 00000013 nop + 8000033c: 00070313 mv t1,a4 + 80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000344: 00200293 li t0,2 + 80000348: fe5214e3 bne tp,t0,80000330 + 8000034c: 00000393 li t2,0 + 80000350: 0a731e63 bne t1,t2,8000040c + +0000000080000354 : + 80000354: 01400193 li gp,20 + 80000358: 00000213 li tp,0 + 8000035c: 02200093 li ra,34 + 80000360: 6010971b ctzw a4,ra + 80000364: 00000013 nop + 80000368: 00000013 nop + 8000036c: 00070313 mv t1,a4 + 80000370: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000374: 00200293 li t0,2 + 80000378: fe5212e3 bne tp,t0,8000035c + 8000037c: 00100393 li t2,1 + 80000380: 08731663 bne t1,t2,8000040c + +0000000080000384 : + 80000384: 01500193 li gp,21 + 80000388: 007f80b7 lui ra,0x7f8 + 8000038c: 6010971b ctzw a4,ra + 80000390: 00f00393 li t2,15 + 80000394: 06771c63 bne a4,t2,8000040c + +0000000080000398 : + 80000398: 01600193 li gp,22 + 8000039c: 008080b7 lui ra,0x808 + 800003a0: 6010971b ctzw a4,ra + 800003a4: 00f00393 li t2,15 + 800003a8: 06771263 bne a4,t2,8000040c + +00000000800003ac : + 800003ac: 01700193 li gp,23 + 800003b0: 018090b7 lui ra,0x1809 + 800003b4: 6010971b ctzw a4,ra + 800003b8: 00c00393 li t2,12 + 800003bc: 04771863 bne a4,t2,8000040c + +00000000800003c0 : + 800003c0: 01800193 li gp,24 + 800003c4: 000080b7 lui ra,0x8 + 800003c8: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 800003cc: 6010971b ctzw a4,ra + 800003d0: 00000393 li t2,0 + 800003d4: 02771c63 bne a4,t2,8000040c + +00000000800003d8 : + 800003d8: 01900193 li gp,25 + 800003dc: 800000b7 lui ra,0x80000 + 800003e0: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 800003e4: 6010971b ctzw a4,ra + 800003e8: 00000393 li t2,0 + 800003ec: 02771063 bne a4,t2,8000040c + +00000000800003f0 : + 800003f0: 01a00193 li gp,26 + 800003f4: 000800b7 lui ra,0x80 + 800003f8: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 800003fc: 6010971b ctzw a4,ra + 80000400: 00000393 li t2,0 + 80000404: 00771463 bne a4,t2,8000040c + 80000408: 02301063 bne zero,gp,80000428 + +000000008000040c : + 8000040c: 0ff0000f fence + 80000410: 00018063 beqz gp,80000410 + 80000414: 00119193 slli gp,gp,0x1 + 80000418: 0011e193 ori gp,gp,1 + 8000041c: 05d00893 li a7,93 + 80000420: 00018513 mv a0,gp + 80000424: 00000073 ecall + +0000000080000428 : + 80000428: 0ff0000f fence + 8000042c: 00100193 li gp,1 + 80000430: 05d00893 li a7,93 + 80000434: 00000513 li a0,0 + 80000438: 00000073 ecall + 8000043c: c0001073 unimp + 80000440: 0000 .insn 2, 0x + 80000442: 0000 .insn 2, 0x + 80000444: 0000 .insn 2, 0x + 80000446: 0000 .insn 2, 0x + 80000448: 0000 .insn 2, 0x + 8000044a: 0000 .insn 2, 0x + 8000044c: 0000 .insn 2, 0x + 8000044e: 0000 .insn 2, 0x + 80000450: 0000 .insn 2, 0x + 80000452: 0000 .insn 2, 0x + 80000454: 0000 .insn 2, 0x + 80000456: 0000 .insn 2, 0x + 80000458: 0000 .insn 2, 0x + 8000045a: 0000 .insn 2, 0x + 8000045c: 0000 .insn 2, 0x + 8000045e: 0000 .insn 2, 0x + 80000460: 0000 .insn 2, 0x + 80000462: 0000 .insn 2, 0x + 80000464: 0000 .insn 2, 0x + 80000466: 0000 .insn 2, 0x + 80000468: 0000 .insn 2, 0x + 8000046a: 0000 .insn 2, 0x + 8000046c: 0000 .insn 2, 0x + 8000046e: 0000 .insn 2, 0x + 80000470: 0000 .insn 2, 0x + 80000472: 0000 .insn 2, 0x + 80000474: 0000 .insn 2, 0x + 80000476: 0000 .insn 2, 0x + 80000478: 0000 .insn 2, 0x + 8000047a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctzw.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctzw.hex new file mode 100644 index 0000000..6a39b45 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ctzw.hex @@ -0,0 +1,783 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000009300200193 +020003936010971b +0030019326771263 +6010971b00100093 +2477186300000393 +0030009300400193 +000003936010971b +0050019322771e63 +fff0809b000200b7 +6010971b00f09093 +2277106300f00393 +008000b700600193 +017003936010971b +0070019320771663 +fff0809b000200b7 +6010971b00f09093 +1e77186300f00393 +000080b700800193 +6010971bfff0809b +1c771c6300000393 +800000b700900193 +6010971bfff0809b +1c77106300000393 +000800b700a00193 +6010971bfff0809b +1a77146300000393 +0010009b00b00193 +6010971b01f09093 +1877186301f00393 +121f50b700c00193 +00c003936010971b +00d0019316771e63 +01e090930030009b +01e003936010971b +00e0019316771263 +6010971b00e00093 +1477186300100393 +204010b700f00193 +6010971b3410809b +12771c6300000393 +00d0009301000193 +000003936010909b +0110019312709263 +6010909b00b00093 +1070986300000393 +0000021301200193 +6010971b00d00093 +0012021300070313 +fe5216e300200293 +0e73146300000393 +0000021301d00193 +6010971b01300093 +0007031300000013 +0020029300120213 +00000393fe5214e3 +014001930a731e63 +0220009300000213 +000000136010971b +0007031300000013 +0020029300120213 +00100393fe5212e3 +0150019308731663 +6010971b007f80b7 +06771c6300f00393 +008080b701600193 +00f003936010971b +0170019306771263 +6010971b018090b7 +0477186300c00393 +000080b701800193 +6010971bfff0809b +02771c6300000393 +800000b701900193 +6010971bfff0809b +0277106300000393 +000800b701a00193 +6010971bfff0809b +0077146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +000000008000040c +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001f0 +0000000000000000 +00010000000000c4 +0000000080000204 +0000000000000000 +00010000000000cb +0000000080000220 +0000000000000000 +00010000000000d2 +0000000080000238 +0000000000000000 +00010000000000d9 +0000000080000250 +0000000000000000 +00010000000000e1 +0000000080000268 +0000000000000000 +00010000000000e9 +0000000080000280 +0000000000000000 +00010000000000f1 +0000000080000294 +0000000000000000 +00010000000000f9 +00000000800002ac +0000000000000000 +0001000000000101 +00000000800002c0 +0000000000000000 +0001000000000109 +00000000800002d8 +0000000000000000 +0001000000000111 +00000000800002ec +0000000000000000 +0001000000000119 +0000000080000300 +0000000000000000 +0001000000000121 +0000000080000328 +0000000000000000 +0001000000000129 +0000000080000354 +0000000000000000 +0001000000000131 +0000000080000384 +0000000000000000 +0001000000000139 +0000000080000398 +0000000000000000 +0001000000000141 +00000000800003ac +0000000000000000 +0001000000000149 +00000000800003c0 +0000000000000000 +0001000000000151 +00000000800003d8 +0000000000000000 +0001000000000159 +00000000800003f0 +0000000000000000 +0001000000000161 +0000000080000428 +0000000000000000 +0002001000000166 +0000000080002000 +0000000000000000 +0002001000000174 +0000000080002000 +0000000000000000 +0001001000000184 +0000000080000000 +0000000000000000 +000200100000018b +0000000080002000 +0000000000000000 +0002001000000190 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +7573714247636300 +76727824006f2e71 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39325f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000047c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000438 +0000002700000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024d8 +0000000000000199 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002671 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-max.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-max.dump new file mode 100644 index 0000000..a8a2fbd --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-max.dump @@ -0,0 +1,531 @@ + +rv64uzbb-p-max: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000593 li a1,0 + 800001a0: 00000613 li a2,0 + 800001a4: 0ac5e733 max a4,a1,a2 + 800001a8: 00000393 li t2,0 + 800001ac: 4c771463 bne a4,t2,80000674 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 0ac5e733 max a4,a1,a2 + 800001c0: 00100393 li t2,1 + 800001c4: 4a771863 bne a4,t2,80000674 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00300593 li a1,3 + 800001d0: 00700613 li a2,7 + 800001d4: 0ac5e733 max a4,a1,a2 + 800001d8: 00700393 li t2,7 + 800001dc: 48771c63 bne a4,t2,80000674 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00700593 li a1,7 + 800001e8: 00300613 li a2,3 + 800001ec: 0ac5e733 max a4,a1,a2 + 800001f0: 00700393 li t2,7 + 800001f4: 48771063 bne a4,t2,80000674 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 00000593 li a1,0 + 80000200: ffff8637 lui a2,0xffff8 + 80000204: 0ac5e733 max a4,a1,a2 + 80000208: 00000393 li t2,0 + 8000020c: 46771463 bne a4,t2,80000674 + +0000000080000210 : + 80000210: 00700193 li gp,7 + 80000214: 800005b7 lui a1,0x80000 + 80000218: 00000613 li a2,0 + 8000021c: 0ac5e733 max a4,a1,a2 + 80000220: 00000393 li t2,0 + 80000224: 44771863 bne a4,t2,80000674 + +0000000080000228 : + 80000228: 00800193 li gp,8 + 8000022c: 800005b7 lui a1,0x80000 + 80000230: ffff8637 lui a2,0xffff8 + 80000234: 0ac5e733 max a4,a1,a2 + 80000238: ffff83b7 lui t2,0xffff8 + 8000023c: 42771c63 bne a4,t2,80000674 + +0000000080000240 : + 80000240: 00900193 li gp,9 + 80000244: 00000593 li a1,0 + 80000248: 00008637 lui a2,0x8 + 8000024c: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 80000250: 0ac5e733 max a4,a1,a2 + 80000254: 000083b7 lui t2,0x8 + 80000258: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 8000025c: 40771c63 bne a4,t2,80000674 + +0000000080000260 : + 80000260: 00a00193 li gp,10 + 80000264: 800005b7 lui a1,0x80000 + 80000268: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 8000026c: 00000613 li a2,0 + 80000270: 0ac5e733 max a4,a1,a2 + 80000274: 800003b7 lui t2,0x80000 + 80000278: fff3839b addiw t2,t2,-1 # 7fffffff <_start-0x1> + 8000027c: 3e771c63 bne a4,t2,80000674 + +0000000080000280 : + 80000280: 00b00193 li gp,11 + 80000284: 800005b7 lui a1,0x80000 + 80000288: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 8000028c: 00008637 lui a2,0x8 + 80000290: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 80000294: 0ac5e733 max a4,a1,a2 + 80000298: 800003b7 lui t2,0x80000 + 8000029c: fff3839b addiw t2,t2,-1 # 7fffffff <_start-0x1> + 800002a0: 3c771a63 bne a4,t2,80000674 + +00000000800002a4 : + 800002a4: 00c00193 li gp,12 + 800002a8: 800005b7 lui a1,0x80000 + 800002ac: 00008637 lui a2,0x8 + 800002b0: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002b4: 0ac5e733 max a4,a1,a2 + 800002b8: 000083b7 lui t2,0x8 + 800002bc: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 800002c0: 3a771a63 bne a4,t2,80000674 + +00000000800002c4 : + 800002c4: 00d00193 li gp,13 + 800002c8: 800005b7 lui a1,0x80000 + 800002cc: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002d0: ffff8637 lui a2,0xffff8 + 800002d4: 0ac5e733 max a4,a1,a2 + 800002d8: 800003b7 lui t2,0x80000 + 800002dc: fff3839b addiw t2,t2,-1 # 7fffffff <_start-0x1> + 800002e0: 38771a63 bne a4,t2,80000674 + +00000000800002e4 : + 800002e4: 00e00193 li gp,14 + 800002e8: 00000593 li a1,0 + 800002ec: fff00613 li a2,-1 + 800002f0: 0ac5e733 max a4,a1,a2 + 800002f4: 00000393 li t2,0 + 800002f8: 36771e63 bne a4,t2,80000674 + +00000000800002fc : + 800002fc: 00f00193 li gp,15 + 80000300: fff00593 li a1,-1 + 80000304: 00100613 li a2,1 + 80000308: 0ac5e733 max a4,a1,a2 + 8000030c: 00100393 li t2,1 + 80000310: 36771263 bne a4,t2,80000674 + +0000000080000314 : + 80000314: 01000193 li gp,16 + 80000318: fff00593 li a1,-1 + 8000031c: fff00613 li a2,-1 + 80000320: 0ac5e733 max a4,a1,a2 + 80000324: fff00393 li t2,-1 + 80000328: 34771663 bne a4,t2,80000674 + +000000008000032c : + 8000032c: 01100193 li gp,17 + 80000330: 00e00593 li a1,14 + 80000334: 00d00613 li a2,13 + 80000338: 0ac5e5b3 max a1,a1,a2 + 8000033c: 00e00393 li t2,14 + 80000340: 32759a63 bne a1,t2,80000674 + +0000000080000344 : + 80000344: 01200193 li gp,18 + 80000348: 00b00593 li a1,11 + 8000034c: 00d00613 li a2,13 + 80000350: 0ac5e633 max a2,a1,a2 + 80000354: 00d00393 li t2,13 + 80000358: 30761e63 bne a2,t2,80000674 + +000000008000035c : + 8000035c: 01300193 li gp,19 + 80000360: 00d00593 li a1,13 + 80000364: 0ab5e5b3 max a1,a1,a1 + 80000368: 00d00393 li t2,13 + 8000036c: 30759463 bne a1,t2,80000674 + +0000000080000370 : + 80000370: 01400193 li gp,20 + 80000374: 00000213 li tp,0 + 80000378: 00b00093 li ra,11 + 8000037c: 00d00113 li sp,13 + 80000380: 0a20e733 max a4,ra,sp + 80000384: 00070313 mv t1,a4 + 80000388: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000038c: 00200293 li t0,2 + 80000390: fe5214e3 bne tp,t0,80000378 + 80000394: 00d00393 li t2,13 + 80000398: 2c731e63 bne t1,t2,80000674 + +000000008000039c : + 8000039c: 01500193 li gp,21 + 800003a0: 00000213 li tp,0 + 800003a4: 00e00093 li ra,14 + 800003a8: 00d00113 li sp,13 + 800003ac: 0a20e733 max a4,ra,sp + 800003b0: 00000013 nop + 800003b4: 00070313 mv t1,a4 + 800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003bc: 00200293 li t0,2 + 800003c0: fe5212e3 bne tp,t0,800003a4 + 800003c4: 00e00393 li t2,14 + 800003c8: 2a731663 bne t1,t2,80000674 + +00000000800003cc : + 800003cc: 01600193 li gp,22 + 800003d0: 00000213 li tp,0 + 800003d4: 00c00093 li ra,12 + 800003d8: 00d00113 li sp,13 + 800003dc: 0a20e733 max a4,ra,sp + 800003e0: 00000013 nop + 800003e4: 00000013 nop + 800003e8: 00070313 mv t1,a4 + 800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f0: 00200293 li t0,2 + 800003f4: fe5210e3 bne tp,t0,800003d4 + 800003f8: 00d00393 li t2,13 + 800003fc: 26731c63 bne t1,t2,80000674 + +0000000080000400 : + 80000400: 01700193 li gp,23 + 80000404: 00000213 li tp,0 + 80000408: 00e00093 li ra,14 + 8000040c: 00d00113 li sp,13 + 80000410: 0a20e733 max a4,ra,sp + 80000414: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000418: 00200293 li t0,2 + 8000041c: fe5216e3 bne tp,t0,80000408 + 80000420: 00e00393 li t2,14 + 80000424: 24771863 bne a4,t2,80000674 + +0000000080000428 : + 80000428: 01800193 li gp,24 + 8000042c: 00000213 li tp,0 + 80000430: 00b00093 li ra,11 + 80000434: 00d00113 li sp,13 + 80000438: 00000013 nop + 8000043c: 0a20e733 max a4,ra,sp + 80000440: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000444: 00200293 li t0,2 + 80000448: fe5214e3 bne tp,t0,80000430 + 8000044c: 00d00393 li t2,13 + 80000450: 22771263 bne a4,t2,80000674 + +0000000080000454 : + 80000454: 01900193 li gp,25 + 80000458: 00000213 li tp,0 + 8000045c: 00f00093 li ra,15 + 80000460: 00d00113 li sp,13 + 80000464: 00000013 nop + 80000468: 00000013 nop + 8000046c: 0a20e733 max a4,ra,sp + 80000470: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000474: 00200293 li t0,2 + 80000478: fe5212e3 bne tp,t0,8000045c + 8000047c: 00f00393 li t2,15 + 80000480: 1e771a63 bne a4,t2,80000674 + +0000000080000484 : + 80000484: 01a00193 li gp,26 + 80000488: 00000213 li tp,0 + 8000048c: 00a00093 li ra,10 + 80000490: 00000013 nop + 80000494: 00d00113 li sp,13 + 80000498: 0a20e733 max a4,ra,sp + 8000049c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a0: 00200293 li t0,2 + 800004a4: fe5214e3 bne tp,t0,8000048c + 800004a8: 00d00393 li t2,13 + 800004ac: 1c771463 bne a4,t2,80000674 + +00000000800004b0 : + 800004b0: 01b00193 li gp,27 + 800004b4: 00000213 li tp,0 + 800004b8: 01000093 li ra,16 + 800004bc: 00000013 nop + 800004c0: 00d00113 li sp,13 + 800004c4: 00000013 nop + 800004c8: 0a20e733 max a4,ra,sp + 800004cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d0: 00200293 li t0,2 + 800004d4: fe5212e3 bne tp,t0,800004b8 + 800004d8: 01000393 li t2,16 + 800004dc: 18771c63 bne a4,t2,80000674 + +00000000800004e0 : + 800004e0: 01c00193 li gp,28 + 800004e4: 00000213 li tp,0 + 800004e8: 00900093 li ra,9 + 800004ec: 00000013 nop + 800004f0: 00000013 nop + 800004f4: 00d00113 li sp,13 + 800004f8: 0a20e733 max a4,ra,sp + 800004fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000500: 00200293 li t0,2 + 80000504: fe5212e3 bne tp,t0,800004e8 + 80000508: 00d00393 li t2,13 + 8000050c: 16771463 bne a4,t2,80000674 + +0000000080000510 : + 80000510: 01d00193 li gp,29 + 80000514: 00000213 li tp,0 + 80000518: 00d00113 li sp,13 + 8000051c: 01100093 li ra,17 + 80000520: 0a20e733 max a4,ra,sp + 80000524: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000528: 00200293 li t0,2 + 8000052c: fe5216e3 bne tp,t0,80000518 + 80000530: 01100393 li t2,17 + 80000534: 14771063 bne a4,t2,80000674 + +0000000080000538 : + 80000538: 01e00193 li gp,30 + 8000053c: 00000213 li tp,0 + 80000540: 00d00113 li sp,13 + 80000544: 00800093 li ra,8 + 80000548: 00000013 nop + 8000054c: 0a20e733 max a4,ra,sp + 80000550: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000554: 00200293 li t0,2 + 80000558: fe5214e3 bne tp,t0,80000540 + 8000055c: 00d00393 li t2,13 + 80000560: 10771a63 bne a4,t2,80000674 + +0000000080000564 : + 80000564: 01f00193 li gp,31 + 80000568: 00000213 li tp,0 + 8000056c: 00d00113 li sp,13 + 80000570: 01200093 li ra,18 + 80000574: 00000013 nop + 80000578: 00000013 nop + 8000057c: 0a20e733 max a4,ra,sp + 80000580: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000584: 00200293 li t0,2 + 80000588: fe5212e3 bne tp,t0,8000056c + 8000058c: 01200393 li t2,18 + 80000590: 0e771263 bne a4,t2,80000674 + +0000000080000594 : + 80000594: 02000193 li gp,32 + 80000598: 00000213 li tp,0 + 8000059c: 00d00113 li sp,13 + 800005a0: 00000013 nop + 800005a4: 00700093 li ra,7 + 800005a8: 0a20e733 max a4,ra,sp + 800005ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005b0: 00200293 li t0,2 + 800005b4: fe5214e3 bne tp,t0,8000059c + 800005b8: 00d00393 li t2,13 + 800005bc: 0a771c63 bne a4,t2,80000674 + +00000000800005c0 : + 800005c0: 02100193 li gp,33 + 800005c4: 00000213 li tp,0 + 800005c8: 00d00113 li sp,13 + 800005cc: 00000013 nop + 800005d0: 01300093 li ra,19 + 800005d4: 00000013 nop + 800005d8: 0a20e733 max a4,ra,sp + 800005dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005e0: 00200293 li t0,2 + 800005e4: fe5212e3 bne tp,t0,800005c8 + 800005e8: 01300393 li t2,19 + 800005ec: 08771463 bne a4,t2,80000674 + +00000000800005f0 : + 800005f0: 02200193 li gp,34 + 800005f4: 00000213 li tp,0 + 800005f8: 00d00113 li sp,13 + 800005fc: 00000013 nop + 80000600: 00000013 nop + 80000604: 00600093 li ra,6 + 80000608: 0a20e733 max a4,ra,sp + 8000060c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000610: 00200293 li t0,2 + 80000614: fe5212e3 bne tp,t0,800005f8 + 80000618: 00d00393 li t2,13 + 8000061c: 04771c63 bne a4,t2,80000674 + +0000000080000620 : + 80000620: 02300193 li gp,35 + 80000624: fff00093 li ra,-1 + 80000628: 0a106133 max sp,zero,ra + 8000062c: 00000393 li t2,0 + 80000630: 04711263 bne sp,t2,80000674 + +0000000080000634 : + 80000634: 02400193 li gp,36 + 80000638: fff00093 li ra,-1 + 8000063c: 0a00e133 max sp,ra,zero + 80000640: 00000393 li t2,0 + 80000644: 02711863 bne sp,t2,80000674 + +0000000080000648 : + 80000648: 02500193 li gp,37 + 8000064c: 0a0060b3 max ra,zero,zero + 80000650: 00000393 li t2,0 + 80000654: 02709063 bne ra,t2,80000674 + +0000000080000658 : + 80000658: 02600193 li gp,38 + 8000065c: 01000093 li ra,16 + 80000660: 01e00113 li sp,30 + 80000664: 0a20e033 max zero,ra,sp + 80000668: 00000393 li t2,0 + 8000066c: 00701463 bne zero,t2,80000674 + 80000670: 02301063 bne zero,gp,80000690 + +0000000080000674 : + 80000674: 0ff0000f fence + 80000678: 00018063 beqz gp,80000678 + 8000067c: 00119193 slli gp,gp,0x1 + 80000680: 0011e193 ori gp,gp,1 + 80000684: 05d00893 li a7,93 + 80000688: 00018513 mv a0,gp + 8000068c: 00000073 ecall + +0000000080000690 : + 80000690: 0ff0000f fence + 80000694: 00100193 li gp,1 + 80000698: 05d00893 li a7,93 + 8000069c: 00000513 li a0,0 + 800006a0: 00000073 ecall + 800006a4: c0001073 unimp + 800006a8: 0000 .insn 2, 0x + 800006aa: 0000 .insn 2, 0x + 800006ac: 0000 .insn 2, 0x + 800006ae: 0000 .insn 2, 0x + 800006b0: 0000 .insn 2, 0x + 800006b2: 0000 .insn 2, 0x + 800006b4: 0000 .insn 2, 0x + 800006b6: 0000 .insn 2, 0x + 800006b8: 0000 .insn 2, 0x + 800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-max.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-max.hex new file mode 100644 index 0000000..101f07a --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-max.hex @@ -0,0 +1,831 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000059300200193 +0ac5e73300000613 +4c77146300000393 +0010059300300193 +0ac5e73300100613 +4a77186300100393 +0030059300400193 +0ac5e73300700613 +48771c6300700393 +0070059300500193 +0ac5e73300300613 +4877106300700393 +0000059300600193 +0ac5e733ffff8637 +4677146300000393 +800005b700700193 +0ac5e73300000613 +4477186300000393 +800005b700800193 +0ac5e733ffff8637 +42771c63ffff83b7 +0000059300900193 +fff6061b00008637 +000083b70ac5e733 +40771c63fff3839b +800005b700a00193 +00000613fff5859b +800003b70ac5e733 +3e771c63fff3839b +800005b700b00193 +00008637fff5859b +0ac5e733fff6061b +fff3839b800003b7 +00c001933c771a63 +00008637800005b7 +0ac5e733fff6061b +fff3839b000083b7 +00d001933a771a63 +fff5859b800005b7 +0ac5e733ffff8637 +fff3839b800003b7 +00e0019338771a63 +fff0061300000593 +000003930ac5e733 +00f0019336771e63 +00100613fff00593 +001003930ac5e733 +0100019336771263 +fff00613fff00593 +fff003930ac5e733 +0110019334771663 +00d0061300e00593 +00e003930ac5e5b3 +0120019332759a63 +00d0061300b00593 +00d003930ac5e633 +0130019330761e63 +0ab5e5b300d00593 +3075946300d00393 +0000021301400193 +00d0011300b00093 +000703130a20e733 +0020029300120213 +00d00393fe5214e3 +015001932c731e63 +00e0009300000213 +0a20e73300d00113 +0007031300000013 +0020029300120213 +00e00393fe5212e3 +016001932a731663 +00c0009300000213 +0a20e73300d00113 +0000001300000013 +0012021300070313 +fe5210e300200293 +26731c6300d00393 +0000021301700193 +00d0011300e00093 +001202130a20e733 +fe5216e300200293 +2477186300e00393 +0000021301800193 +00d0011300b00093 +0a20e73300000013 +0020029300120213 +00d00393fe5214e3 +0190019322771263 +00f0009300000213 +0000001300d00113 +0a20e73300000013 +0020029300120213 +00f00393fe5212e3 +01a001931e771a63 +00a0009300000213 +00d0011300000013 +001202130a20e733 +fe5214e300200293 +1c77146300d00393 +0000021301b00193 +0000001301000093 +0000001300d00113 +001202130a20e733 +fe5212e300200293 +18771c6301000393 +0000021301c00193 +0000001300900093 +00d0011300000013 +001202130a20e733 +fe5212e300200293 +1677146300d00393 +0000021301d00193 +0110009300d00113 +001202130a20e733 +fe5216e300200293 +1477106301100393 +0000021301e00193 +0080009300d00113 +0a20e73300000013 +0020029300120213 +00d00393fe5214e3 +01f0019310771a63 +00d0011300000213 +0000001301200093 +0a20e73300000013 +0020029300120213 +01200393fe5212e3 +020001930e771263 +00d0011300000213 +0070009300000013 +001202130a20e733 +fe5214e300200293 +0a771c6300d00393 +0000021302100193 +0000001300d00113 +0000001301300093 +001202130a20e733 +fe5212e300200293 +0877146301300393 +0000021302200193 +0000001300d00113 +0060009300000013 +001202130a20e733 +fe5212e300200293 +04771c6300d00393 +fff0009302300193 +000003930a106133 +0240019304711263 +0a00e133fff00093 +0271186300000393 +0a0060b302500193 +0270906300000393 +0100009302600193 +0a20e03301e00113 +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000674 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000210 +0000000000000000 +00010000000000cb +0000000080000228 +0000000000000000 +00010000000000d2 +0000000080000240 +0000000000000000 +00010000000000d9 +0000000080000260 +0000000000000000 +00010000000000e1 +0000000080000280 +0000000000000000 +00010000000000e9 +00000000800002a4 +0000000000000000 +00010000000000f1 +00000000800002c4 +0000000000000000 +00010000000000f9 +00000000800002e4 +0000000000000000 +0001000000000101 +00000000800002fc +0000000000000000 +0001000000000109 +0000000080000314 +0000000000000000 +0001000000000111 +000000008000032c +0000000000000000 +0001000000000119 +0000000080000344 +0000000000000000 +0001000000000121 +000000008000035c +0000000000000000 +0001000000000129 +0000000080000370 +0000000000000000 +0001000000000131 +000000008000039c +0000000000000000 +0001000000000139 +00000000800003cc +0000000000000000 +0001000000000141 +0000000080000400 +0000000000000000 +0001000000000149 +0000000080000428 +0000000000000000 +0001000000000151 +0000000080000454 +0000000000000000 +0001000000000159 +0000000080000484 +0000000000000000 +0001000000000161 +00000000800004b0 +0000000000000000 +0001000000000169 +00000000800004e0 +0000000000000000 +0001000000000171 +0000000080000510 +0000000000000000 +0001000000000179 +0000000080000538 +0000000000000000 +0001000000000181 +0000000080000564 +0000000000000000 +0001000000000189 +0000000080000594 +0000000000000000 +0001000000000191 +00000000800005c0 +0000000000000000 +0001000000000199 +00000000800005f0 +0000000000000000 +00010000000001a1 +0000000080000620 +0000000000000000 +00010000000001a9 +0000000080000634 +0000000000000000 +00010000000001b1 +0000000080000648 +0000000000000000 +00010000000001b9 +0000000080000658 +0000000000000000 +00010000000001c1 +0000000080000690 +0000000000000000 +00020010000001c6 +0000000080002000 +0000000000000000 +00020010000001d4 +0000000080002000 +0000000000000000 +00010010000001e4 +0000000080000000 +0000000000000000 +00020010000001eb +0000000080002000 +0000000000000000 +00020010000001f0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +5757445556636300 +76727824006f2e47 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006bc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000558 +0000003300000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000025f8 +00000000000001f9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000027f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-maxu.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-maxu.dump new file mode 100644 index 0000000..4394443 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-maxu.dump @@ -0,0 +1,566 @@ + +rv64uzbb-p-maxu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000593 li a1,0 + 800001a0: 00000613 li a2,0 + 800001a4: 0ac5f733 maxu a4,a1,a2 + 800001a8: 00000393 li t2,0 + 800001ac: 52771e63 bne a4,t2,800006e8 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 0ac5f733 maxu a4,a1,a2 + 800001c0: 00100393 li t2,1 + 800001c4: 52771263 bne a4,t2,800006e8 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00300593 li a1,3 + 800001d0: 00700613 li a2,7 + 800001d4: 0ac5f733 maxu a4,a1,a2 + 800001d8: 00700393 li t2,7 + 800001dc: 50771663 bne a4,t2,800006e8 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00700593 li a1,7 + 800001e8: 00300613 li a2,3 + 800001ec: 0ac5f733 maxu a4,a1,a2 + 800001f0: 00700393 li t2,7 + 800001f4: 4e771a63 bne a4,t2,800006e8 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 00000593 li a1,0 + 80000200: 00020637 lui a2,0x20 + 80000204: fff6061b addiw a2,a2,-1 # 1ffff <_start-0x7ffe0001> + 80000208: 00f61613 slli a2,a2,0xf + 8000020c: 0ac5f733 maxu a4,a1,a2 + 80000210: 000203b7 lui t2,0x20 + 80000214: fff3839b addiw t2,t2,-1 # 1ffff <_start-0x7ffe0001> + 80000218: 00f39393 slli t2,t2,0xf + 8000021c: 4c771663 bne a4,t2,800006e8 + +0000000080000220 : + 80000220: 00700193 li gp,7 + 80000224: 0010059b addiw a1,zero,1 + 80000228: 01f59593 slli a1,a1,0x1f + 8000022c: 00000613 li a2,0 + 80000230: 0ac5f733 maxu a4,a1,a2 + 80000234: 0010039b addiw t2,zero,1 + 80000238: 01f39393 slli t2,t2,0x1f + 8000023c: 4a771663 bne a4,t2,800006e8 + +0000000080000240 : + 80000240: 00800193 li gp,8 + 80000244: 0010059b addiw a1,zero,1 + 80000248: 01f59593 slli a1,a1,0x1f + 8000024c: 00020637 lui a2,0x20 + 80000250: fff6061b addiw a2,a2,-1 # 1ffff <_start-0x7ffe0001> + 80000254: 00f61613 slli a2,a2,0xf + 80000258: 0ac5f733 maxu a4,a1,a2 + 8000025c: 000203b7 lui t2,0x20 + 80000260: fff3839b addiw t2,t2,-1 # 1ffff <_start-0x7ffe0001> + 80000264: 00f39393 slli t2,t2,0xf + 80000268: 48771063 bne a4,t2,800006e8 + +000000008000026c : + 8000026c: 00900193 li gp,9 + 80000270: 00000593 li a1,0 + 80000274: 00008637 lui a2,0x8 + 80000278: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 8000027c: 0ac5f733 maxu a4,a1,a2 + 80000280: 000083b7 lui t2,0x8 + 80000284: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000288: 46771063 bne a4,t2,800006e8 + +000000008000028c : + 8000028c: 00a00193 li gp,10 + 80000290: 800005b7 lui a1,0x80000 + 80000294: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000298: 00000613 li a2,0 + 8000029c: 0ac5f733 maxu a4,a1,a2 + 800002a0: 800003b7 lui t2,0x80000 + 800002a4: fff3839b addiw t2,t2,-1 # 7fffffff <_start-0x1> + 800002a8: 44771063 bne a4,t2,800006e8 + +00000000800002ac : + 800002ac: 00b00193 li gp,11 + 800002b0: 800005b7 lui a1,0x80000 + 800002b4: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002b8: 00008637 lui a2,0x8 + 800002bc: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002c0: 0ac5f733 maxu a4,a1,a2 + 800002c4: 800003b7 lui t2,0x80000 + 800002c8: fff3839b addiw t2,t2,-1 # 7fffffff <_start-0x1> + 800002cc: 40771e63 bne a4,t2,800006e8 + +00000000800002d0 : + 800002d0: 00c00193 li gp,12 + 800002d4: 0010059b addiw a1,zero,1 + 800002d8: 01f59593 slli a1,a1,0x1f + 800002dc: 00008637 lui a2,0x8 + 800002e0: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002e4: 0ac5f733 maxu a4,a1,a2 + 800002e8: 0010039b addiw t2,zero,1 + 800002ec: 01f39393 slli t2,t2,0x1f + 800002f0: 3e771c63 bne a4,t2,800006e8 + +00000000800002f4 : + 800002f4: 00d00193 li gp,13 + 800002f8: 800005b7 lui a1,0x80000 + 800002fc: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000300: 00020637 lui a2,0x20 + 80000304: fff6061b addiw a2,a2,-1 # 1ffff <_start-0x7ffe0001> + 80000308: 00f61613 slli a2,a2,0xf + 8000030c: 0ac5f733 maxu a4,a1,a2 + 80000310: 000203b7 lui t2,0x20 + 80000314: fff3839b addiw t2,t2,-1 # 1ffff <_start-0x7ffe0001> + 80000318: 00f39393 slli t2,t2,0xf + 8000031c: 3c771663 bne a4,t2,800006e8 + +0000000080000320 : + 80000320: 00e00193 li gp,14 + 80000324: 00000593 li a1,0 + 80000328: 0010061b addiw a2,zero,1 + 8000032c: 02061613 slli a2,a2,0x20 + 80000330: fff60613 addi a2,a2,-1 + 80000334: 0ac5f733 maxu a4,a1,a2 + 80000338: 0010039b addiw t2,zero,1 + 8000033c: 02039393 slli t2,t2,0x20 + 80000340: fff38393 addi t2,t2,-1 + 80000344: 3a771263 bne a4,t2,800006e8 + +0000000080000348 : + 80000348: 00f00193 li gp,15 + 8000034c: 0010059b addiw a1,zero,1 + 80000350: 02059593 slli a1,a1,0x20 + 80000354: fff58593 addi a1,a1,-1 + 80000358: 00100613 li a2,1 + 8000035c: 0ac5f733 maxu a4,a1,a2 + 80000360: 0010039b addiw t2,zero,1 + 80000364: 02039393 slli t2,t2,0x20 + 80000368: fff38393 addi t2,t2,-1 + 8000036c: 36771e63 bne a4,t2,800006e8 + +0000000080000370 : + 80000370: 01000193 li gp,16 + 80000374: 0010059b addiw a1,zero,1 + 80000378: 02059593 slli a1,a1,0x20 + 8000037c: fff58593 addi a1,a1,-1 + 80000380: 0010061b addiw a2,zero,1 + 80000384: 02061613 slli a2,a2,0x20 + 80000388: fff60613 addi a2,a2,-1 + 8000038c: 0ac5f733 maxu a4,a1,a2 + 80000390: 0010039b addiw t2,zero,1 + 80000394: 02039393 slli t2,t2,0x20 + 80000398: fff38393 addi t2,t2,-1 + 8000039c: 34771663 bne a4,t2,800006e8 + +00000000800003a0 : + 800003a0: 01100193 li gp,17 + 800003a4: 00e00593 li a1,14 + 800003a8: 00d00613 li a2,13 + 800003ac: 0ac5f5b3 maxu a1,a1,a2 + 800003b0: 00e00393 li t2,14 + 800003b4: 32759a63 bne a1,t2,800006e8 + +00000000800003b8 : + 800003b8: 01200193 li gp,18 + 800003bc: 00b00593 li a1,11 + 800003c0: 00d00613 li a2,13 + 800003c4: 0ac5f633 maxu a2,a1,a2 + 800003c8: 00d00393 li t2,13 + 800003cc: 30761e63 bne a2,t2,800006e8 + +00000000800003d0 : + 800003d0: 01300193 li gp,19 + 800003d4: 00d00593 li a1,13 + 800003d8: 0ab5f5b3 maxu a1,a1,a1 + 800003dc: 00d00393 li t2,13 + 800003e0: 30759463 bne a1,t2,800006e8 + +00000000800003e4 : + 800003e4: 01400193 li gp,20 + 800003e8: 00000213 li tp,0 + 800003ec: 00b00093 li ra,11 + 800003f0: 00d00113 li sp,13 + 800003f4: 0a20f733 maxu a4,ra,sp + 800003f8: 00070313 mv t1,a4 + 800003fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000400: 00200293 li t0,2 + 80000404: fe5214e3 bne tp,t0,800003ec + 80000408: 00d00393 li t2,13 + 8000040c: 2c731e63 bne t1,t2,800006e8 + +0000000080000410 : + 80000410: 01500193 li gp,21 + 80000414: 00000213 li tp,0 + 80000418: 00e00093 li ra,14 + 8000041c: 00d00113 li sp,13 + 80000420: 0a20f733 maxu a4,ra,sp + 80000424: 00000013 nop + 80000428: 00070313 mv t1,a4 + 8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000430: 00200293 li t0,2 + 80000434: fe5212e3 bne tp,t0,80000418 + 80000438: 00e00393 li t2,14 + 8000043c: 2a731663 bne t1,t2,800006e8 + +0000000080000440 : + 80000440: 01600193 li gp,22 + 80000444: 00000213 li tp,0 + 80000448: 00c00093 li ra,12 + 8000044c: 00d00113 li sp,13 + 80000450: 0a20f733 maxu a4,ra,sp + 80000454: 00000013 nop + 80000458: 00000013 nop + 8000045c: 00070313 mv t1,a4 + 80000460: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000464: 00200293 li t0,2 + 80000468: fe5210e3 bne tp,t0,80000448 + 8000046c: 00d00393 li t2,13 + 80000470: 26731c63 bne t1,t2,800006e8 + +0000000080000474 : + 80000474: 01700193 li gp,23 + 80000478: 00000213 li tp,0 + 8000047c: 00e00093 li ra,14 + 80000480: 00d00113 li sp,13 + 80000484: 0a20f733 maxu a4,ra,sp + 80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000048c: 00200293 li t0,2 + 80000490: fe5216e3 bne tp,t0,8000047c + 80000494: 00e00393 li t2,14 + 80000498: 24771863 bne a4,t2,800006e8 + +000000008000049c : + 8000049c: 01800193 li gp,24 + 800004a0: 00000213 li tp,0 + 800004a4: 00b00093 li ra,11 + 800004a8: 00d00113 li sp,13 + 800004ac: 00000013 nop + 800004b0: 0a20f733 maxu a4,ra,sp + 800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004b8: 00200293 li t0,2 + 800004bc: fe5214e3 bne tp,t0,800004a4 + 800004c0: 00d00393 li t2,13 + 800004c4: 22771263 bne a4,t2,800006e8 + +00000000800004c8 : + 800004c8: 01900193 li gp,25 + 800004cc: 00000213 li tp,0 + 800004d0: 00f00093 li ra,15 + 800004d4: 00d00113 li sp,13 + 800004d8: 00000013 nop + 800004dc: 00000013 nop + 800004e0: 0a20f733 maxu a4,ra,sp + 800004e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004e8: 00200293 li t0,2 + 800004ec: fe5212e3 bne tp,t0,800004d0 + 800004f0: 00f00393 li t2,15 + 800004f4: 1e771a63 bne a4,t2,800006e8 + +00000000800004f8 : + 800004f8: 01a00193 li gp,26 + 800004fc: 00000213 li tp,0 + 80000500: 00a00093 li ra,10 + 80000504: 00000013 nop + 80000508: 00d00113 li sp,13 + 8000050c: 0a20f733 maxu a4,ra,sp + 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000514: 00200293 li t0,2 + 80000518: fe5214e3 bne tp,t0,80000500 + 8000051c: 00d00393 li t2,13 + 80000520: 1c771463 bne a4,t2,800006e8 + +0000000080000524 : + 80000524: 01b00193 li gp,27 + 80000528: 00000213 li tp,0 + 8000052c: 01000093 li ra,16 + 80000530: 00000013 nop + 80000534: 00d00113 li sp,13 + 80000538: 00000013 nop + 8000053c: 0a20f733 maxu a4,ra,sp + 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000544: 00200293 li t0,2 + 80000548: fe5212e3 bne tp,t0,8000052c + 8000054c: 01000393 li t2,16 + 80000550: 18771c63 bne a4,t2,800006e8 + +0000000080000554 : + 80000554: 01c00193 li gp,28 + 80000558: 00000213 li tp,0 + 8000055c: 00900093 li ra,9 + 80000560: 00000013 nop + 80000564: 00000013 nop + 80000568: 00d00113 li sp,13 + 8000056c: 0a20f733 maxu a4,ra,sp + 80000570: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000574: 00200293 li t0,2 + 80000578: fe5212e3 bne tp,t0,8000055c + 8000057c: 00d00393 li t2,13 + 80000580: 16771463 bne a4,t2,800006e8 + +0000000080000584 : + 80000584: 01d00193 li gp,29 + 80000588: 00000213 li tp,0 + 8000058c: 00d00113 li sp,13 + 80000590: 01100093 li ra,17 + 80000594: 0a20f733 maxu a4,ra,sp + 80000598: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000059c: 00200293 li t0,2 + 800005a0: fe5216e3 bne tp,t0,8000058c + 800005a4: 01100393 li t2,17 + 800005a8: 14771063 bne a4,t2,800006e8 + +00000000800005ac : + 800005ac: 01e00193 li gp,30 + 800005b0: 00000213 li tp,0 + 800005b4: 00d00113 li sp,13 + 800005b8: 00800093 li ra,8 + 800005bc: 00000013 nop + 800005c0: 0a20f733 maxu a4,ra,sp + 800005c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005c8: 00200293 li t0,2 + 800005cc: fe5214e3 bne tp,t0,800005b4 + 800005d0: 00d00393 li t2,13 + 800005d4: 10771a63 bne a4,t2,800006e8 + +00000000800005d8 : + 800005d8: 01f00193 li gp,31 + 800005dc: 00000213 li tp,0 + 800005e0: 00d00113 li sp,13 + 800005e4: 01200093 li ra,18 + 800005e8: 00000013 nop + 800005ec: 00000013 nop + 800005f0: 0a20f733 maxu a4,ra,sp + 800005f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005f8: 00200293 li t0,2 + 800005fc: fe5212e3 bne tp,t0,800005e0 + 80000600: 01200393 li t2,18 + 80000604: 0e771263 bne a4,t2,800006e8 + +0000000080000608 : + 80000608: 02000193 li gp,32 + 8000060c: 00000213 li tp,0 + 80000610: 00d00113 li sp,13 + 80000614: 00000013 nop + 80000618: 00700093 li ra,7 + 8000061c: 0a20f733 maxu a4,ra,sp + 80000620: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000624: 00200293 li t0,2 + 80000628: fe5214e3 bne tp,t0,80000610 + 8000062c: 00d00393 li t2,13 + 80000630: 0a771c63 bne a4,t2,800006e8 + +0000000080000634 : + 80000634: 02100193 li gp,33 + 80000638: 00000213 li tp,0 + 8000063c: 00d00113 li sp,13 + 80000640: 00000013 nop + 80000644: 01300093 li ra,19 + 80000648: 00000013 nop + 8000064c: 0a20f733 maxu a4,ra,sp + 80000650: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000654: 00200293 li t0,2 + 80000658: fe5212e3 bne tp,t0,8000063c + 8000065c: 01300393 li t2,19 + 80000660: 08771463 bne a4,t2,800006e8 + +0000000080000664 : + 80000664: 02200193 li gp,34 + 80000668: 00000213 li tp,0 + 8000066c: 00d00113 li sp,13 + 80000670: 00000013 nop + 80000674: 00000013 nop + 80000678: 00600093 li ra,6 + 8000067c: 0a20f733 maxu a4,ra,sp + 80000680: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000684: 00200293 li t0,2 + 80000688: fe5212e3 bne tp,t0,8000066c + 8000068c: 00d00393 li t2,13 + 80000690: 04771c63 bne a4,t2,800006e8 + +0000000080000694 : + 80000694: 02300193 li gp,35 + 80000698: fff00093 li ra,-1 + 8000069c: 0a107133 maxu sp,zero,ra + 800006a0: fff00393 li t2,-1 + 800006a4: 04711263 bne sp,t2,800006e8 + +00000000800006a8 : + 800006a8: 02400193 li gp,36 + 800006ac: fff00093 li ra,-1 + 800006b0: 0a00f133 maxu sp,ra,zero + 800006b4: fff00393 li t2,-1 + 800006b8: 02711863 bne sp,t2,800006e8 + +00000000800006bc : + 800006bc: 02500193 li gp,37 + 800006c0: 0a0070b3 maxu ra,zero,zero + 800006c4: 00000393 li t2,0 + 800006c8: 02709063 bne ra,t2,800006e8 + +00000000800006cc : + 800006cc: 02600193 li gp,38 + 800006d0: 01000093 li ra,16 + 800006d4: 01e00113 li sp,30 + 800006d8: 0a20f033 maxu zero,ra,sp + 800006dc: 00000393 li t2,0 + 800006e0: 00701463 bne zero,t2,800006e8 + 800006e4: 02301063 bne zero,gp,80000704 + +00000000800006e8 : + 800006e8: 0ff0000f fence + 800006ec: 00018063 beqz gp,800006ec + 800006f0: 00119193 slli gp,gp,0x1 + 800006f4: 0011e193 ori gp,gp,1 + 800006f8: 05d00893 li a7,93 + 800006fc: 00018513 mv a0,gp + 80000700: 00000073 ecall + +0000000080000704 : + 80000704: 0ff0000f fence + 80000708: 00100193 li gp,1 + 8000070c: 05d00893 li a7,93 + 80000710: 00000513 li a0,0 + 80000714: 00000073 ecall + 80000718: c0001073 unimp + 8000071c: 0000 .insn 2, 0x + 8000071e: 0000 .insn 2, 0x + 80000720: 0000 .insn 2, 0x + 80000722: 0000 .insn 2, 0x + 80000724: 0000 .insn 2, 0x + 80000726: 0000 .insn 2, 0x + 80000728: 0000 .insn 2, 0x + 8000072a: 0000 .insn 2, 0x + 8000072c: 0000 .insn 2, 0x + 8000072e: 0000 .insn 2, 0x + 80000730: 0000 .insn 2, 0x + 80000732: 0000 .insn 2, 0x + 80000734: 0000 .insn 2, 0x + 80000736: 0000 .insn 2, 0x + 80000738: 0000 .insn 2, 0x + 8000073a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-maxu.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-maxu.hex new file mode 100644 index 0000000..b99daa0 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-maxu.hex @@ -0,0 +1,831 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000059300200193 +0ac5f73300000613 +52771e6300000393 +0010059300300193 +0ac5f73300100613 +5277126300100393 +0030059300400193 +0ac5f73300700613 +5077166300700393 +0070059300500193 +0ac5f73300300613 +4e771a6300700393 +0000059300600193 +fff6061b00020637 +0ac5f73300f61613 +fff3839b000203b7 +4c77166300f39393 +0010059b00700193 +0000061301f59593 +0010039b0ac5f733 +4a77166301f39393 +0010059b00800193 +0002063701f59593 +00f61613fff6061b +000203b70ac5f733 +00f39393fff3839b +0090019348771063 +0000863700000593 +0ac5f733fff6061b +fff3839b000083b7 +00a0019346771063 +fff5859b800005b7 +0ac5f73300000613 +fff3839b800003b7 +00b0019344771063 +fff5859b800005b7 +fff6061b00008637 +800003b70ac5f733 +40771e63fff3839b +0010059b00c00193 +0000863701f59593 +0ac5f733fff6061b +01f393930010039b +00d001933e771c63 +fff5859b800005b7 +fff6061b00020637 +0ac5f73300f61613 +fff3839b000203b7 +3c77166300f39393 +0000059300e00193 +020616130010061b +0ac5f733fff60613 +020393930010039b +3a771263fff38393 +0010059b00f00193 +fff5859302059593 +0ac5f73300100613 +020393930010039b +36771e63fff38393 +0010059b01000193 +fff5859302059593 +020616130010061b +0ac5f733fff60613 +020393930010039b +34771663fff38393 +00e0059301100193 +0ac5f5b300d00613 +32759a6300e00393 +00b0059301200193 +0ac5f63300d00613 +30761e6300d00393 +00d0059301300193 +00d003930ab5f5b3 +0140019330759463 +00b0009300000213 +0a20f73300d00113 +0012021300070313 +fe5214e300200293 +2c731e6300d00393 +0000021301500193 +00d0011300e00093 +000000130a20f733 +0012021300070313 +fe5212e300200293 +2a73166300e00393 +0000021301600193 +00d0011300c00093 +000000130a20f733 +0007031300000013 +0020029300120213 +00d00393fe5210e3 +0170019326731c63 +00e0009300000213 +0a20f73300d00113 +0020029300120213 +00e00393fe5216e3 +0180019324771863 +00b0009300000213 +0000001300d00113 +001202130a20f733 +fe5214e300200293 +2277126300d00393 +0000021301900193 +00d0011300f00093 +0000001300000013 +001202130a20f733 +fe5212e300200293 +1e771a6300f00393 +0000021301a00193 +0000001300a00093 +0a20f73300d00113 +0020029300120213 +00d00393fe5214e3 +01b001931c771463 +0100009300000213 +00d0011300000013 +0a20f73300000013 +0020029300120213 +01000393fe5212e3 +01c0019318771c63 +0090009300000213 +0000001300000013 +0a20f73300d00113 +0020029300120213 +00d00393fe5212e3 +01d0019316771463 +00d0011300000213 +0a20f73301100093 +0020029300120213 +01100393fe5216e3 +01e0019314771063 +00d0011300000213 +0000001300800093 +001202130a20f733 +fe5214e300200293 +10771a6300d00393 +0000021301f00193 +0120009300d00113 +0000001300000013 +001202130a20f733 +fe5212e300200293 +0e77126301200393 +0000021302000193 +0000001300d00113 +0a20f73300700093 +0020029300120213 +00d00393fe5214e3 +021001930a771c63 +00d0011300000213 +0130009300000013 +0a20f73300000013 +0020029300120213 +01300393fe5212e3 +0220019308771463 +00d0011300000213 +0000001300000013 +0a20f73300600093 +0020029300120213 +00d00393fe5212e3 +0230019304771c63 +0a107133fff00093 +04711263fff00393 +fff0009302400193 +fff003930a00f133 +0250019302711863 +000003930a0070b3 +0260019302709063 +01e0011301000093 +000003930a20f033 +0230106300701463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800006e8 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000220 +0000000000000000 +00010000000000cb +0000000080000240 +0000000000000000 +00010000000000d2 +000000008000026c +0000000000000000 +00010000000000d9 +000000008000028c +0000000000000000 +00010000000000e1 +00000000800002ac +0000000000000000 +00010000000000e9 +00000000800002d0 +0000000000000000 +00010000000000f1 +00000000800002f4 +0000000000000000 +00010000000000f9 +0000000080000320 +0000000000000000 +0001000000000101 +0000000080000348 +0000000000000000 +0001000000000109 +0000000080000370 +0000000000000000 +0001000000000111 +00000000800003a0 +0000000000000000 +0001000000000119 +00000000800003b8 +0000000000000000 +0001000000000121 +00000000800003d0 +0000000000000000 +0001000000000129 +00000000800003e4 +0000000000000000 +0001000000000131 +0000000080000410 +0000000000000000 +0001000000000139 +0000000080000440 +0000000000000000 +0001000000000141 +0000000080000474 +0000000000000000 +0001000000000149 +000000008000049c +0000000000000000 +0001000000000151 +00000000800004c8 +0000000000000000 +0001000000000159 +00000000800004f8 +0000000000000000 +0001000000000161 +0000000080000524 +0000000000000000 +0001000000000169 +0000000080000554 +0000000000000000 +0001000000000171 +0000000080000584 +0000000000000000 +0001000000000179 +00000000800005ac +0000000000000000 +0001000000000181 +00000000800005d8 +0000000000000000 +0001000000000189 +0000000080000608 +0000000000000000 +0001000000000191 +0000000080000634 +0000000000000000 +0001000000000199 +0000000080000664 +0000000000000000 +00010000000001a1 +0000000080000694 +0000000000000000 +00010000000001a9 +00000000800006a8 +0000000000000000 +00010000000001b1 +00000000800006bc +0000000000000000 +00010000000001b9 +00000000800006cc +0000000000000000 +00010000000001c1 +0000000080000704 +0000000000000000 +00020010000001c6 +0000000080002000 +0000000000000000 +00020010000001d4 +0000000080002000 +0000000000000000 +00010010000001e4 +0000000080000000 +0000000000000000 +00020010000001eb +0000000080002000 +0000000000000000 +00020010000001f0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +30756c4669636300 +76727824006f2e45 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000073c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000558 +0000003300000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000025f8 +00000000000001f9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000027f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-min.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-min.dump new file mode 100644 index 0000000..0d1fe95 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-min.dump @@ -0,0 +1,535 @@ + +rv64uzbb-p-min: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000593 li a1,0 + 800001a0: 00000613 li a2,0 + 800001a4: 0ac5c733 min a4,a1,a2 + 800001a8: 00000393 li t2,0 + 800001ac: 4a771c63 bne a4,t2,80000664 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 0ac5c733 min a4,a1,a2 + 800001c0: 00100393 li t2,1 + 800001c4: 4a771063 bne a4,t2,80000664 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00300593 li a1,3 + 800001d0: 00700613 li a2,7 + 800001d4: 0ac5c733 min a4,a1,a2 + 800001d8: 00300393 li t2,3 + 800001dc: 48771463 bne a4,t2,80000664 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00700593 li a1,7 + 800001e8: 00300613 li a2,3 + 800001ec: 0ac5c733 min a4,a1,a2 + 800001f0: 00300393 li t2,3 + 800001f4: 46771863 bne a4,t2,80000664 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 00000593 li a1,0 + 80000200: ffff8637 lui a2,0xffff8 + 80000204: 0ac5c733 min a4,a1,a2 + 80000208: ffff83b7 lui t2,0xffff8 + 8000020c: 44771c63 bne a4,t2,80000664 + +0000000080000210 : + 80000210: 00700193 li gp,7 + 80000214: 800005b7 lui a1,0x80000 + 80000218: 00000613 li a2,0 + 8000021c: 0ac5c733 min a4,a1,a2 + 80000220: 800003b7 lui t2,0x80000 + 80000224: 44771063 bne a4,t2,80000664 + +0000000080000228 : + 80000228: 00800193 li gp,8 + 8000022c: 800005b7 lui a1,0x80000 + 80000230: ffff8637 lui a2,0xffff8 + 80000234: 0ac5c733 min a4,a1,a2 + 80000238: 800003b7 lui t2,0x80000 + 8000023c: 42771463 bne a4,t2,80000664 + +0000000080000240 : + 80000240: 00900193 li gp,9 + 80000244: 00000593 li a1,0 + 80000248: 00008637 lui a2,0x8 + 8000024c: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 80000250: 0ac5c733 min a4,a1,a2 + 80000254: 00000393 li t2,0 + 80000258: 40771663 bne a4,t2,80000664 + +000000008000025c : + 8000025c: 00a00193 li gp,10 + 80000260: 800005b7 lui a1,0x80000 + 80000264: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000268: 00000613 li a2,0 + 8000026c: 0ac5c733 min a4,a1,a2 + 80000270: 00000393 li t2,0 + 80000274: 3e771863 bne a4,t2,80000664 + +0000000080000278 : + 80000278: 00b00193 li gp,11 + 8000027c: 800005b7 lui a1,0x80000 + 80000280: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000284: 00008637 lui a2,0x8 + 80000288: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 8000028c: 0ac5c733 min a4,a1,a2 + 80000290: 000083b7 lui t2,0x8 + 80000294: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000298: 3c771663 bne a4,t2,80000664 + +000000008000029c : + 8000029c: 00c00193 li gp,12 + 800002a0: 800005b7 lui a1,0x80000 + 800002a4: 00008637 lui a2,0x8 + 800002a8: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002ac: 0ac5c733 min a4,a1,a2 + 800002b0: 800003b7 lui t2,0x80000 + 800002b4: 3a771863 bne a4,t2,80000664 + +00000000800002b8 : + 800002b8: 00d00193 li gp,13 + 800002bc: 800005b7 lui a1,0x80000 + 800002c0: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002c4: ffff8637 lui a2,0xffff8 + 800002c8: 0ac5c733 min a4,a1,a2 + 800002cc: ffff83b7 lui t2,0xffff8 + 800002d0: 38771a63 bne a4,t2,80000664 + +00000000800002d4 : + 800002d4: 00e00193 li gp,14 + 800002d8: 00000593 li a1,0 + 800002dc: fff00613 li a2,-1 + 800002e0: 0ac5c733 min a4,a1,a2 + 800002e4: fff00393 li t2,-1 + 800002e8: 36771e63 bne a4,t2,80000664 + +00000000800002ec : + 800002ec: 00f00193 li gp,15 + 800002f0: fff00593 li a1,-1 + 800002f4: 00100613 li a2,1 + 800002f8: 0ac5c733 min a4,a1,a2 + 800002fc: fff00393 li t2,-1 + 80000300: 36771263 bne a4,t2,80000664 + +0000000080000304 : + 80000304: 01000193 li gp,16 + 80000308: fff00593 li a1,-1 + 8000030c: fff00613 li a2,-1 + 80000310: 0ac5c733 min a4,a1,a2 + 80000314: fff00393 li t2,-1 + 80000318: 34771663 bne a4,t2,80000664 + +000000008000031c : + 8000031c: 01100193 li gp,17 + 80000320: 00e00593 li a1,14 + 80000324: 00d00613 li a2,13 + 80000328: 0ac5c5b3 min a1,a1,a2 + 8000032c: 00d00393 li t2,13 + 80000330: 32759a63 bne a1,t2,80000664 + +0000000080000334 : + 80000334: 01200193 li gp,18 + 80000338: 00b00593 li a1,11 + 8000033c: 00d00613 li a2,13 + 80000340: 0ac5c633 min a2,a1,a2 + 80000344: 00b00393 li t2,11 + 80000348: 30761e63 bne a2,t2,80000664 + +000000008000034c : + 8000034c: 01300193 li gp,19 + 80000350: 00d00593 li a1,13 + 80000354: 0ab5c5b3 min a1,a1,a1 + 80000358: 00d00393 li t2,13 + 8000035c: 30759463 bne a1,t2,80000664 + +0000000080000360 : + 80000360: 01400193 li gp,20 + 80000364: 00000213 li tp,0 + 80000368: 00b00093 li ra,11 + 8000036c: 00d00113 li sp,13 + 80000370: 0a20c733 min a4,ra,sp + 80000374: 00070313 mv t1,a4 + 80000378: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000037c: 00200293 li t0,2 + 80000380: fe5214e3 bne tp,t0,80000368 + 80000384: 00b00393 li t2,11 + 80000388: 2c731e63 bne t1,t2,80000664 + +000000008000038c : + 8000038c: 01500193 li gp,21 + 80000390: 00000213 li tp,0 + 80000394: 00e00093 li ra,14 + 80000398: 00d00113 li sp,13 + 8000039c: 0a20c733 min a4,ra,sp + 800003a0: 00000013 nop + 800003a4: 00070313 mv t1,a4 + 800003a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003ac: 00200293 li t0,2 + 800003b0: fe5212e3 bne tp,t0,80000394 + 800003b4: 00d00393 li t2,13 + 800003b8: 2a731663 bne t1,t2,80000664 + +00000000800003bc : + 800003bc: 01600193 li gp,22 + 800003c0: 00000213 li tp,0 + 800003c4: 00c00093 li ra,12 + 800003c8: 00d00113 li sp,13 + 800003cc: 0a20c733 min a4,ra,sp + 800003d0: 00000013 nop + 800003d4: 00000013 nop + 800003d8: 00070313 mv t1,a4 + 800003dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003e0: 00200293 li t0,2 + 800003e4: fe5210e3 bne tp,t0,800003c4 + 800003e8: 00c00393 li t2,12 + 800003ec: 26731c63 bne t1,t2,80000664 + +00000000800003f0 : + 800003f0: 01700193 li gp,23 + 800003f4: 00000213 li tp,0 + 800003f8: 00e00093 li ra,14 + 800003fc: 00d00113 li sp,13 + 80000400: 0a20c733 min a4,ra,sp + 80000404: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000408: 00200293 li t0,2 + 8000040c: fe5216e3 bne tp,t0,800003f8 + 80000410: 00d00393 li t2,13 + 80000414: 24771863 bne a4,t2,80000664 + +0000000080000418 : + 80000418: 01800193 li gp,24 + 8000041c: 00000213 li tp,0 + 80000420: 00b00093 li ra,11 + 80000424: 00d00113 li sp,13 + 80000428: 00000013 nop + 8000042c: 0a20c733 min a4,ra,sp + 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000434: 00200293 li t0,2 + 80000438: fe5214e3 bne tp,t0,80000420 + 8000043c: 00b00393 li t2,11 + 80000440: 22771263 bne a4,t2,80000664 + +0000000080000444 : + 80000444: 01900193 li gp,25 + 80000448: 00000213 li tp,0 + 8000044c: 00f00093 li ra,15 + 80000450: 00d00113 li sp,13 + 80000454: 00000013 nop + 80000458: 00000013 nop + 8000045c: 0a20c733 min a4,ra,sp + 80000460: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000464: 00200293 li t0,2 + 80000468: fe5212e3 bne tp,t0,8000044c + 8000046c: 00d00393 li t2,13 + 80000470: 1e771a63 bne a4,t2,80000664 + +0000000080000474 : + 80000474: 01a00193 li gp,26 + 80000478: 00000213 li tp,0 + 8000047c: 00a00093 li ra,10 + 80000480: 00000013 nop + 80000484: 00d00113 li sp,13 + 80000488: 0a20c733 min a4,ra,sp + 8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000490: 00200293 li t0,2 + 80000494: fe5214e3 bne tp,t0,8000047c + 80000498: 00a00393 li t2,10 + 8000049c: 1c771463 bne a4,t2,80000664 + +00000000800004a0 : + 800004a0: 01b00193 li gp,27 + 800004a4: 00000213 li tp,0 + 800004a8: 01000093 li ra,16 + 800004ac: 00000013 nop + 800004b0: 00d00113 li sp,13 + 800004b4: 00000013 nop + 800004b8: 0a20c733 min a4,ra,sp + 800004bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004c0: 00200293 li t0,2 + 800004c4: fe5212e3 bne tp,t0,800004a8 + 800004c8: 00d00393 li t2,13 + 800004cc: 18771c63 bne a4,t2,80000664 + +00000000800004d0 : + 800004d0: 01c00193 li gp,28 + 800004d4: 00000213 li tp,0 + 800004d8: 00900093 li ra,9 + 800004dc: 00000013 nop + 800004e0: 00000013 nop + 800004e4: 00d00113 li sp,13 + 800004e8: 0a20c733 min a4,ra,sp + 800004ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004f0: 00200293 li t0,2 + 800004f4: fe5212e3 bne tp,t0,800004d8 + 800004f8: 00900393 li t2,9 + 800004fc: 16771463 bne a4,t2,80000664 + +0000000080000500 : + 80000500: 01d00193 li gp,29 + 80000504: 00000213 li tp,0 + 80000508: 00d00113 li sp,13 + 8000050c: 01100093 li ra,17 + 80000510: 0a20c733 min a4,ra,sp + 80000514: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000518: 00200293 li t0,2 + 8000051c: fe5216e3 bne tp,t0,80000508 + 80000520: 00d00393 li t2,13 + 80000524: 14771063 bne a4,t2,80000664 + +0000000080000528 : + 80000528: 01e00193 li gp,30 + 8000052c: 00000213 li tp,0 + 80000530: 00d00113 li sp,13 + 80000534: 00800093 li ra,8 + 80000538: 00000013 nop + 8000053c: 0a20c733 min a4,ra,sp + 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000544: 00200293 li t0,2 + 80000548: fe5214e3 bne tp,t0,80000530 + 8000054c: 00800393 li t2,8 + 80000550: 10771a63 bne a4,t2,80000664 + +0000000080000554 : + 80000554: 01f00193 li gp,31 + 80000558: 00000213 li tp,0 + 8000055c: 00d00113 li sp,13 + 80000560: 01200093 li ra,18 + 80000564: 00000013 nop + 80000568: 00000013 nop + 8000056c: 0a20c733 min a4,ra,sp + 80000570: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000574: 00200293 li t0,2 + 80000578: fe5212e3 bne tp,t0,8000055c + 8000057c: 00d00393 li t2,13 + 80000580: 0e771263 bne a4,t2,80000664 + +0000000080000584 : + 80000584: 02000193 li gp,32 + 80000588: 00000213 li tp,0 + 8000058c: 00d00113 li sp,13 + 80000590: 00000013 nop + 80000594: 00700093 li ra,7 + 80000598: 0a20c733 min a4,ra,sp + 8000059c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005a0: 00200293 li t0,2 + 800005a4: fe5214e3 bne tp,t0,8000058c + 800005a8: 00700393 li t2,7 + 800005ac: 0a771c63 bne a4,t2,80000664 + +00000000800005b0 : + 800005b0: 02100193 li gp,33 + 800005b4: 00000213 li tp,0 + 800005b8: 00d00113 li sp,13 + 800005bc: 00000013 nop + 800005c0: 01300093 li ra,19 + 800005c4: 00000013 nop + 800005c8: 0a20c733 min a4,ra,sp + 800005cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005d0: 00200293 li t0,2 + 800005d4: fe5212e3 bne tp,t0,800005b8 + 800005d8: 00d00393 li t2,13 + 800005dc: 08771463 bne a4,t2,80000664 + +00000000800005e0 : + 800005e0: 02200193 li gp,34 + 800005e4: 00000213 li tp,0 + 800005e8: 00d00113 li sp,13 + 800005ec: 00000013 nop + 800005f0: 00000013 nop + 800005f4: 00600093 li ra,6 + 800005f8: 0a20c733 min a4,ra,sp + 800005fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000600: 00200293 li t0,2 + 80000604: fe5212e3 bne tp,t0,800005e8 + 80000608: 00600393 li t2,6 + 8000060c: 04771c63 bne a4,t2,80000664 + +0000000080000610 : + 80000610: 02300193 li gp,35 + 80000614: fff00093 li ra,-1 + 80000618: 0a104133 min sp,zero,ra + 8000061c: fff00393 li t2,-1 + 80000620: 04711263 bne sp,t2,80000664 + +0000000080000624 : + 80000624: 02400193 li gp,36 + 80000628: fff00093 li ra,-1 + 8000062c: 0a00c133 min sp,ra,zero + 80000630: fff00393 li t2,-1 + 80000634: 02711863 bne sp,t2,80000664 + +0000000080000638 : + 80000638: 02500193 li gp,37 + 8000063c: 0a0040b3 min ra,zero,zero + 80000640: 00000393 li t2,0 + 80000644: 02709063 bne ra,t2,80000664 + +0000000080000648 : + 80000648: 02600193 li gp,38 + 8000064c: 01000093 li ra,16 + 80000650: 01e00113 li sp,30 + 80000654: 0a20c033 min zero,ra,sp + 80000658: 00000393 li t2,0 + 8000065c: 00701463 bne zero,t2,80000664 + 80000660: 02301063 bne zero,gp,80000680 + +0000000080000664 : + 80000664: 0ff0000f fence + 80000668: 00018063 beqz gp,80000668 + 8000066c: 00119193 slli gp,gp,0x1 + 80000670: 0011e193 ori gp,gp,1 + 80000674: 05d00893 li a7,93 + 80000678: 00018513 mv a0,gp + 8000067c: 00000073 ecall + +0000000080000680 : + 80000680: 0ff0000f fence + 80000684: 00100193 li gp,1 + 80000688: 05d00893 li a7,93 + 8000068c: 00000513 li a0,0 + 80000690: 00000073 ecall + 80000694: c0001073 unimp + 80000698: 0000 .insn 2, 0x + 8000069a: 0000 .insn 2, 0x + 8000069c: 0000 .insn 2, 0x + 8000069e: 0000 .insn 2, 0x + 800006a0: 0000 .insn 2, 0x + 800006a2: 0000 .insn 2, 0x + 800006a4: 0000 .insn 2, 0x + 800006a6: 0000 .insn 2, 0x + 800006a8: 0000 .insn 2, 0x + 800006aa: 0000 .insn 2, 0x + 800006ac: 0000 .insn 2, 0x + 800006ae: 0000 .insn 2, 0x + 800006b0: 0000 .insn 2, 0x + 800006b2: 0000 .insn 2, 0x + 800006b4: 0000 .insn 2, 0x + 800006b6: 0000 .insn 2, 0x + 800006b8: 0000 .insn 2, 0x + 800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-min.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-min.hex new file mode 100644 index 0000000..d99eda3 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-min.hex @@ -0,0 +1,831 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000059300200193 +0ac5c73300000613 +4a771c6300000393 +0010059300300193 +0ac5c73300100613 +4a77106300100393 +0030059300400193 +0ac5c73300700613 +4877146300300393 +0070059300500193 +0ac5c73300300613 +4677186300300393 +0000059300600193 +0ac5c733ffff8637 +44771c63ffff83b7 +800005b700700193 +0ac5c73300000613 +44771063800003b7 +800005b700800193 +0ac5c733ffff8637 +42771463800003b7 +0000059300900193 +fff6061b00008637 +000003930ac5c733 +00a0019340771663 +fff5859b800005b7 +0ac5c73300000613 +3e77186300000393 +800005b700b00193 +00008637fff5859b +0ac5c733fff6061b +fff3839b000083b7 +00c001933c771663 +00008637800005b7 +0ac5c733fff6061b +3a771863800003b7 +800005b700d00193 +ffff8637fff5859b +ffff83b70ac5c733 +00e0019338771a63 +fff0061300000593 +fff003930ac5c733 +00f0019336771e63 +00100613fff00593 +fff003930ac5c733 +0100019336771263 +fff00613fff00593 +fff003930ac5c733 +0110019334771663 +00d0061300e00593 +00d003930ac5c5b3 +0120019332759a63 +00d0061300b00593 +00b003930ac5c633 +0130019330761e63 +0ab5c5b300d00593 +3075946300d00393 +0000021301400193 +00d0011300b00093 +000703130a20c733 +0020029300120213 +00b00393fe5214e3 +015001932c731e63 +00e0009300000213 +0a20c73300d00113 +0007031300000013 +0020029300120213 +00d00393fe5212e3 +016001932a731663 +00c0009300000213 +0a20c73300d00113 +0000001300000013 +0012021300070313 +fe5210e300200293 +26731c6300c00393 +0000021301700193 +00d0011300e00093 +001202130a20c733 +fe5216e300200293 +2477186300d00393 +0000021301800193 +00d0011300b00093 +0a20c73300000013 +0020029300120213 +00b00393fe5214e3 +0190019322771263 +00f0009300000213 +0000001300d00113 +0a20c73300000013 +0020029300120213 +00d00393fe5212e3 +01a001931e771a63 +00a0009300000213 +00d0011300000013 +001202130a20c733 +fe5214e300200293 +1c77146300a00393 +0000021301b00193 +0000001301000093 +0000001300d00113 +001202130a20c733 +fe5212e300200293 +18771c6300d00393 +0000021301c00193 +0000001300900093 +00d0011300000013 +001202130a20c733 +fe5212e300200293 +1677146300900393 +0000021301d00193 +0110009300d00113 +001202130a20c733 +fe5216e300200293 +1477106300d00393 +0000021301e00193 +0080009300d00113 +0a20c73300000013 +0020029300120213 +00800393fe5214e3 +01f0019310771a63 +00d0011300000213 +0000001301200093 +0a20c73300000013 +0020029300120213 +00d00393fe5212e3 +020001930e771263 +00d0011300000213 +0070009300000013 +001202130a20c733 +fe5214e300200293 +0a771c6300700393 +0000021302100193 +0000001300d00113 +0000001301300093 +001202130a20c733 +fe5212e300200293 +0877146300d00393 +0000021302200193 +0000001300d00113 +0060009300000013 +001202130a20c733 +fe5212e300200293 +04771c6300600393 +fff0009302300193 +fff003930a104133 +0240019304711263 +0a00c133fff00093 +02711863fff00393 +0a0040b302500193 +0270906300000393 +0100009302600193 +0a20c03301e00113 +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000664 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000210 +0000000000000000 +00010000000000cb +0000000080000228 +0000000000000000 +00010000000000d2 +0000000080000240 +0000000000000000 +00010000000000d9 +000000008000025c +0000000000000000 +00010000000000e1 +0000000080000278 +0000000000000000 +00010000000000e9 +000000008000029c +0000000000000000 +00010000000000f1 +00000000800002b8 +0000000000000000 +00010000000000f9 +00000000800002d4 +0000000000000000 +0001000000000101 +00000000800002ec +0000000000000000 +0001000000000109 +0000000080000304 +0000000000000000 +0001000000000111 +000000008000031c +0000000000000000 +0001000000000119 +0000000080000334 +0000000000000000 +0001000000000121 +000000008000034c +0000000000000000 +0001000000000129 +0000000080000360 +0000000000000000 +0001000000000131 +000000008000038c +0000000000000000 +0001000000000139 +00000000800003bc +0000000000000000 +0001000000000141 +00000000800003f0 +0000000000000000 +0001000000000149 +0000000080000418 +0000000000000000 +0001000000000151 +0000000080000444 +0000000000000000 +0001000000000159 +0000000080000474 +0000000000000000 +0001000000000161 +00000000800004a0 +0000000000000000 +0001000000000169 +00000000800004d0 +0000000000000000 +0001000000000171 +0000000080000500 +0000000000000000 +0001000000000179 +0000000080000528 +0000000000000000 +0001000000000181 +0000000080000554 +0000000000000000 +0001000000000189 +0000000080000584 +0000000000000000 +0001000000000191 +00000000800005b0 +0000000000000000 +0001000000000199 +00000000800005e0 +0000000000000000 +00010000000001a1 +0000000080000610 +0000000000000000 +00010000000001a9 +0000000080000624 +0000000000000000 +00010000000001b1 +0000000080000638 +0000000000000000 +00010000000001b9 +0000000080000648 +0000000000000000 +00010000000001c1 +0000000080000680 +0000000000000000 +00020010000001c6 +0000000080002000 +0000000000000000 +00020010000001d4 +0000000080002000 +0000000000000000 +00010010000001e4 +0000000080000000 +0000000000000000 +00020010000001eb +0000000080002000 +0000000000000000 +00020010000001f0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +4834777277636300 +76727824006f2e5a +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006bc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000558 +0000003300000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000025f8 +00000000000001f9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000027f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-minu.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-minu.dump new file mode 100644 index 0000000..15ffefe --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-minu.dump @@ -0,0 +1,545 @@ + +rv64uzbb-p-minu: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000593 li a1,0 + 800001a0: 00000613 li a2,0 + 800001a4: 0ac5d733 minu a4,a1,a2 + 800001a8: 00000393 li t2,0 + 800001ac: 50771863 bne a4,t2,800006bc + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 0ac5d733 minu a4,a1,a2 + 800001c0: 00100393 li t2,1 + 800001c4: 4e771c63 bne a4,t2,800006bc + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00300593 li a1,3 + 800001d0: 00700613 li a2,7 + 800001d4: 0ac5d733 minu a4,a1,a2 + 800001d8: 00300393 li t2,3 + 800001dc: 4e771063 bne a4,t2,800006bc + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00700593 li a1,7 + 800001e8: 00300613 li a2,3 + 800001ec: 0ac5d733 minu a4,a1,a2 + 800001f0: 00300393 li t2,3 + 800001f4: 4c771463 bne a4,t2,800006bc + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 00000593 li a1,0 + 80000200: 00020637 lui a2,0x20 + 80000204: fff6061b addiw a2,a2,-1 # 1ffff <_start-0x7ffe0001> + 80000208: 00f61613 slli a2,a2,0xf + 8000020c: 0ac5d733 minu a4,a1,a2 + 80000210: 00000393 li t2,0 + 80000214: 4a771463 bne a4,t2,800006bc + +0000000080000218 : + 80000218: 00700193 li gp,7 + 8000021c: 0010059b addiw a1,zero,1 + 80000220: 01f59593 slli a1,a1,0x1f + 80000224: 00000613 li a2,0 + 80000228: 0ac5d733 minu a4,a1,a2 + 8000022c: 00000393 li t2,0 + 80000230: 48771663 bne a4,t2,800006bc + +0000000080000234 : + 80000234: 00800193 li gp,8 + 80000238: 0010059b addiw a1,zero,1 + 8000023c: 01f59593 slli a1,a1,0x1f + 80000240: 00020637 lui a2,0x20 + 80000244: fff6061b addiw a2,a2,-1 # 1ffff <_start-0x7ffe0001> + 80000248: 00f61613 slli a2,a2,0xf + 8000024c: 0ac5d733 minu a4,a1,a2 + 80000250: 0010039b addiw t2,zero,1 + 80000254: 01f39393 slli t2,t2,0x1f + 80000258: 46771263 bne a4,t2,800006bc + +000000008000025c : + 8000025c: 00900193 li gp,9 + 80000260: 00000593 li a1,0 + 80000264: 00008637 lui a2,0x8 + 80000268: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 8000026c: 0ac5d733 minu a4,a1,a2 + 80000270: 00000393 li t2,0 + 80000274: 44771463 bne a4,t2,800006bc + +0000000080000278 : + 80000278: 00a00193 li gp,10 + 8000027c: 800005b7 lui a1,0x80000 + 80000280: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 80000284: 00000613 li a2,0 + 80000288: 0ac5d733 minu a4,a1,a2 + 8000028c: 00000393 li t2,0 + 80000290: 42771663 bne a4,t2,800006bc + +0000000080000294 : + 80000294: 00b00193 li gp,11 + 80000298: 800005b7 lui a1,0x80000 + 8000029c: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002a0: 00008637 lui a2,0x8 + 800002a4: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002a8: 0ac5d733 minu a4,a1,a2 + 800002ac: 000083b7 lui t2,0x8 + 800002b0: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 800002b4: 40771463 bne a4,t2,800006bc + +00000000800002b8 : + 800002b8: 00c00193 li gp,12 + 800002bc: 0010059b addiw a1,zero,1 + 800002c0: 01f59593 slli a1,a1,0x1f + 800002c4: 00008637 lui a2,0x8 + 800002c8: fff6061b addiw a2,a2,-1 # 7fff <_start-0x7fff8001> + 800002cc: 0ac5d733 minu a4,a1,a2 + 800002d0: 000083b7 lui t2,0x8 + 800002d4: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 800002d8: 3e771263 bne a4,t2,800006bc + +00000000800002dc : + 800002dc: 00d00193 li gp,13 + 800002e0: 800005b7 lui a1,0x80000 + 800002e4: fff5859b addiw a1,a1,-1 # 7fffffff <_start-0x1> + 800002e8: 00020637 lui a2,0x20 + 800002ec: fff6061b addiw a2,a2,-1 # 1ffff <_start-0x7ffe0001> + 800002f0: 00f61613 slli a2,a2,0xf + 800002f4: 0ac5d733 minu a4,a1,a2 + 800002f8: 800003b7 lui t2,0x80000 + 800002fc: fff3839b addiw t2,t2,-1 # 7fffffff <_start-0x1> + 80000300: 3a771e63 bne a4,t2,800006bc + +0000000080000304 : + 80000304: 00e00193 li gp,14 + 80000308: 00000593 li a1,0 + 8000030c: 0010061b addiw a2,zero,1 + 80000310: 02061613 slli a2,a2,0x20 + 80000314: fff60613 addi a2,a2,-1 + 80000318: 0ac5d733 minu a4,a1,a2 + 8000031c: 00000393 li t2,0 + 80000320: 38771e63 bne a4,t2,800006bc + +0000000080000324 : + 80000324: 00f00193 li gp,15 + 80000328: 0010059b addiw a1,zero,1 + 8000032c: 02059593 slli a1,a1,0x20 + 80000330: fff58593 addi a1,a1,-1 + 80000334: 00100613 li a2,1 + 80000338: 0ac5d733 minu a4,a1,a2 + 8000033c: 00100393 li t2,1 + 80000340: 36771e63 bne a4,t2,800006bc + +0000000080000344 : + 80000344: 01000193 li gp,16 + 80000348: 0010059b addiw a1,zero,1 + 8000034c: 02059593 slli a1,a1,0x20 + 80000350: fff58593 addi a1,a1,-1 + 80000354: 0010061b addiw a2,zero,1 + 80000358: 02061613 slli a2,a2,0x20 + 8000035c: fff60613 addi a2,a2,-1 + 80000360: 0ac5d733 minu a4,a1,a2 + 80000364: 0010039b addiw t2,zero,1 + 80000368: 02039393 slli t2,t2,0x20 + 8000036c: fff38393 addi t2,t2,-1 + 80000370: 34771663 bne a4,t2,800006bc + +0000000080000374 : + 80000374: 01100193 li gp,17 + 80000378: 00e00593 li a1,14 + 8000037c: 00d00613 li a2,13 + 80000380: 0ac5d5b3 minu a1,a1,a2 + 80000384: 00d00393 li t2,13 + 80000388: 32759a63 bne a1,t2,800006bc + +000000008000038c : + 8000038c: 01200193 li gp,18 + 80000390: 00b00593 li a1,11 + 80000394: 00d00613 li a2,13 + 80000398: 0ac5d633 minu a2,a1,a2 + 8000039c: 00b00393 li t2,11 + 800003a0: 30761e63 bne a2,t2,800006bc + +00000000800003a4 : + 800003a4: 01300193 li gp,19 + 800003a8: 00d00593 li a1,13 + 800003ac: 0ab5d5b3 minu a1,a1,a1 + 800003b0: 00d00393 li t2,13 + 800003b4: 30759463 bne a1,t2,800006bc + +00000000800003b8 : + 800003b8: 01400193 li gp,20 + 800003bc: 00000213 li tp,0 + 800003c0: 00b00093 li ra,11 + 800003c4: 00d00113 li sp,13 + 800003c8: 0a20d733 minu a4,ra,sp + 800003cc: 00070313 mv t1,a4 + 800003d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d4: 00200293 li t0,2 + 800003d8: fe5214e3 bne tp,t0,800003c0 + 800003dc: 00b00393 li t2,11 + 800003e0: 2c731e63 bne t1,t2,800006bc + +00000000800003e4 : + 800003e4: 01500193 li gp,21 + 800003e8: 00000213 li tp,0 + 800003ec: 00e00093 li ra,14 + 800003f0: 00d00113 li sp,13 + 800003f4: 0a20d733 minu a4,ra,sp + 800003f8: 00000013 nop + 800003fc: 00070313 mv t1,a4 + 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000404: 00200293 li t0,2 + 80000408: fe5212e3 bne tp,t0,800003ec + 8000040c: 00d00393 li t2,13 + 80000410: 2a731663 bne t1,t2,800006bc + +0000000080000414 : + 80000414: 01600193 li gp,22 + 80000418: 00000213 li tp,0 + 8000041c: 00c00093 li ra,12 + 80000420: 00d00113 li sp,13 + 80000424: 0a20d733 minu a4,ra,sp + 80000428: 00000013 nop + 8000042c: 00000013 nop + 80000430: 00070313 mv t1,a4 + 80000434: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000438: 00200293 li t0,2 + 8000043c: fe5210e3 bne tp,t0,8000041c + 80000440: 00c00393 li t2,12 + 80000444: 26731c63 bne t1,t2,800006bc + +0000000080000448 : + 80000448: 01700193 li gp,23 + 8000044c: 00000213 li tp,0 + 80000450: 00e00093 li ra,14 + 80000454: 00d00113 li sp,13 + 80000458: 0a20d733 minu a4,ra,sp + 8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000460: 00200293 li t0,2 + 80000464: fe5216e3 bne tp,t0,80000450 + 80000468: 00d00393 li t2,13 + 8000046c: 24771863 bne a4,t2,800006bc + +0000000080000470 : + 80000470: 01800193 li gp,24 + 80000474: 00000213 li tp,0 + 80000478: 00b00093 li ra,11 + 8000047c: 00d00113 li sp,13 + 80000480: 00000013 nop + 80000484: 0a20d733 minu a4,ra,sp + 80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000048c: 00200293 li t0,2 + 80000490: fe5214e3 bne tp,t0,80000478 + 80000494: 00b00393 li t2,11 + 80000498: 22771263 bne a4,t2,800006bc + +000000008000049c : + 8000049c: 01900193 li gp,25 + 800004a0: 00000213 li tp,0 + 800004a4: 00f00093 li ra,15 + 800004a8: 00d00113 li sp,13 + 800004ac: 00000013 nop + 800004b0: 00000013 nop + 800004b4: 0a20d733 minu a4,ra,sp + 800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004bc: 00200293 li t0,2 + 800004c0: fe5212e3 bne tp,t0,800004a4 + 800004c4: 00d00393 li t2,13 + 800004c8: 1e771a63 bne a4,t2,800006bc + +00000000800004cc : + 800004cc: 01a00193 li gp,26 + 800004d0: 00000213 li tp,0 + 800004d4: 00a00093 li ra,10 + 800004d8: 00000013 nop + 800004dc: 00d00113 li sp,13 + 800004e0: 0a20d733 minu a4,ra,sp + 800004e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004e8: 00200293 li t0,2 + 800004ec: fe5214e3 bne tp,t0,800004d4 + 800004f0: 00a00393 li t2,10 + 800004f4: 1c771463 bne a4,t2,800006bc + +00000000800004f8 : + 800004f8: 01b00193 li gp,27 + 800004fc: 00000213 li tp,0 + 80000500: 01000093 li ra,16 + 80000504: 00000013 nop + 80000508: 00d00113 li sp,13 + 8000050c: 00000013 nop + 80000510: 0a20d733 minu a4,ra,sp + 80000514: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000518: 00200293 li t0,2 + 8000051c: fe5212e3 bne tp,t0,80000500 + 80000520: 00d00393 li t2,13 + 80000524: 18771c63 bne a4,t2,800006bc + +0000000080000528 : + 80000528: 01c00193 li gp,28 + 8000052c: 00000213 li tp,0 + 80000530: 00900093 li ra,9 + 80000534: 00000013 nop + 80000538: 00000013 nop + 8000053c: 00d00113 li sp,13 + 80000540: 0a20d733 minu a4,ra,sp + 80000544: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000548: 00200293 li t0,2 + 8000054c: fe5212e3 bne tp,t0,80000530 + 80000550: 00900393 li t2,9 + 80000554: 16771463 bne a4,t2,800006bc + +0000000080000558 : + 80000558: 01d00193 li gp,29 + 8000055c: 00000213 li tp,0 + 80000560: 00d00113 li sp,13 + 80000564: 01100093 li ra,17 + 80000568: 0a20d733 minu a4,ra,sp + 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000570: 00200293 li t0,2 + 80000574: fe5216e3 bne tp,t0,80000560 + 80000578: 00d00393 li t2,13 + 8000057c: 14771063 bne a4,t2,800006bc + +0000000080000580 : + 80000580: 01e00193 li gp,30 + 80000584: 00000213 li tp,0 + 80000588: 00d00113 li sp,13 + 8000058c: 00800093 li ra,8 + 80000590: 00000013 nop + 80000594: 0a20d733 minu a4,ra,sp + 80000598: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000059c: 00200293 li t0,2 + 800005a0: fe5214e3 bne tp,t0,80000588 + 800005a4: 00800393 li t2,8 + 800005a8: 10771a63 bne a4,t2,800006bc + +00000000800005ac : + 800005ac: 01f00193 li gp,31 + 800005b0: 00000213 li tp,0 + 800005b4: 00d00113 li sp,13 + 800005b8: 01200093 li ra,18 + 800005bc: 00000013 nop + 800005c0: 00000013 nop + 800005c4: 0a20d733 minu a4,ra,sp + 800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005cc: 00200293 li t0,2 + 800005d0: fe5212e3 bne tp,t0,800005b4 + 800005d4: 00d00393 li t2,13 + 800005d8: 0e771263 bne a4,t2,800006bc + +00000000800005dc : + 800005dc: 02000193 li gp,32 + 800005e0: 00000213 li tp,0 + 800005e4: 00d00113 li sp,13 + 800005e8: 00000013 nop + 800005ec: 00700093 li ra,7 + 800005f0: 0a20d733 minu a4,ra,sp + 800005f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005f8: 00200293 li t0,2 + 800005fc: fe5214e3 bne tp,t0,800005e4 + 80000600: 00700393 li t2,7 + 80000604: 0a771c63 bne a4,t2,800006bc + +0000000080000608 : + 80000608: 02100193 li gp,33 + 8000060c: 00000213 li tp,0 + 80000610: 00d00113 li sp,13 + 80000614: 00000013 nop + 80000618: 01300093 li ra,19 + 8000061c: 00000013 nop + 80000620: 0a20d733 minu a4,ra,sp + 80000624: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000628: 00200293 li t0,2 + 8000062c: fe5212e3 bne tp,t0,80000610 + 80000630: 00d00393 li t2,13 + 80000634: 08771463 bne a4,t2,800006bc + +0000000080000638 : + 80000638: 02200193 li gp,34 + 8000063c: 00000213 li tp,0 + 80000640: 00d00113 li sp,13 + 80000644: 00000013 nop + 80000648: 00000013 nop + 8000064c: 00600093 li ra,6 + 80000650: 0a20d733 minu a4,ra,sp + 80000654: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000658: 00200293 li t0,2 + 8000065c: fe5212e3 bne tp,t0,80000640 + 80000660: 00600393 li t2,6 + 80000664: 04771c63 bne a4,t2,800006bc + +0000000080000668 : + 80000668: 02300193 li gp,35 + 8000066c: fff00093 li ra,-1 + 80000670: 0a105133 minu sp,zero,ra + 80000674: 00000393 li t2,0 + 80000678: 04711263 bne sp,t2,800006bc + +000000008000067c : + 8000067c: 02400193 li gp,36 + 80000680: fff00093 li ra,-1 + 80000684: 0a00d133 minu sp,ra,zero + 80000688: 00000393 li t2,0 + 8000068c: 02711863 bne sp,t2,800006bc + +0000000080000690 : + 80000690: 02500193 li gp,37 + 80000694: 0a0050b3 minu ra,zero,zero + 80000698: 00000393 li t2,0 + 8000069c: 02709063 bne ra,t2,800006bc + +00000000800006a0 : + 800006a0: 02600193 li gp,38 + 800006a4: 01000093 li ra,16 + 800006a8: 01e00113 li sp,30 + 800006ac: 0a20d033 minu zero,ra,sp + 800006b0: 00000393 li t2,0 + 800006b4: 00701463 bne zero,t2,800006bc + 800006b8: 02301063 bne zero,gp,800006d8 + +00000000800006bc : + 800006bc: 0ff0000f fence + 800006c0: 00018063 beqz gp,800006c0 + 800006c4: 00119193 slli gp,gp,0x1 + 800006c8: 0011e193 ori gp,gp,1 + 800006cc: 05d00893 li a7,93 + 800006d0: 00018513 mv a0,gp + 800006d4: 00000073 ecall + +00000000800006d8 : + 800006d8: 0ff0000f fence + 800006dc: 00100193 li gp,1 + 800006e0: 05d00893 li a7,93 + 800006e4: 00000513 li a0,0 + 800006e8: 00000073 ecall + 800006ec: c0001073 unimp + 800006f0: 0000 .insn 2, 0x + 800006f2: 0000 .insn 2, 0x + 800006f4: 0000 .insn 2, 0x + 800006f6: 0000 .insn 2, 0x + 800006f8: 0000 .insn 2, 0x + 800006fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-minu.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-minu.hex new file mode 100644 index 0000000..6e1b069 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-minu.hex @@ -0,0 +1,831 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000059300200193 +0ac5d73300000613 +5077186300000393 +0010059300300193 +0ac5d73300100613 +4e771c6300100393 +0030059300400193 +0ac5d73300700613 +4e77106300300393 +0070059300500193 +0ac5d73300300613 +4c77146300300393 +0000059300600193 +fff6061b00020637 +0ac5d73300f61613 +4a77146300000393 +0010059b00700193 +0000061301f59593 +000003930ac5d733 +0080019348771663 +01f595930010059b +fff6061b00020637 +0ac5d73300f61613 +01f393930010039b +0090019346771263 +0000863700000593 +0ac5d733fff6061b +4477146300000393 +800005b700a00193 +00000613fff5859b +000003930ac5d733 +00b0019342771663 +fff5859b800005b7 +fff6061b00008637 +000083b70ac5d733 +40771463fff3839b +0010059b00c00193 +0000863701f59593 +0ac5d733fff6061b +fff3839b000083b7 +00d001933e771263 +fff5859b800005b7 +fff6061b00020637 +0ac5d73300f61613 +fff3839b800003b7 +00e001933a771e63 +0010061b00000593 +fff6061302061613 +000003930ac5d733 +00f0019338771e63 +020595930010059b +00100613fff58593 +001003930ac5d733 +0100019336771e63 +020595930010059b +0010061bfff58593 +fff6061302061613 +0010039b0ac5d733 +fff3839302039393 +0110019334771663 +00d0061300e00593 +00d003930ac5d5b3 +0120019332759a63 +00d0061300b00593 +00b003930ac5d633 +0130019330761e63 +0ab5d5b300d00593 +3075946300d00393 +0000021301400193 +00d0011300b00093 +000703130a20d733 +0020029300120213 +00b00393fe5214e3 +015001932c731e63 +00e0009300000213 +0a20d73300d00113 +0007031300000013 +0020029300120213 +00d00393fe5212e3 +016001932a731663 +00c0009300000213 +0a20d73300d00113 +0000001300000013 +0012021300070313 +fe5210e300200293 +26731c6300c00393 +0000021301700193 +00d0011300e00093 +001202130a20d733 +fe5216e300200293 +2477186300d00393 +0000021301800193 +00d0011300b00093 +0a20d73300000013 +0020029300120213 +00b00393fe5214e3 +0190019322771263 +00f0009300000213 +0000001300d00113 +0a20d73300000013 +0020029300120213 +00d00393fe5212e3 +01a001931e771a63 +00a0009300000213 +00d0011300000013 +001202130a20d733 +fe5214e300200293 +1c77146300a00393 +0000021301b00193 +0000001301000093 +0000001300d00113 +001202130a20d733 +fe5212e300200293 +18771c6300d00393 +0000021301c00193 +0000001300900093 +00d0011300000013 +001202130a20d733 +fe5212e300200293 +1677146300900393 +0000021301d00193 +0110009300d00113 +001202130a20d733 +fe5216e300200293 +1477106300d00393 +0000021301e00193 +0080009300d00113 +0a20d73300000013 +0020029300120213 +00800393fe5214e3 +01f0019310771a63 +00d0011300000213 +0000001301200093 +0a20d73300000013 +0020029300120213 +00d00393fe5212e3 +020001930e771263 +00d0011300000213 +0070009300000013 +001202130a20d733 +fe5214e300200293 +0a771c6300700393 +0000021302100193 +0000001300d00113 +0000001301300093 +001202130a20d733 +fe5212e300200293 +0877146300d00393 +0000021302200193 +0000001300d00113 +0060009300000013 +001202130a20d733 +fe5212e300200293 +04771c6300600393 +fff0009302300193 +000003930a105133 +0240019304711263 +0a00d133fff00093 +0271186300000393 +0a0050b302500193 +0270906300000393 +0100009302600193 +0a20d03301e00113 +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800006bc +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000218 +0000000000000000 +00010000000000cb +0000000080000234 +0000000000000000 +00010000000000d2 +000000008000025c +0000000000000000 +00010000000000d9 +0000000080000278 +0000000000000000 +00010000000000e1 +0000000080000294 +0000000000000000 +00010000000000e9 +00000000800002b8 +0000000000000000 +00010000000000f1 +00000000800002dc +0000000000000000 +00010000000000f9 +0000000080000304 +0000000000000000 +0001000000000101 +0000000080000324 +0000000000000000 +0001000000000109 +0000000080000344 +0000000000000000 +0001000000000111 +0000000080000374 +0000000000000000 +0001000000000119 +000000008000038c +0000000000000000 +0001000000000121 +00000000800003a4 +0000000000000000 +0001000000000129 +00000000800003b8 +0000000000000000 +0001000000000131 +00000000800003e4 +0000000000000000 +0001000000000139 +0000000080000414 +0000000000000000 +0001000000000141 +0000000080000448 +0000000000000000 +0001000000000149 +0000000080000470 +0000000000000000 +0001000000000151 +000000008000049c +0000000000000000 +0001000000000159 +00000000800004cc +0000000000000000 +0001000000000161 +00000000800004f8 +0000000000000000 +0001000000000169 +0000000080000528 +0000000000000000 +0001000000000171 +0000000080000558 +0000000000000000 +0001000000000179 +0000000080000580 +0000000000000000 +0001000000000181 +00000000800005ac +0000000000000000 +0001000000000189 +00000000800005dc +0000000000000000 +0001000000000191 +0000000080000608 +0000000000000000 +0001000000000199 +0000000080000638 +0000000000000000 +00010000000001a1 +0000000080000668 +0000000000000000 +00010000000001a9 +000000008000067c +0000000000000000 +00010000000001b1 +0000000080000690 +0000000000000000 +00010000000001b9 +00000000800006a0 +0000000000000000 +00010000000001c1 +00000000800006d8 +0000000000000000 +00020010000001c6 +0000000080002000 +0000000000000000 +00020010000001d4 +0000000080002000 +0000000000000000 +00010010000001e4 +0000000080000000 +0000000000000000 +00020010000001eb +0000000080002000 +0000000000000000 +00020010000001f0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +314c623649636300 +76727824006f2e69 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000558 +0000003300000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000025f8 +00000000000001f9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000027f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orc_b.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orc_b.dump new file mode 100644 index 0000000..cbd557b --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orc_b.dump @@ -0,0 +1,401 @@ + +rv64uzbb-p-orc_b: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000093 li ra,0 + 800001a0: 2870d713 orc.b a4,ra + 800001a4: 00000393 li t2,0 + 800001a8: 2e771a63 bne a4,t2,8000049c + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100093 li ra,1 + 800001b4: 2870d713 orc.b a4,ra + 800001b8: 0ff00393 li t2,255 + 800001bc: 2e771063 bne a4,t2,8000049c + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00300093 li ra,3 + 800001c8: 2870d713 orc.b a4,ra + 800001cc: 0ff00393 li t2,255 + 800001d0: 2c771663 bne a4,t2,8000049c + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: ffff80b7 lui ra,0xffff8 + 800001dc: 2870d713 orc.b a4,ra + 800001e0: f0000393 li t2,-256 + 800001e4: 2a771c63 bne a4,t2,8000049c + +00000000800001e8 : + 800001e8: 00600193 li gp,6 + 800001ec: 008000b7 lui ra,0x800 + 800001f0: 2870d713 orc.b a4,ra + 800001f4: 00ff03b7 lui t2,0xff0 + 800001f8: 2a771263 bne a4,t2,8000049c + +00000000800001fc : + 800001fc: 00700193 li gp,7 + 80000200: 0050009b addiw ra,zero,5 + 80000204: 02109093 slli ra,ra,0x21 + 80000208: fff08093 addi ra,ra,-1 # 7fffff <_start-0x7f800001> + 8000020c: 00f09093 slli ra,ra,0xf + 80000210: 2870d713 orc.b a4,ra + 80000214: 0010039b addiw t2,zero,1 + 80000218: 03839393 slli t2,t2,0x38 + 8000021c: f0038393 addi t2,t2,-256 # feff00 <_start-0x7f010100> + 80000220: 26771e63 bne a4,t2,8000049c + +0000000080000224 : + 80000224: 00800193 li gp,8 + 80000228: 000080b7 lui ra,0x8 + 8000022c: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 80000230: 2870d713 orc.b a4,ra + 80000234: 000103b7 lui t2,0x10 + 80000238: fff3839b addiw t2,t2,-1 # ffff <_start-0x7fff0001> + 8000023c: 26771063 bne a4,t2,8000049c + +0000000080000240 : + 80000240: 00900193 li gp,9 + 80000244: 800000b7 lui ra,0x80000 + 80000248: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 8000024c: 2870d713 orc.b a4,ra + 80000250: 0010039b addiw t2,zero,1 + 80000254: 02039393 slli t2,t2,0x20 + 80000258: fff38393 addi t2,t2,-1 + 8000025c: 24771063 bne a4,t2,8000049c + +0000000080000260 : + 80000260: 00a00193 li gp,10 + 80000264: 000800b7 lui ra,0x80 + 80000268: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 8000026c: 2870d713 orc.b a4,ra + 80000270: 010003b7 lui t2,0x1000 + 80000274: fff3839b addiw t2,t2,-1 # ffffff <_start-0x7f000001> + 80000278: 22771263 bne a4,t2,8000049c + +000000008000027c : + 8000027c: 00b00193 li gp,11 + 80000280: 800000b7 lui ra,0x80000 + 80000284: 2870d713 orc.b a4,ra + 80000288: ff0003b7 lui t2,0xff000 + 8000028c: 20771863 bne a4,t2,8000049c + +0000000080000290 : + 80000290: 00c00193 li gp,12 + 80000294: 7fabc0b7 lui ra,0x7fabc + 80000298: 7890809b addiw ra,ra,1929 # 7fabc789 <_start-0x543877> + 8000029c: 00d09093 slli ra,ra,0xd + 800002a0: 1f508093 addi ra,ra,501 + 800002a4: 00c09093 slli ra,ra,0xc + 800002a8: 2870d713 orc.b a4,ra + 800002ac: 0010039b addiw t2,zero,1 + 800002b0: 03839393 slli t2,t2,0x38 + 800002b4: f0038393 addi t2,t2,-256 # fffffffffeffff00 <_end+0xffffffff7effdf00> + 800002b8: 1e771263 bne a4,t2,8000049c + +00000000800002bc : + 800002bc: 00d00193 li gp,13 + 800002c0: fff0009b addiw ra,zero,-1 + 800002c4: 03f09093 slli ra,ra,0x3f + 800002c8: 2870d713 orc.b a4,ra + 800002cc: fff0039b addiw t2,zero,-1 + 800002d0: 03839393 slli t2,t2,0x38 + 800002d4: 1c771463 bne a4,t2,8000049c + +00000000800002d8 : + 800002d8: 00e00193 li gp,14 + 800002dc: 00e00093 li ra,14 + 800002e0: 2870d713 orc.b a4,ra + 800002e4: 0ff00393 li t2,255 + 800002e8: 1a771a63 bne a4,t2,8000049c + +00000000800002ec : + 800002ec: 00f00193 li gp,15 + 800002f0: ffd0009b addiw ra,zero,-3 + 800002f4: 02009093 slli ra,ra,0x20 + 800002f8: 01908093 addi ra,ra,25 + 800002fc: 01109093 slli ra,ra,0x11 + 80000300: 40108093 addi ra,ra,1025 + 80000304: 00c09093 slli ra,ra,0xc + 80000308: 34108093 addi ra,ra,833 + 8000030c: 2870d713 orc.b a4,ra + 80000310: ffff03b7 lui t2,0xffff0 + 80000314: 0013839b addiw t2,t2,1 # ffffffffffff0001 <_end+0xffffffff7ffee001> + 80000318: 02839393 slli t2,t2,0x28 + 8000031c: fff38393 addi t2,t2,-1 + 80000320: 16771e63 bne a4,t2,8000049c + +0000000080000324 : + 80000324: 01000193 li gp,16 + 80000328: 00d00093 li ra,13 + 8000032c: 2870d093 orc.b ra,ra + 80000330: 0ff00393 li t2,255 + 80000334: 16709463 bne ra,t2,8000049c + +0000000080000338 : + 80000338: 01100193 li gp,17 + 8000033c: 00b00093 li ra,11 + 80000340: 2870d093 orc.b ra,ra + 80000344: 0ff00393 li t2,255 + 80000348: 14709a63 bne ra,t2,8000049c + +000000008000034c : + 8000034c: 01200193 li gp,18 + 80000350: 00000213 li tp,0 + 80000354: 00d00093 li ra,13 + 80000358: 2870d713 orc.b a4,ra + 8000035c: 00070313 mv t1,a4 + 80000360: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000364: 00200293 li t0,2 + 80000368: fe5216e3 bne tp,t0,80000354 + 8000036c: 0ff00393 li t2,255 + 80000370: 12731663 bne t1,t2,8000049c + +0000000080000374 : + 80000374: 01d00193 li gp,29 + 80000378: 00000213 li tp,0 + 8000037c: 01300093 li ra,19 + 80000380: 2870d713 orc.b a4,ra + 80000384: 00000013 nop + 80000388: 00070313 mv t1,a4 + 8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000390: 00200293 li t0,2 + 80000394: fe5214e3 bne tp,t0,8000037c + 80000398: 0ff00393 li t2,255 + 8000039c: 10731063 bne t1,t2,8000049c + +00000000800003a0 : + 800003a0: 01400193 li gp,20 + 800003a4: 00000213 li tp,0 + 800003a8: 02200093 li ra,34 + 800003ac: 2870d713 orc.b a4,ra + 800003b0: 00000013 nop + 800003b4: 00000013 nop + 800003b8: 00070313 mv t1,a4 + 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c0: 00200293 li t0,2 + 800003c4: fe5212e3 bne tp,t0,800003a8 + 800003c8: 0ff00393 li t2,255 + 800003cc: 0c731863 bne t1,t2,8000049c + +00000000800003d0 : + 800003d0: 01500193 li gp,21 + 800003d4: 007f80b7 lui ra,0x7f8 + 800003d8: 2870d713 orc.b a4,ra + 800003dc: 010003b7 lui t2,0x1000 + 800003e0: f003839b addiw t2,t2,-256 # ffff00 <_start-0x7f000100> + 800003e4: 0a771c63 bne a4,t2,8000049c + +00000000800003e8 : + 800003e8: 01600193 li gp,22 + 800003ec: 008080b7 lui ra,0x808 + 800003f0: 2870d713 orc.b a4,ra + 800003f4: 010003b7 lui t2,0x1000 + 800003f8: f003839b addiw t2,t2,-256 # ffff00 <_start-0x7f000100> + 800003fc: 0a771063 bne a4,t2,8000049c + +0000000080000400 : + 80000400: 01700193 li gp,23 + 80000404: 018080b7 lui ra,0x1808 + 80000408: 2870d713 orc.b a4,ra + 8000040c: 0010039b addiw t2,zero,1 + 80000410: 02039393 slli t2,t2,0x20 + 80000414: f0038393 addi t2,t2,-256 + 80000418: 08771263 bne a4,t2,8000049c + +000000008000041c : + 8000041c: 01800193 li gp,24 + 80000420: 000600b7 lui ra,0x60 + 80000424: 0010809b addiw ra,ra,1 # 60001 <_start-0x7ff9ffff> + 80000428: 00f09093 slli ra,ra,0xf + 8000042c: fff08093 addi ra,ra,-1 + 80000430: 2870d713 orc.b a4,ra + 80000434: 00ff03b7 lui t2,0xff0 + 80000438: 0013839b addiw t2,t2,1 # ff0001 <_start-0x7f00ffff> + 8000043c: 01039393 slli t2,t2,0x10 + 80000440: fff38393 addi t2,t2,-1 + 80000444: 04771c63 bne a4,t2,8000049c + +0000000080000448 : + 80000448: 01900193 li gp,25 + 8000044c: 00f0009b addiw ra,zero,15 + 80000450: 01f09093 slli ra,ra,0x1f + 80000454: fff08093 addi ra,ra,-1 + 80000458: 2870d713 orc.b a4,ra + 8000045c: 0010039b addiw t2,zero,1 + 80000460: 02839393 slli t2,t2,0x28 + 80000464: fff38393 addi t2,t2,-1 + 80000468: 02771a63 bne a4,t2,8000049c + +000000008000046c : + 8000046c: 01a00193 li gp,26 + 80000470: 0001e0b7 lui ra,0x1e + 80000474: 0010809b addiw ra,ra,1 # 1e001 <_start-0x7ffe1fff> + 80000478: 01309093 slli ra,ra,0x13 + 8000047c: fff08093 addi ra,ra,-1 + 80000480: 2870d713 orc.b a4,ra + 80000484: 000103b7 lui t2,0x10 + 80000488: f013839b addiw t2,t2,-255 # ff01 <_start-0x7fff00ff> + 8000048c: 01839393 slli t2,t2,0x18 + 80000490: fff38393 addi t2,t2,-1 + 80000494: 00771463 bne a4,t2,8000049c + 80000498: 02301063 bne zero,gp,800004b8 + +000000008000049c : + 8000049c: 0ff0000f fence + 800004a0: 00018063 beqz gp,800004a0 + 800004a4: 00119193 slli gp,gp,0x1 + 800004a8: 0011e193 ori gp,gp,1 + 800004ac: 05d00893 li a7,93 + 800004b0: 00018513 mv a0,gp + 800004b4: 00000073 ecall + +00000000800004b8 : + 800004b8: 0ff0000f fence + 800004bc: 00100193 li gp,1 + 800004c0: 05d00893 li a7,93 + 800004c4: 00000513 li a0,0 + 800004c8: 00000073 ecall + 800004cc: c0001073 unimp + 800004d0: 0000 .insn 2, 0x + 800004d2: 0000 .insn 2, 0x + 800004d4: 0000 .insn 2, 0x + 800004d6: 0000 .insn 2, 0x + 800004d8: 0000 .insn 2, 0x + 800004da: 0000 .insn 2, 0x + 800004dc: 0000 .insn 2, 0x + 800004de: 0000 .insn 2, 0x + 800004e0: 0000 .insn 2, 0x + 800004e2: 0000 .insn 2, 0x + 800004e4: 0000 .insn 2, 0x + 800004e6: 0000 .insn 2, 0x + 800004e8: 0000 .insn 2, 0x + 800004ea: 0000 .insn 2, 0x + 800004ec: 0000 .insn 2, 0x + 800004ee: 0000 .insn 2, 0x + 800004f0: 0000 .insn 2, 0x + 800004f2: 0000 .insn 2, 0x + 800004f4: 0000 .insn 2, 0x + 800004f6: 0000 .insn 2, 0x + 800004f8: 0000 .insn 2, 0x + 800004fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orc_b.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orc_b.hex new file mode 100644 index 0000000..bec4fef --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orc_b.hex @@ -0,0 +1,783 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000009300200193 +000003932870d713 +003001932e771a63 +2870d71300100093 +2e7710630ff00393 +0030009300400193 +0ff003932870d713 +005001932c771663 +2870d713ffff80b7 +2a771c63f0000393 +008000b700600193 +00ff03b72870d713 +007001932a771263 +021090930050009b +00f09093fff08093 +0010039b2870d713 +f003839303839393 +0080019326771e63 +fff0809b000080b7 +000103b72870d713 +26771063fff3839b +800000b700900193 +2870d713fff0809b +020393930010039b +24771063fff38393 +000800b700a00193 +2870d713fff0809b +fff3839b010003b7 +00b0019322771263 +2870d713800000b7 +20771863ff0003b7 +7fabc0b700c00193 +00d090937890809b +00c090931f508093 +0010039b2870d713 +f003839303839393 +00d001931e771263 +03f09093fff0009b +fff0039b2870d713 +1c77146303839393 +00e0009300e00193 +0ff003932870d713 +00f001931a771a63 +02009093ffd0009b +0110909301908093 +00c0909340108093 +2870d71334108093 +0013839bffff03b7 +fff3839302839393 +0100019316771e63 +2870d09300d00093 +167094630ff00393 +00b0009301100193 +0ff003932870d093 +0120019314709a63 +00d0009300000213 +000703132870d713 +0020029300120213 +0ff00393fe5216e3 +01d0019312731663 +0130009300000213 +000000132870d713 +0012021300070313 +fe5214e300200293 +107310630ff00393 +0000021301400193 +2870d71302200093 +0000001300000013 +0012021300070313 +fe5212e300200293 +0c7318630ff00393 +007f80b701500193 +010003b72870d713 +0a771c63f003839b +008080b701600193 +010003b72870d713 +0a771063f003839b +018080b701700193 +0010039b2870d713 +f003839302039393 +0180019308771263 +0010809b000600b7 +fff0809300f09093 +00ff03b72870d713 +010393930013839b +04771c63fff38393 +00f0009b01900193 +fff0809301f09093 +0010039b2870d713 +fff3839302839393 +01a0019302771a63 +0010809b0001e0b7 +fff0809301309093 +000103b72870d713 +01839393f013839b +00771463fff38393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +000000008000049c +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001e8 +0000000000000000 +00010000000000c4 +00000000800001fc +0000000000000000 +00010000000000cb +0000000080000224 +0000000000000000 +00010000000000d2 +0000000080000240 +0000000000000000 +00010000000000d9 +0000000080000260 +0000000000000000 +00010000000000e1 +000000008000027c +0000000000000000 +00010000000000e9 +0000000080000290 +0000000000000000 +00010000000000f1 +00000000800002bc +0000000000000000 +00010000000000f9 +00000000800002d8 +0000000000000000 +0001000000000101 +00000000800002ec +0000000000000000 +0001000000000109 +0000000080000324 +0000000000000000 +0001000000000111 +0000000080000338 +0000000000000000 +0001000000000119 +000000008000034c +0000000000000000 +0001000000000121 +0000000080000374 +0000000000000000 +0001000000000129 +00000000800003a0 +0000000000000000 +0001000000000131 +00000000800003d0 +0000000000000000 +0001000000000139 +00000000800003e8 +0000000000000000 +0001000000000141 +0000000080000400 +0000000000000000 +0001000000000149 +000000008000041c +0000000000000000 +0001000000000151 +0000000080000448 +0000000000000000 +0001000000000159 +000000008000046c +0000000000000000 +0001000000000161 +00000000800004b8 +0000000000000000 +0002001000000166 +0000000080002000 +0000000000000000 +0002001000000174 +0000000080002000 +0000000000000000 +0001001000000184 +0000000080000000 +0000000000000000 +000200100000018b +0000000080002000 +0000000000000000 +0002001000000190 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +59306b6834636300 +76727824006f2e47 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39325f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000004fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000438 +0000002700000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024d8 +0000000000000199 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002671 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orn.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orn.dump new file mode 100644 index 0000000..286a926 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orn.dump @@ -0,0 +1,574 @@ + +rv64uzbb-p-orn: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: ff0105b7 lui a1,0xff010 + 800001a0: f005859b addiw a1,a1,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800001a4: 0f0f1637 lui a2,0xf0f1 + 800001a8: f0f6061b addiw a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> + 800001ac: 40c5e733 orn a4,a1,a2 + 800001b0: fff103b7 lui t2,0xfff10 + 800001b4: ff03839b addiw t2,t2,-16 # fffffffffff0fff0 <_end+0xffffffff7ff0dff0> + 800001b8: 5c771863 bne a4,t2,80000788 + +00000000800001bc : + 800001bc: 00300193 li gp,3 + 800001c0: 0ff015b7 lui a1,0xff01 + 800001c4: ff05859b addiw a1,a1,-16 # ff00ff0 <_start-0x700ff010> + 800001c8: f0f0f637 lui a2,0xf0f0f + 800001cc: 0f06061b addiw a2,a2,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 800001d0: 40c5e733 orn a4,a1,a2 + 800001d4: 0fff13b7 lui t2,0xfff1 + 800001d8: fff3839b addiw t2,t2,-1 # fff0fff <_start-0x7000f001> + 800001dc: 5a771663 bne a4,t2,80000788 + +00000000800001e0 : + 800001e0: 00400193 li gp,4 + 800001e4: 00ff05b7 lui a1,0xff0 + 800001e8: 0ff5859b addiw a1,a1,255 # ff00ff <_start-0x7f00ff01> + 800001ec: 0f0f1637 lui a2,0xf0f1 + 800001f0: f0f6061b addiw a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> + 800001f4: 40c5e733 orn a4,a1,a2 + 800001f8: f0fff3b7 lui t2,0xf0fff + 800001fc: 0ff3839b addiw t2,t2,255 # fffffffff0fff0ff <_end+0xffffffff70ffd0ff> + 80000200: 58771463 bne a4,t2,80000788 + +0000000080000204 : + 80000204: 00500193 li gp,5 + 80000208: f00ff5b7 lui a1,0xf00ff + 8000020c: 00f5859b addiw a1,a1,15 # fffffffff00ff00f <_end+0xffffffff700fd00f> + 80000210: f0f0f637 lui a2,0xf0f0f + 80000214: 0f06061b addiw a2,a2,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 80000218: 40c5e733 orn a4,a1,a2 + 8000021c: ff1003b7 lui t2,0xff100 + 80000220: f0f3839b addiw t2,t2,-241 # ffffffffff0fff0f <_end+0xffffffff7f0fdf0f> + 80000224: 56771263 bne a4,t2,80000788 + +0000000080000228 : + 80000228: 03200193 li gp,50 + 8000022c: 000105b7 lui a1,0x10 + 80000230: f015859b addiw a1,a1,-255 # ff01 <_start-0x7fff00ff> + 80000234: 01059593 slli a1,a1,0x10 + 80000238: f0158593 addi a1,a1,-255 + 8000023c: 01059593 slli a1,a1,0x10 + 80000240: f0158593 addi a1,a1,-255 + 80000244: 00c59593 slli a1,a1,0xc + 80000248: ff058593 addi a1,a1,-16 + 8000024c: ff0f1637 lui a2,0xff0f1 + 80000250: f0f6061b addiw a2,a2,-241 # ffffffffff0f0f0f <_end+0xffffffff7f0eef0f> + 80000254: 00c61613 slli a2,a2,0xc + 80000258: 0f160613 addi a2,a2,241 + 8000025c: 00c61613 slli a2,a2,0xc + 80000260: f0f60613 addi a2,a2,-241 + 80000264: 00c61613 slli a2,a2,0xc + 80000268: 0f060613 addi a2,a2,240 + 8000026c: 40c5e733 orn a4,a1,a2 + 80000270: 000103b7 lui t2,0x10 + 80000274: ff13839b addiw t2,t2,-15 # fff1 <_start-0x7fff000f> + 80000278: 01039393 slli t2,t2,0x10 + 8000027c: ff138393 addi t2,t2,-15 + 80000280: 01039393 slli t2,t2,0x10 + 80000284: ff138393 addi t2,t2,-15 + 80000288: 00c39393 slli t2,t2,0xc + 8000028c: fff38393 addi t2,t2,-1 + 80000290: 4e771c63 bne a4,t2,80000788 + +0000000080000294 : + 80000294: 03300193 li gp,51 + 80000298: 00ff05b7 lui a1,0xff0 + 8000029c: 0ff5859b addiw a1,a1,255 # ff00ff <_start-0x7f00ff01> + 800002a0: 01059593 slli a1,a1,0x10 + 800002a4: 0ff58593 addi a1,a1,255 + 800002a8: 01059593 slli a1,a1,0x10 + 800002ac: 0ff58593 addi a1,a1,255 + 800002b0: 00f0f637 lui a2,0xf0f + 800002b4: 0f16061b addiw a2,a2,241 # f0f0f1 <_start-0x7f0f0f0f> + 800002b8: 00c61613 slli a2,a2,0xc + 800002bc: f0f60613 addi a2,a2,-241 + 800002c0: 00c61613 slli a2,a2,0xc + 800002c4: 0f160613 addi a2,a2,241 + 800002c8: 00c61613 slli a2,a2,0xc + 800002cc: f0f60613 addi a2,a2,-241 + 800002d0: 40c5e733 orn a4,a1,a2 + 800002d4: fff103b7 lui t2,0xfff10 + 800002d8: ff13839b addiw t2,t2,-15 # fffffffffff0fff1 <_end+0xffffffff7ff0dff1> + 800002dc: 01039393 slli t2,t2,0x10 + 800002e0: ff138393 addi t2,t2,-15 + 800002e4: 00c39393 slli t2,t2,0xc + 800002e8: fff38393 addi t2,t2,-1 + 800002ec: 00c39393 slli t2,t2,0xc + 800002f0: 0ff38393 addi t2,t2,255 + 800002f4: 48771a63 bne a4,t2,80000788 + +00000000800002f8 : + 800002f8: 03400193 li gp,52 + 800002fc: ffff05b7 lui a1,0xffff0 + 80000300: 0ff5859b addiw a1,a1,255 # ffffffffffff00ff <_end+0xffffffff7ffee0ff> + 80000304: 01059593 slli a1,a1,0x10 + 80000308: 0ff58593 addi a1,a1,255 + 8000030c: 01059593 slli a1,a1,0x10 + 80000310: 0ff58593 addi a1,a1,255 + 80000314: 00c59593 slli a1,a1,0xc + 80000318: 00f58593 addi a1,a1,15 + 8000031c: ff0f1637 lui a2,0xff0f1 + 80000320: f0f6061b addiw a2,a2,-241 # ffffffffff0f0f0f <_end+0xffffffff7f0eef0f> + 80000324: 00c61613 slli a2,a2,0xc + 80000328: 0f160613 addi a2,a2,241 + 8000032c: 00c61613 slli a2,a2,0xc + 80000330: f0f60613 addi a2,a2,-241 + 80000334: 00c61613 slli a2,a2,0xc + 80000338: 0f060613 addi a2,a2,240 + 8000033c: 40c5e733 orn a4,a1,a2 + 80000340: fff103b7 lui t2,0xfff10 + 80000344: ff13839b addiw t2,t2,-15 # fffffffffff0fff1 <_end+0xffffffff7ff0dff1> + 80000348: 01039393 slli t2,t2,0x10 + 8000034c: ff138393 addi t2,t2,-15 + 80000350: 01439393 slli t2,t2,0x14 + 80000354: f0f38393 addi t2,t2,-241 + 80000358: 42771863 bne a4,t2,80000788 + +000000008000035c : + 8000035c: 00600193 li gp,6 + 80000360: ff0105b7 lui a1,0xff010 + 80000364: f005859b addiw a1,a1,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000368: 0f0f1637 lui a2,0xf0f1 + 8000036c: f0f6061b addiw a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000370: 40c5e5b3 orn a1,a1,a2 + 80000374: fff103b7 lui t2,0xfff10 + 80000378: ff03839b addiw t2,t2,-16 # fffffffffff0fff0 <_end+0xffffffff7ff0dff0> + 8000037c: 40759663 bne a1,t2,80000788 + +0000000080000380 : + 80000380: 00700193 li gp,7 + 80000384: ff0105b7 lui a1,0xff010 + 80000388: f005859b addiw a1,a1,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 8000038c: 0f0f1637 lui a2,0xf0f1 + 80000390: f0f6061b addiw a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000394: 40c5e633 orn a2,a1,a2 + 80000398: fff103b7 lui t2,0xfff10 + 8000039c: ff03839b addiw t2,t2,-16 # fffffffffff0fff0 <_end+0xffffffff7ff0dff0> + 800003a0: 3e761463 bne a2,t2,80000788 + +00000000800003a4 : + 800003a4: 00800193 li gp,8 + 800003a8: ff0105b7 lui a1,0xff010 + 800003ac: f005859b addiw a1,a1,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800003b0: 40b5e5b3 orn a1,a1,a1 + 800003b4: fff00393 li t2,-1 + 800003b8: 3c759863 bne a1,t2,80000788 + +00000000800003bc : + 800003bc: 00900193 li gp,9 + 800003c0: 00000213 li tp,0 + 800003c4: ff0100b7 lui ra,0xff010 + 800003c8: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800003cc: 0f0f1137 lui sp,0xf0f1 + 800003d0: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800003d4: 4020e733 orn a4,ra,sp + 800003d8: 00070313 mv t1,a4 + 800003dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003e0: 00200293 li t0,2 + 800003e4: fe5210e3 bne tp,t0,800003c4 + 800003e8: fff103b7 lui t2,0xfff10 + 800003ec: ff03839b addiw t2,t2,-16 # fffffffffff0fff0 <_end+0xffffffff7ff0dff0> + 800003f0: 38731c63 bne t1,t2,80000788 + +00000000800003f4 : + 800003f4: 00a00193 li gp,10 + 800003f8: 00000213 li tp,0 + 800003fc: 0ff010b7 lui ra,0xff01 + 80000400: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 80000404: f0f0f137 lui sp,0xf0f0f + 80000408: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 8000040c: 4020e733 orn a4,ra,sp + 80000410: 00000013 nop + 80000414: 00070313 mv t1,a4 + 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000041c: 00200293 li t0,2 + 80000420: fc521ee3 bne tp,t0,800003fc + 80000424: 0fff13b7 lui t2,0xfff1 + 80000428: fff3839b addiw t2,t2,-1 # fff0fff <_start-0x7000f001> + 8000042c: 34731e63 bne t1,t2,80000788 + +0000000080000430 : + 80000430: 00b00193 li gp,11 + 80000434: 00000213 li tp,0 + 80000438: 00ff00b7 lui ra,0xff0 + 8000043c: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 80000440: 0f0f1137 lui sp,0xf0f1 + 80000444: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000448: 4020e733 orn a4,ra,sp + 8000044c: 00000013 nop + 80000450: 00000013 nop + 80000454: 00070313 mv t1,a4 + 80000458: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000045c: 00200293 li t0,2 + 80000460: fc521ce3 bne tp,t0,80000438 + 80000464: f0fff3b7 lui t2,0xf0fff + 80000468: 0ff3839b addiw t2,t2,255 # fffffffff0fff0ff <_end+0xffffffff70ffd0ff> + 8000046c: 30731e63 bne t1,t2,80000788 + +0000000080000470 : + 80000470: 00c00193 li gp,12 + 80000474: 00000213 li tp,0 + 80000478: ff0100b7 lui ra,0xff010 + 8000047c: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000480: 0f0f1137 lui sp,0xf0f1 + 80000484: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000488: 4020e733 orn a4,ra,sp + 8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000490: 00200293 li t0,2 + 80000494: fe5212e3 bne tp,t0,80000478 + 80000498: fff103b7 lui t2,0xfff10 + 8000049c: ff03839b addiw t2,t2,-16 # fffffffffff0fff0 <_end+0xffffffff7ff0dff0> + 800004a0: 2e771463 bne a4,t2,80000788 + +00000000800004a4 : + 800004a4: 00d00193 li gp,13 + 800004a8: 00000213 li tp,0 + 800004ac: 0ff010b7 lui ra,0xff01 + 800004b0: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 800004b4: f0f0f137 lui sp,0xf0f0f + 800004b8: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 800004bc: 00000013 nop + 800004c0: 4020e733 orn a4,ra,sp + 800004c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004c8: 00200293 li t0,2 + 800004cc: fe5210e3 bne tp,t0,800004ac + 800004d0: 0fff13b7 lui t2,0xfff1 + 800004d4: fff3839b addiw t2,t2,-1 # fff0fff <_start-0x7000f001> + 800004d8: 2a771863 bne a4,t2,80000788 + +00000000800004dc : + 800004dc: 00e00193 li gp,14 + 800004e0: 00000213 li tp,0 + 800004e4: 00ff00b7 lui ra,0xff0 + 800004e8: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 800004ec: 0f0f1137 lui sp,0xf0f1 + 800004f0: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800004f4: 00000013 nop + 800004f8: 00000013 nop + 800004fc: 4020e733 orn a4,ra,sp + 80000500: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000504: 00200293 li t0,2 + 80000508: fc521ee3 bne tp,t0,800004e4 + 8000050c: f0fff3b7 lui t2,0xf0fff + 80000510: 0ff3839b addiw t2,t2,255 # fffffffff0fff0ff <_end+0xffffffff70ffd0ff> + 80000514: 26771a63 bne a4,t2,80000788 + +0000000080000518 : + 80000518: 00f00193 li gp,15 + 8000051c: 00000213 li tp,0 + 80000520: ff0100b7 lui ra,0xff010 + 80000524: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000528: 00000013 nop + 8000052c: 0f0f1137 lui sp,0xf0f1 + 80000530: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000534: 4020e733 orn a4,ra,sp + 80000538: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000053c: 00200293 li t0,2 + 80000540: fe5210e3 bne tp,t0,80000520 + 80000544: fff103b7 lui t2,0xfff10 + 80000548: ff03839b addiw t2,t2,-16 # fffffffffff0fff0 <_end+0xffffffff7ff0dff0> + 8000054c: 22771e63 bne a4,t2,80000788 + +0000000080000550 : + 80000550: 01000193 li gp,16 + 80000554: 00000213 li tp,0 + 80000558: 0ff010b7 lui ra,0xff01 + 8000055c: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 80000560: 00000013 nop + 80000564: f0f0f137 lui sp,0xf0f0f + 80000568: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 8000056c: 00000013 nop + 80000570: 4020e733 orn a4,ra,sp + 80000574: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000578: 00200293 li t0,2 + 8000057c: fc521ee3 bne tp,t0,80000558 + 80000580: 0fff13b7 lui t2,0xfff1 + 80000584: fff3839b addiw t2,t2,-1 # fff0fff <_start-0x7000f001> + 80000588: 20771063 bne a4,t2,80000788 + +000000008000058c : + 8000058c: 01100193 li gp,17 + 80000590: 00000213 li tp,0 + 80000594: 00ff00b7 lui ra,0xff0 + 80000598: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 8000059c: 00000013 nop + 800005a0: 00000013 nop + 800005a4: 0f0f1137 lui sp,0xf0f1 + 800005a8: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800005ac: 4020e733 orn a4,ra,sp + 800005b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005b4: 00200293 li t0,2 + 800005b8: fc521ee3 bne tp,t0,80000594 + 800005bc: f0fff3b7 lui t2,0xf0fff + 800005c0: 0ff3839b addiw t2,t2,255 # fffffffff0fff0ff <_end+0xffffffff70ffd0ff> + 800005c4: 1c771263 bne a4,t2,80000788 + +00000000800005c8 : + 800005c8: 01200193 li gp,18 + 800005cc: 00000213 li tp,0 + 800005d0: 0f0f1137 lui sp,0xf0f1 + 800005d4: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800005d8: ff0100b7 lui ra,0xff010 + 800005dc: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800005e0: 4020e733 orn a4,ra,sp + 800005e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005e8: 00200293 li t0,2 + 800005ec: fe5212e3 bne tp,t0,800005d0 + 800005f0: fff103b7 lui t2,0xfff10 + 800005f4: ff03839b addiw t2,t2,-16 # fffffffffff0fff0 <_end+0xffffffff7ff0dff0> + 800005f8: 18771863 bne a4,t2,80000788 + +00000000800005fc : + 800005fc: 01300193 li gp,19 + 80000600: 00000213 li tp,0 + 80000604: f0f0f137 lui sp,0xf0f0f + 80000608: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 8000060c: 0ff010b7 lui ra,0xff01 + 80000610: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 80000614: 00000013 nop + 80000618: 4020e733 orn a4,ra,sp + 8000061c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000620: 00200293 li t0,2 + 80000624: fe5210e3 bne tp,t0,80000604 + 80000628: 0fff13b7 lui t2,0xfff1 + 8000062c: fff3839b addiw t2,t2,-1 # fff0fff <_start-0x7000f001> + 80000630: 14771c63 bne a4,t2,80000788 + +0000000080000634 : + 80000634: 01400193 li gp,20 + 80000638: 00000213 li tp,0 + 8000063c: 0f0f1137 lui sp,0xf0f1 + 80000640: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000644: 00ff00b7 lui ra,0xff0 + 80000648: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 8000064c: 00000013 nop + 80000650: 00000013 nop + 80000654: 4020e733 orn a4,ra,sp + 80000658: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000065c: 00200293 li t0,2 + 80000660: fc521ee3 bne tp,t0,8000063c + 80000664: f0fff3b7 lui t2,0xf0fff + 80000668: 0ff3839b addiw t2,t2,255 # fffffffff0fff0ff <_end+0xffffffff70ffd0ff> + 8000066c: 10771e63 bne a4,t2,80000788 + +0000000080000670 : + 80000670: 01500193 li gp,21 + 80000674: 00000213 li tp,0 + 80000678: 0f0f1137 lui sp,0xf0f1 + 8000067c: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000680: 00000013 nop + 80000684: ff0100b7 lui ra,0xff010 + 80000688: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 8000068c: 4020e733 orn a4,ra,sp + 80000690: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000694: 00200293 li t0,2 + 80000698: fe5210e3 bne tp,t0,80000678 + 8000069c: fff103b7 lui t2,0xfff10 + 800006a0: ff03839b addiw t2,t2,-16 # fffffffffff0fff0 <_end+0xffffffff7ff0dff0> + 800006a4: 0e771263 bne a4,t2,80000788 + +00000000800006a8 : + 800006a8: 01600193 li gp,22 + 800006ac: 00000213 li tp,0 + 800006b0: f0f0f137 lui sp,0xf0f0f + 800006b4: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 800006b8: 00000013 nop + 800006bc: 0ff010b7 lui ra,0xff01 + 800006c0: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 800006c4: 00000013 nop + 800006c8: 4020e733 orn a4,ra,sp + 800006cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006d0: 00200293 li t0,2 + 800006d4: fc521ee3 bne tp,t0,800006b0 + 800006d8: 0fff13b7 lui t2,0xfff1 + 800006dc: fff3839b addiw t2,t2,-1 # fff0fff <_start-0x7000f001> + 800006e0: 0a771463 bne a4,t2,80000788 + +00000000800006e4 : + 800006e4: 01700193 li gp,23 + 800006e8: 00000213 li tp,0 + 800006ec: 0f0f1137 lui sp,0xf0f1 + 800006f0: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800006f4: 00000013 nop + 800006f8: 00000013 nop + 800006fc: 00ff00b7 lui ra,0xff0 + 80000700: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 80000704: 4020e733 orn a4,ra,sp + 80000708: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000070c: 00200293 li t0,2 + 80000710: fc521ee3 bne tp,t0,800006ec + 80000714: f0fff3b7 lui t2,0xf0fff + 80000718: 0ff3839b addiw t2,t2,255 # fffffffff0fff0ff <_end+0xffffffff70ffd0ff> + 8000071c: 06771663 bne a4,t2,80000788 + +0000000080000720 : + 80000720: 01800193 li gp,24 + 80000724: ff0100b7 lui ra,0xff010 + 80000728: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 8000072c: 40106133 orn sp,zero,ra + 80000730: 00ff03b7 lui t2,0xff0 + 80000734: 0ff3839b addiw t2,t2,255 # ff00ff <_start-0x7f00ff01> + 80000738: 04711863 bne sp,t2,80000788 + +000000008000073c : + 8000073c: 01900193 li gp,25 + 80000740: 00ff00b7 lui ra,0xff0 + 80000744: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 80000748: 4000e133 orn sp,ra,zero + 8000074c: fff00393 li t2,-1 + 80000750: 02711c63 bne sp,t2,80000788 + +0000000080000754 : + 80000754: 01a00193 li gp,26 + 80000758: 400060b3 orn ra,zero,zero + 8000075c: fff00393 li t2,-1 + 80000760: 02709463 bne ra,t2,80000788 + +0000000080000764 : + 80000764: 01b00193 li gp,27 + 80000768: 111110b7 lui ra,0x11111 + 8000076c: 1110809b addiw ra,ra,273 # 11111111 <_start-0x6eeeeeef> + 80000770: 22222137 lui sp,0x22222 + 80000774: 2221011b addiw sp,sp,546 # 22222222 <_start-0x5dddddde> + 80000778: 4020e033 orn zero,ra,sp + 8000077c: 00000393 li t2,0 + 80000780: 00701463 bne zero,t2,80000788 + 80000784: 02301063 bne zero,gp,800007a4 + +0000000080000788 : + 80000788: 0ff0000f fence + 8000078c: 00018063 beqz gp,8000078c + 80000790: 00119193 slli gp,gp,0x1 + 80000794: 0011e193 ori gp,gp,1 + 80000798: 05d00893 li a7,93 + 8000079c: 00018513 mv a0,gp + 800007a0: 00000073 ecall + +00000000800007a4 : + 800007a4: 0ff0000f fence + 800007a8: 00100193 li gp,1 + 800007ac: 05d00893 li a7,93 + 800007b0: 00000513 li a0,0 + 800007b4: 00000073 ecall + 800007b8: c0001073 unimp diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orn.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orn.hex new file mode 100644 index 0000000..72e9908 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-orn.hex @@ -0,0 +1,799 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +ff0105b700200193 +0f0f1637f005859b +40c5e733f0f6061b +ff03839bfff103b7 +003001935c771863 +ff05859b0ff015b7 +0f06061bf0f0f637 +0fff13b740c5e733 +5a771663fff3839b +00ff05b700400193 +0f0f16370ff5859b +40c5e733f0f6061b +0ff3839bf0fff3b7 +0050019358771463 +00f5859bf00ff5b7 +0f06061bf0f0f637 +ff1003b740c5e733 +56771263f0f3839b +000105b703200193 +01059593f015859b +01059593f0158593 +00c59593f0158593 +ff0f1637ff058593 +00c61613f0f6061b +00c616130f160613 +00c61613f0f60613 +40c5e7330f060613 +ff13839b000103b7 +ff13839301039393 +ff13839301039393 +fff3839300c39393 +033001934e771c63 +0ff5859b00ff05b7 +0ff5859301059593 +0ff5859301059593 +0f16061b00f0f637 +f0f6061300c61613 +0f16061300c61613 +f0f6061300c61613 +fff103b740c5e733 +01039393ff13839b +00c39393ff138393 +00c39393fff38393 +48771a630ff38393 +ffff05b703400193 +010595930ff5859b +010595930ff58593 +00c595930ff58593 +ff0f163700f58593 +00c61613f0f6061b +00c616130f160613 +00c61613f0f60613 +40c5e7330f060613 +ff13839bfff103b7 +ff13839301039393 +f0f3839301439393 +0060019342771863 +f005859bff0105b7 +f0f6061b0f0f1637 +fff103b740c5e5b3 +40759663ff03839b +ff0105b700700193 +0f0f1637f005859b +40c5e633f0f6061b +ff03839bfff103b7 +008001933e761463 +f005859bff0105b7 +fff0039340b5e5b3 +009001933c759863 +ff0100b700000213 +0f0f1137f000809b +4020e733f0f1011b +0012021300070313 +fe5210e300200293 +ff03839bfff103b7 +00a0019338731c63 +0ff010b700000213 +f0f0f137ff00809b +4020e7330f01011b +0007031300000013 +0020029300120213 +0fff13b7fc521ee3 +34731e63fff3839b +0000021300b00193 +0ff0809b00ff00b7 +f0f1011b0f0f1137 +000000134020e733 +0007031300000013 +0020029300120213 +f0fff3b7fc521ce3 +30731e630ff3839b +0000021300c00193 +f000809bff0100b7 +f0f1011b0f0f1137 +001202134020e733 +fe5212e300200293 +ff03839bfff103b7 +00d001932e771463 +0ff010b700000213 +f0f0f137ff00809b +000000130f01011b +001202134020e733 +fe5210e300200293 +fff3839b0fff13b7 +00e001932a771863 +00ff00b700000213 +0f0f11370ff0809b +00000013f0f1011b +4020e73300000013 +0020029300120213 +f0fff3b7fc521ee3 +26771a630ff3839b +0000021300f00193 +f000809bff0100b7 +0f0f113700000013 +4020e733f0f1011b +0020029300120213 +fff103b7fe5210e3 +22771e63ff03839b +0000021301000193 +ff00809b0ff010b7 +f0f0f13700000013 +000000130f01011b +001202134020e733 +fc521ee300200293 +fff3839b0fff13b7 +0110019320771063 +00ff00b700000213 +000000130ff0809b +0f0f113700000013 +4020e733f0f1011b +0020029300120213 +f0fff3b7fc521ee3 +1c7712630ff3839b +0000021301200193 +f0f1011b0f0f1137 +f000809bff0100b7 +001202134020e733 +fe5212e300200293 +ff03839bfff103b7 +0130019318771863 +f0f0f13700000213 +0ff010b70f01011b +00000013ff00809b +001202134020e733 +fe5210e300200293 +fff3839b0fff13b7 +0140019314771c63 +0f0f113700000213 +00ff00b7f0f1011b +000000130ff0809b +4020e73300000013 +0020029300120213 +f0fff3b7fc521ee3 +10771e630ff3839b +0000021301500193 +f0f1011b0f0f1137 +ff0100b700000013 +4020e733f000809b +0020029300120213 +fff103b7fe5210e3 +0e771263ff03839b +0000021301600193 +0f01011bf0f0f137 +0ff010b700000013 +00000013ff00809b +001202134020e733 +fc521ee300200293 +fff3839b0fff13b7 +017001930a771463 +0f0f113700000213 +00000013f0f1011b +00ff00b700000013 +4020e7330ff0809b +0020029300120213 +f0fff3b7fc521ee3 +067716630ff3839b +ff0100b701800193 +40106133f000809b +0ff3839b00ff03b7 +0190019304711863 +0ff0809b00ff00b7 +fff003934000e133 +01a0019302711c63 +fff00393400060b3 +01b0019302709463 +1110809b111110b7 +2221011b22222137 +000003934020e033 +0230106300701463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000788 +0000000000000000 +00010000000000a8 +00000000800001bc +0000000000000000 +00010000000000af +00000000800001e0 +0000000000000000 +00010000000000b6 +0000000080000204 +0000000000000000 +00010000000000bd +0000000080000228 +0000000000000000 +00010000000000c5 +0000000080000294 +0000000000000000 +00010000000000cd +00000000800002f8 +0000000000000000 +00010000000000d5 +000000008000035c +0000000000000000 +00010000000000dc +0000000080000380 +0000000000000000 +00010000000000e3 +00000000800003a4 +0000000000000000 +00010000000000ea +00000000800003bc +0000000000000000 +00010000000000f1 +00000000800003f4 +0000000000000000 +00010000000000f9 +0000000080000430 +0000000000000000 +0001000000000101 +0000000080000470 +0000000000000000 +0001000000000109 +00000000800004a4 +0000000000000000 +0001000000000111 +00000000800004dc +0000000000000000 +0001000000000119 +0000000080000518 +0000000000000000 +0001000000000121 +0000000080000550 +0000000000000000 +0001000000000129 +000000008000058c +0000000000000000 +0001000000000131 +00000000800005c8 +0000000000000000 +0001000000000139 +00000000800005fc +0000000000000000 +0001000000000141 +0000000080000634 +0000000000000000 +0001000000000149 +0000000080000670 +0000000000000000 +0001000000000151 +00000000800006a8 +0000000000000000 +0001000000000159 +00000000800006e4 +0000000000000000 +0001000000000161 +0000000080000720 +0000000000000000 +0001000000000169 +000000008000073c +0000000000000000 +0001000000000171 +0000000080000754 +0000000000000000 +0001000000000179 +0000000080000764 +0000000000000000 +0001000000000181 +00000000800007a4 +0000000000000000 +0002001000000186 +0000000080002000 +0000000000000000 +0002001000000194 +0000000080002000 +0000000000000000 +00010010000001a4 +0000000080000000 +0000000000000000 +00020010000001ab +0000000080002000 +0000000000000000 +00020010000001b0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +45357a6947636300 +76727824006f2e43 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7365740030355f74 +7365740031355f74 +7365740032355f74 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000007bc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000498 +0000002b00000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +0000000000002538 +00000000000001b9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000026f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rev8.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rev8.dump new file mode 100644 index 0000000..0b055c7 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rev8.dump @@ -0,0 +1,415 @@ + +rv64uzbb-p-rev8: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000093 li ra,0 + 800001a0: 6b80d713 rev8 a4,ra + 800001a4: 00000393 li t2,0 + 800001a8: 32771e63 bne a4,t2,800004e4 + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100093 li ra,1 + 800001b4: 6b80d713 rev8 a4,ra + 800001b8: 0010039b addiw t2,zero,1 + 800001bc: 03839393 slli t2,t2,0x38 + 800001c0: 32771263 bne a4,t2,800004e4 + +00000000800001c4 : + 800001c4: 00400193 li gp,4 + 800001c8: 00300093 li ra,3 + 800001cc: 6b80d713 rev8 a4,ra + 800001d0: 0030039b addiw t2,zero,3 + 800001d4: 03839393 slli t2,t2,0x38 + 800001d8: 30771663 bne a4,t2,800004e4 + +00000000800001dc : + 800001dc: 00500193 li gp,5 + 800001e0: ffff80b7 lui ra,0xffff8 + 800001e4: 6b80d713 rev8 a4,ra + 800001e8: 0810039b addiw t2,zero,129 + 800001ec: 03039393 slli t2,t2,0x30 + 800001f0: fff38393 addi t2,t2,-1 + 800001f4: 2e771863 bne a4,t2,800004e4 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 008000b7 lui ra,0x800 + 80000200: 6b80d713 rev8 a4,ra + 80000204: 0010039b addiw t2,zero,1 + 80000208: 02f39393 slli t2,t2,0x2f + 8000020c: 2c771c63 bne a4,t2,800004e4 + +0000000080000210 : + 80000210: 00700193 li gp,7 + 80000214: 0050009b addiw ra,zero,5 + 80000218: 02109093 slli ra,ra,0x21 + 8000021c: fff08093 addi ra,ra,-1 # 7fffff <_start-0x7f800001> + 80000220: 00f09093 slli ra,ra,0xf + 80000224: 6b80d713 rev8 a4,ra + 80000228: 0810039b addiw t2,zero,129 + 8000022c: 02039393 slli t2,t2,0x20 + 80000230: fff38393 addi t2,t2,-1 + 80000234: 01039393 slli t2,t2,0x10 + 80000238: 40038393 addi t2,t2,1024 + 8000023c: 2a771463 bne a4,t2,800004e4 + +0000000080000240 : + 80000240: 00800193 li gp,8 + 80000244: 000080b7 lui ra,0x8 + 80000248: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 8000024c: 6b80d713 rev8 a4,ra + 80000250: f7f0039b addiw t2,zero,-129 + 80000254: 03039393 slli t2,t2,0x30 + 80000258: 28771663 bne a4,t2,800004e4 + +000000008000025c : + 8000025c: 00900193 li gp,9 + 80000260: 800000b7 lui ra,0x80000 + 80000264: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 80000268: 6b80d713 rev8 a4,ra + 8000026c: f7f0039b addiw t2,zero,-129 + 80000270: 02039393 slli t2,t2,0x20 + 80000274: 26771863 bne a4,t2,800004e4 + +0000000080000278 : + 80000278: 00a00193 li gp,10 + 8000027c: 000800b7 lui ra,0x80 + 80000280: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 80000284: 6b80d713 rev8 a4,ra + 80000288: f070039b addiw t2,zero,-249 + 8000028c: 02839393 slli t2,t2,0x28 + 80000290: 24771a63 bne a4,t2,800004e4 + +0000000080000294 : + 80000294: 00b00193 li gp,11 + 80000298: 800000b7 lui ra,0x80000 + 8000029c: 6b80d713 rev8 a4,ra + 800002a0: 0810039b addiw t2,zero,129 + 800002a4: 02039393 slli t2,t2,0x20 + 800002a8: fff38393 addi t2,t2,-1 + 800002ac: 22771c63 bne a4,t2,800004e4 + +00000000800002b0 : + 800002b0: 00c00193 li gp,12 + 800002b4: 7fabc0b7 lui ra,0x7fabc + 800002b8: 7890809b addiw ra,ra,1929 # 7fabc789 <_start-0x543877> + 800002bc: 00d09093 slli ra,ra,0xd + 800002c0: 1f508093 addi ra,ra,501 + 800002c4: 00c09093 slli ra,ra,0xc + 800002c8: 6b80d713 rev8 a4,ra + 800002cc: 00a043b7 lui t2,0xa04 + 800002d0: e253839b addiw t2,t2,-475 # a03e25 <_start-0x7f5fc1db> + 800002d4: 00c39393 slli t2,t2,0xc + 800002d8: 1eb38393 addi t2,t2,491 + 800002dc: 01339393 slli t2,t2,0x13 + 800002e0: f0038393 addi t2,t2,-256 + 800002e4: 20771063 bne a4,t2,800004e4 + +00000000800002e8 : + 800002e8: 00d00193 li gp,13 + 800002ec: fff0009b addiw ra,zero,-1 + 800002f0: 03f09093 slli ra,ra,0x3f + 800002f4: 6b80d713 rev8 a4,ra + 800002f8: 08000393 li t2,128 + 800002fc: 1e771463 bne a4,t2,800004e4 + +0000000080000300 : + 80000300: 00e00193 li gp,14 + 80000304: 00e00093 li ra,14 + 80000308: 6b80d713 rev8 a4,ra + 8000030c: 0070039b addiw t2,zero,7 + 80000310: 03939393 slli t2,t2,0x39 + 80000314: 1c771863 bne a4,t2,800004e4 + +0000000080000318 : + 80000318: 00f00193 li gp,15 + 8000031c: ffd0009b addiw ra,zero,-3 + 80000320: 02009093 slli ra,ra,0x20 + 80000324: 01908093 addi ra,ra,25 + 80000328: 01109093 slli ra,ra,0x11 + 8000032c: 40108093 addi ra,ra,1025 + 80000330: 00c09093 slli ra,ra,0xc + 80000334: 34108093 addi ra,ra,833 + 80000338: 6b80d713 rev8 a4,ra + 8000033c: 0208a3b7 lui t2,0x208a + 80000340: a013839b addiw t2,t2,-1535 # 2089a01 <_start-0x7df765ff> + 80000344: 00d39393 slli t2,t2,0xd + 80000348: 00338393 addi t2,t2,3 + 8000034c: 01839393 slli t2,t2,0x18 + 80000350: 0a038393 addi t2,t2,160 + 80000354: 18771863 bne a4,t2,800004e4 + +0000000080000358 : + 80000358: 01000193 li gp,16 + 8000035c: 00d00093 li ra,13 + 80000360: 6b80d093 rev8 ra,ra + 80000364: 00d0039b addiw t2,zero,13 + 80000368: 03839393 slli t2,t2,0x38 + 8000036c: 16709c63 bne ra,t2,800004e4 + +0000000080000370 : + 80000370: 01100193 li gp,17 + 80000374: 00b00093 li ra,11 + 80000378: 6b80d093 rev8 ra,ra + 8000037c: 00b0039b addiw t2,zero,11 + 80000380: 03839393 slli t2,t2,0x38 + 80000384: 16709063 bne ra,t2,800004e4 + +0000000080000388 : + 80000388: 01200193 li gp,18 + 8000038c: 00000213 li tp,0 + 80000390: 00d00093 li ra,13 + 80000394: 6b80d713 rev8 a4,ra + 80000398: 00070313 mv t1,a4 + 8000039c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003a0: 00200293 li t0,2 + 800003a4: fe5216e3 bne tp,t0,80000390 + 800003a8: 00d0039b addiw t2,zero,13 + 800003ac: 03839393 slli t2,t2,0x38 + 800003b0: 12731a63 bne t1,t2,800004e4 + +00000000800003b4 : + 800003b4: 01d00193 li gp,29 + 800003b8: 00000213 li tp,0 + 800003bc: 01300093 li ra,19 + 800003c0: 6b80d713 rev8 a4,ra + 800003c4: 00000013 nop + 800003c8: 00070313 mv t1,a4 + 800003cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d0: 00200293 li t0,2 + 800003d4: fe5214e3 bne tp,t0,800003bc + 800003d8: 0130039b addiw t2,zero,19 + 800003dc: 03839393 slli t2,t2,0x38 + 800003e0: 10731263 bne t1,t2,800004e4 + +00000000800003e4 : + 800003e4: 01400193 li gp,20 + 800003e8: 00000213 li tp,0 + 800003ec: 02200093 li ra,34 + 800003f0: 6b80d713 rev8 a4,ra + 800003f4: 00000013 nop + 800003f8: 00000013 nop + 800003fc: 00070313 mv t1,a4 + 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000404: 00200293 li t0,2 + 80000408: fe5212e3 bne tp,t0,800003ec + 8000040c: 0110039b addiw t2,zero,17 + 80000410: 03939393 slli t2,t2,0x39 + 80000414: 0c731863 bne t1,t2,800004e4 + +0000000080000418 : + 80000418: 01500193 li gp,21 + 8000041c: 007f80b7 lui ra,0x7f8 + 80000420: 6b80d713 rev8 a4,ra + 80000424: 000083b7 lui t2,0x8 + 80000428: 07f3839b addiw t2,t2,127 # 807f <_start-0x7fff7f81> + 8000042c: 02839393 slli t2,t2,0x28 + 80000430: 0a771a63 bne a4,t2,800004e4 + +0000000080000434 : + 80000434: 01600193 li gp,22 + 80000438: 008080b7 lui ra,0x808 + 8000043c: 6b80d713 rev8 a4,ra + 80000440: 1010039b addiw t2,zero,257 + 80000444: 02f39393 slli t2,t2,0x2f + 80000448: 08771e63 bne a4,t2,800004e4 + +000000008000044c : + 8000044c: 01700193 li gp,23 + 80000450: 018080b7 lui ra,0x1808 + 80000454: 6b80d713 rev8 a4,ra + 80000458: 008083b7 lui t2,0x808 + 8000045c: 0013839b addiw t2,t2,1 # 808001 <_start-0x7f7f7fff> + 80000460: 02039393 slli t2,t2,0x20 + 80000464: 08771063 bne a4,t2,800004e4 + +0000000080000468 : + 80000468: 01800193 li gp,24 + 8000046c: 000600b7 lui ra,0x60 + 80000470: 0010809b addiw ra,ra,1 # 60001 <_start-0x7ff9ffff> + 80000474: 00f09093 slli ra,ra,0xf + 80000478: fff08093 addi ra,ra,-1 + 8000047c: 6b80d713 rev8 a4,ra + 80000480: f7f0039b addiw t2,zero,-129 + 80000484: 01839393 slli t2,t2,0x18 + 80000488: 00338393 addi t2,t2,3 + 8000048c: 01839393 slli t2,t2,0x18 + 80000490: 04771a63 bne a4,t2,800004e4 + +0000000080000494 : + 80000494: 01900193 li gp,25 + 80000498: 00f0009b addiw ra,zero,15 + 8000049c: 01f09093 slli ra,ra,0x1f + 800004a0: fff08093 addi ra,ra,-1 + 800004a4: 6b80d713 rev8 a4,ra + 800004a8: ffff83b7 lui t2,0xffff8 + 800004ac: f073839b addiw t2,t2,-249 # ffffffffffff7f07 <_end+0xffffffff7fff5f07> + 800004b0: 01839393 slli t2,t2,0x18 + 800004b4: 02771863 bne a4,t2,800004e4 + +00000000800004b8 : + 800004b8: 01a00193 li gp,26 + 800004bc: 0001e0b7 lui ra,0x1e + 800004c0: 0010809b addiw ra,ra,1 # 1e001 <_start-0x7ffe1fff> + 800004c4: 01309093 slli ra,ra,0x13 + 800004c8: fff08093 addi ra,ra,-1 + 800004cc: 6b80d713 rev8 a4,ra + 800004d0: ff0703b7 lui t2,0xff070 + 800004d4: 00f3839b addiw t2,t2,15 # ffffffffff07000f <_end+0xffffffff7f06e00f> + 800004d8: 01839393 slli t2,t2,0x18 + 800004dc: 00771463 bne a4,t2,800004e4 + 800004e0: 02301063 bne zero,gp,80000500 + +00000000800004e4 : + 800004e4: 0ff0000f fence + 800004e8: 00018063 beqz gp,800004e8 + 800004ec: 00119193 slli gp,gp,0x1 + 800004f0: 0011e193 ori gp,gp,1 + 800004f4: 05d00893 li a7,93 + 800004f8: 00018513 mv a0,gp + 800004fc: 00000073 ecall + +0000000080000500 : + 80000500: 0ff0000f fence + 80000504: 00100193 li gp,1 + 80000508: 05d00893 li a7,93 + 8000050c: 00000513 li a0,0 + 80000510: 00000073 ecall + 80000514: c0001073 unimp + 80000518: 0000 .insn 2, 0x + 8000051a: 0000 .insn 2, 0x + 8000051c: 0000 .insn 2, 0x + 8000051e: 0000 .insn 2, 0x + 80000520: 0000 .insn 2, 0x + 80000522: 0000 .insn 2, 0x + 80000524: 0000 .insn 2, 0x + 80000526: 0000 .insn 2, 0x + 80000528: 0000 .insn 2, 0x + 8000052a: 0000 .insn 2, 0x + 8000052c: 0000 .insn 2, 0x + 8000052e: 0000 .insn 2, 0x + 80000530: 0000 .insn 2, 0x + 80000532: 0000 .insn 2, 0x + 80000534: 0000 .insn 2, 0x + 80000536: 0000 .insn 2, 0x + 80000538: 0000 .insn 2, 0x + 8000053a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rev8.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rev8.hex new file mode 100644 index 0000000..9667633 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rev8.hex @@ -0,0 +1,783 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000009300200193 +000003936b80d713 +0030019332771e63 +6b80d71300100093 +038393930010039b +0040019332771263 +6b80d71300300093 +038393930030039b +0050019330771663 +6b80d713ffff80b7 +030393930810039b +2e771863fff38393 +008000b700600193 +0010039b6b80d713 +2c771c6302f39393 +0050009b00700193 +fff0809302109093 +6b80d71300f09093 +020393930810039b +01039393fff38393 +2a77146340038393 +000080b700800193 +6b80d713fff0809b +03039393f7f0039b +0090019328771663 +fff0809b800000b7 +f7f0039b6b80d713 +2677186302039393 +000800b700a00193 +6b80d713fff0809b +02839393f070039b +00b0019324771a63 +6b80d713800000b7 +020393930810039b +22771c63fff38393 +7fabc0b700c00193 +00d090937890809b +00c090931f508093 +00a043b76b80d713 +00c39393e253839b +013393931eb38393 +20771063f0038393 +fff0009b00d00193 +6b80d71303f09093 +1e77146308000393 +00e0009300e00193 +0070039b6b80d713 +1c77186303939393 +ffd0009b00f00193 +0190809302009093 +4010809301109093 +3410809300c09093 +0208a3b76b80d713 +00d39393a013839b +0183939300338393 +187718630a038393 +00d0009301000193 +00d0039b6b80d093 +16709c6303839393 +00b0009301100193 +00b0039b6b80d093 +1670906303839393 +0000021301200193 +6b80d71300d00093 +0012021300070313 +fe5216e300200293 +0383939300d0039b +01d0019312731a63 +0130009300000213 +000000136b80d713 +0012021300070313 +fe5214e300200293 +038393930130039b +0140019310731263 +0220009300000213 +000000136b80d713 +0007031300000013 +0020029300120213 +0110039bfe5212e3 +0c73186303939393 +007f80b701500193 +000083b76b80d713 +0283939307f3839b +016001930a771a63 +6b80d713008080b7 +02f393931010039b +0170019308771e63 +6b80d713018080b7 +0013839b008083b7 +0877106302039393 +000600b701800193 +00f090930010809b +6b80d713fff08093 +01839393f7f0039b +0183939300338393 +0190019304771a63 +01f0909300f0009b +6b80d713fff08093 +f073839bffff83b7 +0277186301839393 +0001e0b701a00193 +013090930010809b +6b80d713fff08093 +00f3839bff0703b7 +0077146301839393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800004e4 +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c4 +0000000000000000 +00010000000000b6 +00000000800001dc +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000210 +0000000000000000 +00010000000000cb +0000000080000240 +0000000000000000 +00010000000000d2 +000000008000025c +0000000000000000 +00010000000000d9 +0000000080000278 +0000000000000000 +00010000000000e1 +0000000080000294 +0000000000000000 +00010000000000e9 +00000000800002b0 +0000000000000000 +00010000000000f1 +00000000800002e8 +0000000000000000 +00010000000000f9 +0000000080000300 +0000000000000000 +0001000000000101 +0000000080000318 +0000000000000000 +0001000000000109 +0000000080000358 +0000000000000000 +0001000000000111 +0000000080000370 +0000000000000000 +0001000000000119 +0000000080000388 +0000000000000000 +0001000000000121 +00000000800003b4 +0000000000000000 +0001000000000129 +00000000800003e4 +0000000000000000 +0001000000000131 +0000000080000418 +0000000000000000 +0001000000000139 +0000000080000434 +0000000000000000 +0001000000000141 +000000008000044c +0000000000000000 +0001000000000149 +0000000080000468 +0000000000000000 +0001000000000151 +0000000080000494 +0000000000000000 +0001000000000159 +00000000800004b8 +0000000000000000 +0001000000000161 +0000000080000500 +0000000000000000 +0002001000000166 +0000000080002000 +0000000000000000 +0002001000000174 +0000000080002000 +0000000000000000 +0001001000000184 +0000000080000000 +0000000000000000 +000200100000018b +0000000080002000 +0000000000000000 +0002001000000190 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +7274674d6b636300 +76727824006f2e68 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39325f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000053c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000438 +0000002700000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024d8 +0000000000000199 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002671 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rol.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rol.dump new file mode 100644 index 0000000..7a3d2df --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rol.dump @@ -0,0 +1,626 @@ + +rv64uzbb-p-rol: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00100593 li a1,1 + 800001a0: 00000613 li a2,0 + 800001a4: 60c59733 rol a4,a1,a2 + 800001a8: 00100393 li t2,1 + 800001ac: 60771663 bne a4,t2,800007b8 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 60c59733 rol a4,a1,a2 + 800001c0: 00200393 li t2,2 + 800001c4: 5e771a63 bne a4,t2,800007b8 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00100593 li a1,1 + 800001d0: 00700613 li a2,7 + 800001d4: 60c59733 rol a4,a1,a2 + 800001d8: 08000393 li t2,128 + 800001dc: 5c771e63 bne a4,t2,800007b8 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00100593 li a1,1 + 800001e8: 00e00613 li a2,14 + 800001ec: 60c59733 rol a4,a1,a2 + 800001f0: 000043b7 lui t2,0x4 + 800001f4: 5c771263 bne a4,t2,800007b8 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 00100593 li a1,1 + 80000200: 01f00613 li a2,31 + 80000204: 60c59733 rol a4,a1,a2 + 80000208: 0010039b addiw t2,zero,1 + 8000020c: 01f39393 slli t2,t2,0x1f + 80000210: 5a771463 bne a4,t2,800007b8 + +0000000080000214 : + 80000214: 00700193 li gp,7 + 80000218: fff00593 li a1,-1 + 8000021c: 00000613 li a2,0 + 80000220: 60c59733 rol a4,a1,a2 + 80000224: fff00393 li t2,-1 + 80000228: 58771863 bne a4,t2,800007b8 + +000000008000022c : + 8000022c: 00800193 li gp,8 + 80000230: fff00593 li a1,-1 + 80000234: 00100613 li a2,1 + 80000238: 60c59733 rol a4,a1,a2 + 8000023c: fff00393 li t2,-1 + 80000240: 56771c63 bne a4,t2,800007b8 + +0000000080000244 : + 80000244: 00900193 li gp,9 + 80000248: fff00593 li a1,-1 + 8000024c: 00700613 li a2,7 + 80000250: 60c59733 rol a4,a1,a2 + 80000254: fff00393 li t2,-1 + 80000258: 56771063 bne a4,t2,800007b8 + +000000008000025c : + 8000025c: 00a00193 li gp,10 + 80000260: fff00593 li a1,-1 + 80000264: 00e00613 li a2,14 + 80000268: 60c59733 rol a4,a1,a2 + 8000026c: fff00393 li t2,-1 + 80000270: 54771463 bne a4,t2,800007b8 + +0000000080000274 : + 80000274: 00b00193 li gp,11 + 80000278: fff00593 li a1,-1 + 8000027c: 01f00613 li a2,31 + 80000280: 60c59733 rol a4,a1,a2 + 80000284: fff00393 li t2,-1 + 80000288: 52771863 bne a4,t2,800007b8 + +000000008000028c : + 8000028c: 00c00193 li gp,12 + 80000290: 212125b7 lui a1,0x21212 + 80000294: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000298: 00000613 li a2,0 + 8000029c: 60c59733 rol a4,a1,a2 + 800002a0: 212123b7 lui t2,0x21212 + 800002a4: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 800002a8: 50771863 bne a4,t2,800007b8 + +00000000800002ac : + 800002ac: 00d00193 li gp,13 + 800002b0: 212125b7 lui a1,0x21212 + 800002b4: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800002b8: 00100613 li a2,1 + 800002bc: 60c59733 rol a4,a1,a2 + 800002c0: 424243b7 lui t2,0x42424 + 800002c4: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 800002c8: 4e771863 bne a4,t2,800007b8 + +00000000800002cc : + 800002cc: 00e00193 li gp,14 + 800002d0: 212125b7 lui a1,0x21212 + 800002d4: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800002d8: 00700613 li a2,7 + 800002dc: 60c59733 rol a4,a1,a2 + 800002e0: 010913b7 lui t2,0x1091 + 800002e4: 9093839b addiw t2,t2,-1783 # 1090909 <_start-0x7ef6f6f7> + 800002e8: 00c39393 slli t2,t2,0xc + 800002ec: 08038393 addi t2,t2,128 + 800002f0: 4c771463 bne a4,t2,800007b8 + +00000000800002f4 : + 800002f4: 00f00193 li gp,15 + 800002f8: 212125b7 lui a1,0x21212 + 800002fc: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000300: 00e00613 li a2,14 + 80000304: 60c59733 rol a4,a1,a2 + 80000308: 212123b7 lui t2,0x21212 + 8000030c: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000310: 00e39393 slli t2,t2,0xe + 80000314: 4a771263 bne a4,t2,800007b8 + +0000000080000318 : + 80000318: 01000193 li gp,16 + 8000031c: 212125b7 lui a1,0x21212 + 80000320: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000324: 01f00613 li a2,31 + 80000328: 60c59733 rol a4,a1,a2 + 8000032c: 212123b7 lui t2,0x21212 + 80000330: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000334: 01f39393 slli t2,t2,0x1f + 80000338: 48771063 bne a4,t2,800007b8 + +000000008000033c : + 8000033c: 01100193 li gp,17 + 80000340: 212125b7 lui a1,0x21212 + 80000344: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000348: fc000613 li a2,-64 + 8000034c: 60c59733 rol a4,a1,a2 + 80000350: 212123b7 lui t2,0x21212 + 80000354: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000358: 46771063 bne a4,t2,800007b8 + +000000008000035c : + 8000035c: 01200193 li gp,18 + 80000360: 212125b7 lui a1,0x21212 + 80000364: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000368: fc100613 li a2,-63 + 8000036c: 60c59733 rol a4,a1,a2 + 80000370: 424243b7 lui t2,0x42424 + 80000374: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 80000378: 44771063 bne a4,t2,800007b8 + +000000008000037c : + 8000037c: 01300193 li gp,19 + 80000380: 212125b7 lui a1,0x21212 + 80000384: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000388: fc700613 li a2,-57 + 8000038c: 60c59733 rol a4,a1,a2 + 80000390: 010913b7 lui t2,0x1091 + 80000394: 9093839b addiw t2,t2,-1783 # 1090909 <_start-0x7ef6f6f7> + 80000398: 00c39393 slli t2,t2,0xc + 8000039c: 08038393 addi t2,t2,128 + 800003a0: 40771c63 bne a4,t2,800007b8 + +00000000800003a4 : + 800003a4: 01400193 li gp,20 + 800003a8: 212125b7 lui a1,0x21212 + 800003ac: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800003b0: fce00613 li a2,-50 + 800003b4: 60c59733 rol a4,a1,a2 + 800003b8: 212123b7 lui t2,0x21212 + 800003bc: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 800003c0: 00e39393 slli t2,t2,0xe + 800003c4: 3e771a63 bne a4,t2,800007b8 + +00000000800003c8 : + 800003c8: 01500193 li gp,21 + 800003cc: 212125b7 lui a1,0x21212 + 800003d0: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800003d4: fff00613 li a2,-1 + 800003d8: 60c59733 rol a4,a1,a2 + 800003dc: fff0039b addiw t2,zero,-1 + 800003e0: 02739393 slli t2,t2,0x27 + 800003e4: 01138393 addi t2,t2,17 + 800003e8: 00c39393 slli t2,t2,0xc + 800003ec: 90938393 addi t2,t2,-1783 + 800003f0: 00c39393 slli t2,t2,0xc + 800003f4: 09038393 addi t2,t2,144 + 800003f8: 3c771063 bne a4,t2,800007b8 + +00000000800003fc : + 800003fc: 03200193 li gp,50 + 80000400: 00100593 li a1,1 + 80000404: 03f00613 li a2,63 + 80000408: 60c59733 rol a4,a1,a2 + 8000040c: fff0039b addiw t2,zero,-1 + 80000410: 03f39393 slli t2,t2,0x3f + 80000414: 3a771263 bne a4,t2,800007b8 + +0000000080000418 : + 80000418: 03300193 li gp,51 + 8000041c: fff00593 li a1,-1 + 80000420: 02700613 li a2,39 + 80000424: 60c59733 rol a4,a1,a2 + 80000428: fff00393 li t2,-1 + 8000042c: 38771663 bne a4,t2,800007b8 + +0000000080000430 : + 80000430: 03400193 li gp,52 + 80000434: 212125b7 lui a1,0x21212 + 80000438: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 8000043c: 02b00613 li a2,43 + 80000440: 60c59733 rol a4,a1,a2 + 80000444: 000123b7 lui t2,0x12 + 80000448: 1213839b addiw t2,t2,289 # 12121 <_start-0x7ffededf> + 8000044c: 02b39393 slli t2,t2,0x2b + 80000450: 10938393 addi t2,t2,265 + 80000454: 36771263 bne a4,t2,800007b8 + +0000000080000458 : + 80000458: 01600193 li gp,22 + 8000045c: 00100593 li a1,1 + 80000460: 00700613 li a2,7 + 80000464: 60c595b3 rol a1,a1,a2 + 80000468: 08000393 li t2,128 + 8000046c: 34759663 bne a1,t2,800007b8 + +0000000080000470 : + 80000470: 01700193 li gp,23 + 80000474: 00100593 li a1,1 + 80000478: 00e00613 li a2,14 + 8000047c: 60c59633 rol a2,a1,a2 + 80000480: 000043b7 lui t2,0x4 + 80000484: 32761a63 bne a2,t2,800007b8 + +0000000080000488 : + 80000488: 01800193 li gp,24 + 8000048c: 00300593 li a1,3 + 80000490: 60b595b3 rol a1,a1,a1 + 80000494: 01800393 li t2,24 + 80000498: 32759063 bne a1,t2,800007b8 + +000000008000049c : + 8000049c: 01900193 li gp,25 + 800004a0: 00000213 li tp,0 + 800004a4: 00100093 li ra,1 + 800004a8: 00700113 li sp,7 + 800004ac: 60209733 rol a4,ra,sp + 800004b0: 00070313 mv t1,a4 + 800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004b8: 00200293 li t0,2 + 800004bc: fe5214e3 bne tp,t0,800004a4 + 800004c0: 08000393 li t2,128 + 800004c4: 2e731a63 bne t1,t2,800007b8 + +00000000800004c8 : + 800004c8: 01a00193 li gp,26 + 800004cc: 00000213 li tp,0 + 800004d0: 00100093 li ra,1 + 800004d4: 00e00113 li sp,14 + 800004d8: 60209733 rol a4,ra,sp + 800004dc: 00000013 nop + 800004e0: 00070313 mv t1,a4 + 800004e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004e8: 00200293 li t0,2 + 800004ec: fe5212e3 bne tp,t0,800004d0 + 800004f0: 000043b7 lui t2,0x4 + 800004f4: 2c731263 bne t1,t2,800007b8 + +00000000800004f8 : + 800004f8: 01b00193 li gp,27 + 800004fc: 00000213 li tp,0 + 80000500: 00100093 li ra,1 + 80000504: 01f00113 li sp,31 + 80000508: 60209733 rol a4,ra,sp + 8000050c: 00000013 nop + 80000510: 00000013 nop + 80000514: 00070313 mv t1,a4 + 80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000051c: 00200293 li t0,2 + 80000520: fe5210e3 bne tp,t0,80000500 + 80000524: 0010039b addiw t2,zero,1 + 80000528: 01f39393 slli t2,t2,0x1f + 8000052c: 28731663 bne t1,t2,800007b8 + +0000000080000530 : + 80000530: 01c00193 li gp,28 + 80000534: 00000213 li tp,0 + 80000538: 00100093 li ra,1 + 8000053c: 00700113 li sp,7 + 80000540: 60209733 rol a4,ra,sp + 80000544: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000548: 00200293 li t0,2 + 8000054c: fe5216e3 bne tp,t0,80000538 + 80000550: 08000393 li t2,128 + 80000554: 26771263 bne a4,t2,800007b8 + +0000000080000558 : + 80000558: 01d00193 li gp,29 + 8000055c: 00000213 li tp,0 + 80000560: 00100093 li ra,1 + 80000564: 00e00113 li sp,14 + 80000568: 00000013 nop + 8000056c: 60209733 rol a4,ra,sp + 80000570: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000574: 00200293 li t0,2 + 80000578: fe5214e3 bne tp,t0,80000560 + 8000057c: 000043b7 lui t2,0x4 + 80000580: 22771c63 bne a4,t2,800007b8 + +0000000080000584 : + 80000584: 01e00193 li gp,30 + 80000588: 00000213 li tp,0 + 8000058c: 00100093 li ra,1 + 80000590: 01f00113 li sp,31 + 80000594: 00000013 nop + 80000598: 00000013 nop + 8000059c: 60209733 rol a4,ra,sp + 800005a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005a4: 00200293 li t0,2 + 800005a8: fe5212e3 bne tp,t0,8000058c + 800005ac: 0010039b addiw t2,zero,1 + 800005b0: 01f39393 slli t2,t2,0x1f + 800005b4: 20771263 bne a4,t2,800007b8 + +00000000800005b8 : + 800005b8: 01f00193 li gp,31 + 800005bc: 00000213 li tp,0 + 800005c0: 00100093 li ra,1 + 800005c4: 00000013 nop + 800005c8: 00700113 li sp,7 + 800005cc: 60209733 rol a4,ra,sp + 800005d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005d4: 00200293 li t0,2 + 800005d8: fe5214e3 bne tp,t0,800005c0 + 800005dc: 08000393 li t2,128 + 800005e0: 1c771c63 bne a4,t2,800007b8 + +00000000800005e4 : + 800005e4: 02000193 li gp,32 + 800005e8: 00000213 li tp,0 + 800005ec: 00100093 li ra,1 + 800005f0: 00000013 nop + 800005f4: 00e00113 li sp,14 + 800005f8: 00000013 nop + 800005fc: 60209733 rol a4,ra,sp + 80000600: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000604: 00200293 li t0,2 + 80000608: fe5212e3 bne tp,t0,800005ec + 8000060c: 000043b7 lui t2,0x4 + 80000610: 1a771463 bne a4,t2,800007b8 + +0000000080000614 : + 80000614: 02100193 li gp,33 + 80000618: 00000213 li tp,0 + 8000061c: 00100093 li ra,1 + 80000620: 00000013 nop + 80000624: 00000013 nop + 80000628: 01f00113 li sp,31 + 8000062c: 60209733 rol a4,ra,sp + 80000630: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000634: 00200293 li t0,2 + 80000638: fe5212e3 bne tp,t0,8000061c + 8000063c: 0010039b addiw t2,zero,1 + 80000640: 01f39393 slli t2,t2,0x1f + 80000644: 16771a63 bne a4,t2,800007b8 + +0000000080000648 : + 80000648: 02200193 li gp,34 + 8000064c: 00000213 li tp,0 + 80000650: 00700113 li sp,7 + 80000654: 00100093 li ra,1 + 80000658: 60209733 rol a4,ra,sp + 8000065c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000660: 00200293 li t0,2 + 80000664: fe5216e3 bne tp,t0,80000650 + 80000668: 08000393 li t2,128 + 8000066c: 14771663 bne a4,t2,800007b8 + +0000000080000670 : + 80000670: 02300193 li gp,35 + 80000674: 00000213 li tp,0 + 80000678: 00e00113 li sp,14 + 8000067c: 00100093 li ra,1 + 80000680: 00000013 nop + 80000684: 60209733 rol a4,ra,sp + 80000688: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000068c: 00200293 li t0,2 + 80000690: fe5214e3 bne tp,t0,80000678 + 80000694: 000043b7 lui t2,0x4 + 80000698: 12771063 bne a4,t2,800007b8 + +000000008000069c : + 8000069c: 02400193 li gp,36 + 800006a0: 00000213 li tp,0 + 800006a4: 01f00113 li sp,31 + 800006a8: 00100093 li ra,1 + 800006ac: 00000013 nop + 800006b0: 00000013 nop + 800006b4: 60209733 rol a4,ra,sp + 800006b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006bc: 00200293 li t0,2 + 800006c0: fe5212e3 bne tp,t0,800006a4 + 800006c4: 0010039b addiw t2,zero,1 + 800006c8: 01f39393 slli t2,t2,0x1f + 800006cc: 0e771663 bne a4,t2,800007b8 + +00000000800006d0 : + 800006d0: 02500193 li gp,37 + 800006d4: 00000213 li tp,0 + 800006d8: 00700113 li sp,7 + 800006dc: 00000013 nop + 800006e0: 00100093 li ra,1 + 800006e4: 60209733 rol a4,ra,sp + 800006e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006ec: 00200293 li t0,2 + 800006f0: fe5214e3 bne tp,t0,800006d8 + 800006f4: 08000393 li t2,128 + 800006f8: 0c771063 bne a4,t2,800007b8 + +00000000800006fc : + 800006fc: 02600193 li gp,38 + 80000700: 00000213 li tp,0 + 80000704: 00e00113 li sp,14 + 80000708: 00000013 nop + 8000070c: 00100093 li ra,1 + 80000710: 00000013 nop + 80000714: 60209733 rol a4,ra,sp + 80000718: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000071c: 00200293 li t0,2 + 80000720: fe5212e3 bne tp,t0,80000704 + 80000724: 000043b7 lui t2,0x4 + 80000728: 08771863 bne a4,t2,800007b8 + +000000008000072c : + 8000072c: 02700193 li gp,39 + 80000730: 00000213 li tp,0 + 80000734: 01f00113 li sp,31 + 80000738: 00000013 nop + 8000073c: 00000013 nop + 80000740: 00100093 li ra,1 + 80000744: 60209733 rol a4,ra,sp + 80000748: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000074c: 00200293 li t0,2 + 80000750: fe5212e3 bne tp,t0,80000734 + 80000754: 0010039b addiw t2,zero,1 + 80000758: 01f39393 slli t2,t2,0x1f + 8000075c: 04771e63 bne a4,t2,800007b8 + +0000000080000760 : + 80000760: 02800193 li gp,40 + 80000764: 00f00093 li ra,15 + 80000768: 60101133 rol sp,zero,ra + 8000076c: 00000393 li t2,0 + 80000770: 04711463 bne sp,t2,800007b8 + +0000000080000774 : + 80000774: 02900193 li gp,41 + 80000778: 02000093 li ra,32 + 8000077c: 60009133 rol sp,ra,zero + 80000780: 02000393 li t2,32 + 80000784: 02711a63 bne sp,t2,800007b8 + +0000000080000788 : + 80000788: 02a00193 li gp,42 + 8000078c: 600010b3 rol ra,zero,zero + 80000790: 00000393 li t2,0 + 80000794: 02709263 bne ra,t2,800007b8 + +0000000080000798 : + 80000798: 02b00193 li gp,43 + 8000079c: 40000093 li ra,1024 + 800007a0: 00001137 lui sp,0x1 + 800007a4: 8001011b addiw sp,sp,-2048 # 800 <_start-0x7ffff800> + 800007a8: 60209033 rol zero,ra,sp + 800007ac: 00000393 li t2,0 + 800007b0: 00701463 bne zero,t2,800007b8 + 800007b4: 02301063 bne zero,gp,800007d4 + +00000000800007b8 : + 800007b8: 0ff0000f fence + 800007bc: 00018063 beqz gp,800007bc + 800007c0: 00119193 slli gp,gp,0x1 + 800007c4: 0011e193 ori gp,gp,1 + 800007c8: 05d00893 li a7,93 + 800007cc: 00018513 mv a0,gp + 800007d0: 00000073 ecall + +00000000800007d4 : + 800007d4: 0ff0000f fence + 800007d8: 00100193 li gp,1 + 800007dc: 05d00893 li a7,93 + 800007e0: 00000513 li a0,0 + 800007e4: 00000073 ecall + 800007e8: c0001073 unimp + 800007ec: 0000 .insn 2, 0x + 800007ee: 0000 .insn 2, 0x + 800007f0: 0000 .insn 2, 0x + 800007f2: 0000 .insn 2, 0x + 800007f4: 0000 .insn 2, 0x + 800007f6: 0000 .insn 2, 0x + 800007f8: 0000 .insn 2, 0x + 800007fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rol.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rol.hex new file mode 100644 index 0000000..466ba19 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rol.hex @@ -0,0 +1,863 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0010059300200193 +60c5973300000613 +6077166300100393 +0010059300300193 +60c5973300100613 +5e771a6300200393 +0010059300400193 +60c5973300700613 +5c771e6308000393 +0010059300500193 +60c5973300e00613 +5c771263000043b7 +0010059300600193 +60c5973301f00613 +01f393930010039b +007001935a771463 +00000613fff00593 +fff0039360c59733 +0080019358771863 +00100613fff00593 +fff0039360c59733 +0090019356771c63 +00700613fff00593 +fff0039360c59733 +00a0019356771063 +00e00613fff00593 +fff0039360c59733 +00b0019354771463 +01f00613fff00593 +fff0039360c59733 +00c0019352771863 +1215859b212125b7 +60c5973300000613 +1213839b212123b7 +00d0019350771863 +1215859b212125b7 +60c5973300100613 +2423839b424243b7 +00e001934e771863 +1215859b212125b7 +60c5973300700613 +9093839b010913b7 +0803839300c39393 +00f001934c771463 +1215859b212125b7 +60c5973300e00613 +1213839b212123b7 +4a77126300e39393 +212125b701000193 +01f006131215859b +212123b760c59733 +01f393931213839b +0110019348771063 +1215859b212125b7 +60c59733fc000613 +1213839b212123b7 +0120019346771063 +1215859b212125b7 +60c59733fc100613 +2423839b424243b7 +0130019344771063 +1215859b212125b7 +60c59733fc700613 +9093839b010913b7 +0803839300c39393 +0140019340771c63 +1215859b212125b7 +60c59733fce00613 +1213839b212123b7 +3e771a6300e39393 +212125b701500193 +fff006131215859b +fff0039b60c59733 +0113839302739393 +9093839300c39393 +0903839300c39393 +032001933c771063 +03f0061300100593 +fff0039b60c59733 +3a77126303f39393 +fff0059303300193 +60c5973302700613 +38771663fff00393 +212125b703400193 +02b006131215859b +000123b760c59733 +02b393931213839b +3677126310938393 +0010059301600193 +60c595b300700613 +3475966308000393 +0010059301700193 +60c5963300e00613 +32761a63000043b7 +0030059301800193 +0180039360b595b3 +0190019332759063 +0010009300000213 +6020973300700113 +0012021300070313 +fe5214e300200293 +2e731a6308000393 +0000021301a00193 +00e0011300100093 +0000001360209733 +0012021300070313 +fe5212e300200293 +2c731263000043b7 +0000021301b00193 +01f0011300100093 +0000001360209733 +0007031300000013 +0020029300120213 +0010039bfe5210e3 +2873166301f39393 +0000021301c00193 +0070011300100093 +0012021360209733 +fe5216e300200293 +2677126308000393 +0000021301d00193 +00e0011300100093 +6020973300000013 +0020029300120213 +000043b7fe5214e3 +01e0019322771c63 +0010009300000213 +0000001301f00113 +6020973300000013 +0020029300120213 +0010039bfe5212e3 +2077126301f39393 +0000021301f00193 +0000001300100093 +6020973300700113 +0020029300120213 +08000393fe5214e3 +020001931c771c63 +0010009300000213 +00e0011300000013 +6020973300000013 +0020029300120213 +000043b7fe5212e3 +021001931a771463 +0010009300000213 +0000001300000013 +6020973301f00113 +0020029300120213 +0010039bfe5212e3 +16771a6301f39393 +0000021302200193 +0010009300700113 +0012021360209733 +fe5216e300200293 +1477166308000393 +0000021302300193 +0010009300e00113 +6020973300000013 +0020029300120213 +000043b7fe5214e3 +0240019312771063 +01f0011300000213 +0000001300100093 +6020973300000013 +0020029300120213 +0010039bfe5212e3 +0e77166301f39393 +0000021302500193 +0000001300700113 +6020973300100093 +0020029300120213 +08000393fe5214e3 +026001930c771063 +00e0011300000213 +0010009300000013 +6020973300000013 +0020029300120213 +000043b7fe5212e3 +0270019308771863 +01f0011300000213 +0000001300000013 +6020973300100093 +0020029300120213 +0010039bfe5212e3 +04771e6301f39393 +00f0009302800193 +0000039360101133 +0290019304711463 +6000913302000093 +02711a6302000393 +600010b302a00193 +0270926300000393 +4000009302b00193 +8001011b00001137 +0000039360209033 +0230106300701463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800007b8 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000214 +0000000000000000 +00010000000000cb +000000008000022c +0000000000000000 +00010000000000d2 +0000000080000244 +0000000000000000 +00010000000000d9 +000000008000025c +0000000000000000 +00010000000000e1 +0000000080000274 +0000000000000000 +00010000000000e9 +000000008000028c +0000000000000000 +00010000000000f1 +00000000800002ac +0000000000000000 +00010000000000f9 +00000000800002cc +0000000000000000 +0001000000000101 +00000000800002f4 +0000000000000000 +0001000000000109 +0000000080000318 +0000000000000000 +0001000000000111 +000000008000033c +0000000000000000 +0001000000000119 +000000008000035c +0000000000000000 +0001000000000121 +000000008000037c +0000000000000000 +0001000000000129 +00000000800003a4 +0000000000000000 +0001000000000131 +00000000800003c8 +0000000000000000 +0001000000000139 +00000000800003fc +0000000000000000 +0001000000000141 +0000000080000418 +0000000000000000 +0001000000000149 +0000000080000430 +0000000000000000 +0001000000000151 +0000000080000458 +0000000000000000 +0001000000000159 +0000000080000470 +0000000000000000 +0001000000000161 +0000000080000488 +0000000000000000 +0001000000000169 +000000008000049c +0000000000000000 +0001000000000171 +00000000800004c8 +0000000000000000 +0001000000000179 +00000000800004f8 +0000000000000000 +0001000000000181 +0000000080000530 +0000000000000000 +0001000000000189 +0000000080000558 +0000000000000000 +0001000000000191 +0000000080000584 +0000000000000000 +0001000000000199 +00000000800005b8 +0000000000000000 +00010000000001a1 +00000000800005e4 +0000000000000000 +00010000000001a9 +0000000080000614 +0000000000000000 +00010000000001b1 +0000000080000648 +0000000000000000 +00010000000001b9 +0000000080000670 +0000000000000000 +00010000000001c1 +000000008000069c +0000000000000000 +00010000000001c9 +00000000800006d0 +0000000000000000 +00010000000001d1 +00000000800006fc +0000000000000000 +00010000000001d9 +000000008000072c +0000000000000000 +00010000000001e1 +0000000080000760 +0000000000000000 +00010000000001e9 +0000000080000774 +0000000000000000 +00010000000001f1 +0000000080000788 +0000000000000000 +00010000000001f9 +0000000080000798 +0000000000000000 +0001000000000201 +00000000800007d4 +0000000000000000 +0002001000000206 +0000000080002000 +0000000000000000 +0002001000000214 +0000000080002000 +0000000000000000 +0001001000000224 +0000000080000000 +0000000000000000 +000200100000022b +0000000080002000 +0000000000000000 +0002001000000230 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +4e51484e65636300 +76727824006f2e6e +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +30355f7473657400 +31355f7473657400 +32355f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +39335f7473657400 +30345f7473657400 +31345f7473657400 +32345f7473657400 +33345f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000007fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000618 +0000003b00000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000026b8 +0000000000000239 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000028f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rolw.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rolw.dump new file mode 100644 index 0000000..b65845c --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rolw.dump @@ -0,0 +1,629 @@ + +rv64uzbb-p-rolw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00100593 li a1,1 + 800001a0: 00000613 li a2,0 + 800001a4: 60c5973b rolw a4,a1,a2 + 800001a8: 00100393 li t2,1 + 800001ac: 60771463 bne a4,t2,800007b4 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 60c5973b rolw a4,a1,a2 + 800001c0: 00200393 li t2,2 + 800001c4: 5e771863 bne a4,t2,800007b4 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00100593 li a1,1 + 800001d0: 00700613 li a2,7 + 800001d4: 60c5973b rolw a4,a1,a2 + 800001d8: 08000393 li t2,128 + 800001dc: 5c771c63 bne a4,t2,800007b4 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00100593 li a1,1 + 800001e8: 00e00613 li a2,14 + 800001ec: 60c5973b rolw a4,a1,a2 + 800001f0: 000043b7 lui t2,0x4 + 800001f4: 5c771063 bne a4,t2,800007b4 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 00100593 li a1,1 + 80000200: 01f00613 li a2,31 + 80000204: 60c5973b rolw a4,a1,a2 + 80000208: 800003b7 lui t2,0x80000 + 8000020c: 5a771463 bne a4,t2,800007b4 + +0000000080000210 : + 80000210: 00700193 li gp,7 + 80000214: fff00593 li a1,-1 + 80000218: 00000613 li a2,0 + 8000021c: 60c5973b rolw a4,a1,a2 + 80000220: fff00393 li t2,-1 + 80000224: 58771863 bne a4,t2,800007b4 + +0000000080000228 : + 80000228: 00800193 li gp,8 + 8000022c: fff00593 li a1,-1 + 80000230: 00100613 li a2,1 + 80000234: 60c5973b rolw a4,a1,a2 + 80000238: fff00393 li t2,-1 + 8000023c: 56771c63 bne a4,t2,800007b4 + +0000000080000240 : + 80000240: 00900193 li gp,9 + 80000244: fff00593 li a1,-1 + 80000248: 00700613 li a2,7 + 8000024c: 60c5973b rolw a4,a1,a2 + 80000250: fff00393 li t2,-1 + 80000254: 56771063 bne a4,t2,800007b4 + +0000000080000258 : + 80000258: 00a00193 li gp,10 + 8000025c: fff00593 li a1,-1 + 80000260: 00e00613 li a2,14 + 80000264: 60c5973b rolw a4,a1,a2 + 80000268: fff00393 li t2,-1 + 8000026c: 54771463 bne a4,t2,800007b4 + +0000000080000270 : + 80000270: 00b00193 li gp,11 + 80000274: fff00593 li a1,-1 + 80000278: 01f00613 li a2,31 + 8000027c: 60c5973b rolw a4,a1,a2 + 80000280: fff00393 li t2,-1 + 80000284: 52771863 bne a4,t2,800007b4 + +0000000080000288 : + 80000288: 00c00193 li gp,12 + 8000028c: 212125b7 lui a1,0x21212 + 80000290: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000294: 00000613 li a2,0 + 80000298: 60c5973b rolw a4,a1,a2 + 8000029c: 212123b7 lui t2,0x21212 + 800002a0: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 800002a4: 50771863 bne a4,t2,800007b4 + +00000000800002a8 : + 800002a8: 00d00193 li gp,13 + 800002ac: 212125b7 lui a1,0x21212 + 800002b0: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800002b4: 00100613 li a2,1 + 800002b8: 60c5973b rolw a4,a1,a2 + 800002bc: 424243b7 lui t2,0x42424 + 800002c0: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 800002c4: 4e771863 bne a4,t2,800007b4 + +00000000800002c8 : + 800002c8: 00e00193 li gp,14 + 800002cc: 212125b7 lui a1,0x21212 + 800002d0: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800002d4: 00700613 li a2,7 + 800002d8: 60c5973b rolw a4,a1,a2 + 800002dc: 909093b7 lui t2,0x90909 + 800002e0: 0903839b addiw t2,t2,144 # ffffffff90909090 <_end+0xffffffff10907090> + 800002e4: 4c771863 bne a4,t2,800007b4 + +00000000800002e8 : + 800002e8: 00f00193 li gp,15 + 800002ec: 212125b7 lui a1,0x21212 + 800002f0: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800002f4: 00e00613 li a2,14 + 800002f8: 60c5973b rolw a4,a1,a2 + 800002fc: 484853b7 lui t2,0x48485 + 80000300: 8483839b addiw t2,t2,-1976 # 48484848 <_start-0x37b7b7b8> + 80000304: 4a771863 bne a4,t2,800007b4 + +0000000080000308 : + 80000308: 01000193 li gp,16 + 8000030c: 212125b7 lui a1,0x21212 + 80000310: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000314: 01f00613 li a2,31 + 80000318: 60c5973b rolw a4,a1,a2 + 8000031c: 909093b7 lui t2,0x90909 + 80000320: 0903839b addiw t2,t2,144 # ffffffff90909090 <_end+0xffffffff10907090> + 80000324: 48771863 bne a4,t2,800007b4 + +0000000080000328 : + 80000328: 01100193 li gp,17 + 8000032c: 212125b7 lui a1,0x21212 + 80000330: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000334: fe000613 li a2,-32 + 80000338: 60c5973b rolw a4,a1,a2 + 8000033c: 212123b7 lui t2,0x21212 + 80000340: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000344: 46771863 bne a4,t2,800007b4 + +0000000080000348 : + 80000348: 01200193 li gp,18 + 8000034c: 212125b7 lui a1,0x21212 + 80000350: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000354: fe100613 li a2,-31 + 80000358: 60c5973b rolw a4,a1,a2 + 8000035c: 424243b7 lui t2,0x42424 + 80000360: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 80000364: 44771863 bne a4,t2,800007b4 + +0000000080000368 : + 80000368: 01300193 li gp,19 + 8000036c: 212125b7 lui a1,0x21212 + 80000370: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000374: fe700613 li a2,-25 + 80000378: 60c5973b rolw a4,a1,a2 + 8000037c: 909093b7 lui t2,0x90909 + 80000380: 0903839b addiw t2,t2,144 # ffffffff90909090 <_end+0xffffffff10907090> + 80000384: 42771863 bne a4,t2,800007b4 + +0000000080000388 : + 80000388: 01400193 li gp,20 + 8000038c: 212125b7 lui a1,0x21212 + 80000390: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000394: fee00613 li a2,-18 + 80000398: 60c5973b rolw a4,a1,a2 + 8000039c: 484853b7 lui t2,0x48485 + 800003a0: 8483839b addiw t2,t2,-1976 # 48484848 <_start-0x37b7b7b8> + 800003a4: 40771863 bne a4,t2,800007b4 + +00000000800003a8 : + 800003a8: 01500193 li gp,21 + 800003ac: 212125b7 lui a1,0x21212 + 800003b0: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800003b4: fff00613 li a2,-1 + 800003b8: 60c5973b rolw a4,a1,a2 + 800003bc: 909093b7 lui t2,0x90909 + 800003c0: 0903839b addiw t2,t2,144 # ffffffff90909090 <_end+0xffffffff10907090> + 800003c4: 3e771863 bne a4,t2,800007b4 + +00000000800003c8 : + 800003c8: 02c00193 li gp,44 + 800003cc: fff125b7 lui a1,0xfff12 + 800003d0: 3455859b addiw a1,a1,837 # fffffffffff12345 <_end+0xffffffff7ff10345> + 800003d4: 00c59593 slli a1,a1,0xc + 800003d8: 67858593 addi a1,a1,1656 + 800003dc: 00000613 li a2,0 + 800003e0: 60c5973b rolw a4,a1,a2 + 800003e4: 123453b7 lui t2,0x12345 + 800003e8: 6783839b addiw t2,t2,1656 # 12345678 <_start-0x6dcba988> + 800003ec: 3c771463 bne a4,t2,800007b4 + +00000000800003f0 : + 800003f0: 02d00193 li gp,45 + 800003f4: fff125b7 lui a1,0xfff12 + 800003f8: 3455859b addiw a1,a1,837 # fffffffffff12345 <_end+0xffffffff7ff10345> + 800003fc: 00c59593 slli a1,a1,0xc + 80000400: 67858593 addi a1,a1,1656 + 80000404: 00400613 li a2,4 + 80000408: 60c5973b rolw a4,a1,a2 + 8000040c: 234563b7 lui t2,0x23456 + 80000410: 7813839b addiw t2,t2,1921 # 23456781 <_start-0x5cba987f> + 80000414: 3a771063 bne a4,t2,800007b4 + +0000000080000418 : + 80000418: 02e00193 li gp,46 + 8000041c: 000925b7 lui a1,0x92 + 80000420: 3455859b addiw a1,a1,837 # 92345 <_start-0x7ff6dcbb> + 80000424: 00c59593 slli a1,a1,0xc + 80000428: 67858593 addi a1,a1,1656 + 8000042c: 00000613 li a2,0 + 80000430: 60c5973b rolw a4,a1,a2 + 80000434: 923453b7 lui t2,0x92345 + 80000438: 6783839b addiw t2,t2,1656 # ffffffff92345678 <_end+0xffffffff12343678> + 8000043c: 36771c63 bne a4,t2,800007b4 + +0000000080000440 : + 80000440: 02f00193 li gp,47 + 80000444: 000995b7 lui a1,0x99 + 80000448: 3455859b addiw a1,a1,837 # 99345 <_start-0x7ff66cbb> + 8000044c: 00c59593 slli a1,a1,0xc + 80000450: 67858593 addi a1,a1,1656 + 80000454: 00400613 li a2,4 + 80000458: 60c5973b rolw a4,a1,a2 + 8000045c: 934563b7 lui t2,0x93456 + 80000460: 7893839b addiw t2,t2,1929 # ffffffff93456789 <_end+0xffffffff13454789> + 80000464: 34771863 bne a4,t2,800007b4 + +0000000080000468 : + 80000468: 01600193 li gp,22 + 8000046c: 00100593 li a1,1 + 80000470: 00700613 li a2,7 + 80000474: 60c595bb rolw a1,a1,a2 + 80000478: 08000393 li t2,128 + 8000047c: 32759c63 bne a1,t2,800007b4 + +0000000080000480 : + 80000480: 01700193 li gp,23 + 80000484: 00100593 li a1,1 + 80000488: 00e00613 li a2,14 + 8000048c: 60c5963b rolw a2,a1,a2 + 80000490: 000043b7 lui t2,0x4 + 80000494: 32761063 bne a2,t2,800007b4 + +0000000080000498 : + 80000498: 01800193 li gp,24 + 8000049c: 00300593 li a1,3 + 800004a0: 60b595bb rolw a1,a1,a1 + 800004a4: 01800393 li t2,24 + 800004a8: 30759663 bne a1,t2,800007b4 + +00000000800004ac : + 800004ac: 01900193 li gp,25 + 800004b0: 00000213 li tp,0 + 800004b4: 00100093 li ra,1 + 800004b8: 00700113 li sp,7 + 800004bc: 6020973b rolw a4,ra,sp + 800004c0: 00070313 mv t1,a4 + 800004c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004c8: 00200293 li t0,2 + 800004cc: fe5214e3 bne tp,t0,800004b4 + 800004d0: 08000393 li t2,128 + 800004d4: 2e731063 bne t1,t2,800007b4 + +00000000800004d8 : + 800004d8: 01a00193 li gp,26 + 800004dc: 00000213 li tp,0 + 800004e0: 00100093 li ra,1 + 800004e4: 00e00113 li sp,14 + 800004e8: 6020973b rolw a4,ra,sp + 800004ec: 00000013 nop + 800004f0: 00070313 mv t1,a4 + 800004f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004f8: 00200293 li t0,2 + 800004fc: fe5212e3 bne tp,t0,800004e0 + 80000500: 000043b7 lui t2,0x4 + 80000504: 2a731863 bne t1,t2,800007b4 + +0000000080000508 : + 80000508: 01b00193 li gp,27 + 8000050c: 00000213 li tp,0 + 80000510: 00100093 li ra,1 + 80000514: 01f00113 li sp,31 + 80000518: 6020973b rolw a4,ra,sp + 8000051c: 00000013 nop + 80000520: 00000013 nop + 80000524: 00070313 mv t1,a4 + 80000528: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000052c: 00200293 li t0,2 + 80000530: fe5210e3 bne tp,t0,80000510 + 80000534: 800003b7 lui t2,0x80000 + 80000538: 26731e63 bne t1,t2,800007b4 + +000000008000053c : + 8000053c: 01c00193 li gp,28 + 80000540: 00000213 li tp,0 + 80000544: 00100093 li ra,1 + 80000548: 00700113 li sp,7 + 8000054c: 6020973b rolw a4,ra,sp + 80000550: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000554: 00200293 li t0,2 + 80000558: fe5216e3 bne tp,t0,80000544 + 8000055c: 08000393 li t2,128 + 80000560: 24771a63 bne a4,t2,800007b4 + +0000000080000564 : + 80000564: 01d00193 li gp,29 + 80000568: 00000213 li tp,0 + 8000056c: 00100093 li ra,1 + 80000570: 00e00113 li sp,14 + 80000574: 00000013 nop + 80000578: 6020973b rolw a4,ra,sp + 8000057c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000580: 00200293 li t0,2 + 80000584: fe5214e3 bne tp,t0,8000056c + 80000588: 000043b7 lui t2,0x4 + 8000058c: 22771463 bne a4,t2,800007b4 + +0000000080000590 : + 80000590: 01e00193 li gp,30 + 80000594: 00000213 li tp,0 + 80000598: 00100093 li ra,1 + 8000059c: 01f00113 li sp,31 + 800005a0: 00000013 nop + 800005a4: 00000013 nop + 800005a8: 6020973b rolw a4,ra,sp + 800005ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005b0: 00200293 li t0,2 + 800005b4: fe5212e3 bne tp,t0,80000598 + 800005b8: 800003b7 lui t2,0x80000 + 800005bc: 1e771c63 bne a4,t2,800007b4 + +00000000800005c0 : + 800005c0: 01f00193 li gp,31 + 800005c4: 00000213 li tp,0 + 800005c8: 00100093 li ra,1 + 800005cc: 00000013 nop + 800005d0: 00700113 li sp,7 + 800005d4: 6020973b rolw a4,ra,sp + 800005d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005dc: 00200293 li t0,2 + 800005e0: fe5214e3 bne tp,t0,800005c8 + 800005e4: 08000393 li t2,128 + 800005e8: 1c771663 bne a4,t2,800007b4 + +00000000800005ec : + 800005ec: 02000193 li gp,32 + 800005f0: 00000213 li tp,0 + 800005f4: 00100093 li ra,1 + 800005f8: 00000013 nop + 800005fc: 00e00113 li sp,14 + 80000600: 00000013 nop + 80000604: 6020973b rolw a4,ra,sp + 80000608: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000060c: 00200293 li t0,2 + 80000610: fe5212e3 bne tp,t0,800005f4 + 80000614: 000043b7 lui t2,0x4 + 80000618: 18771e63 bne a4,t2,800007b4 + +000000008000061c : + 8000061c: 02100193 li gp,33 + 80000620: 00000213 li tp,0 + 80000624: 00100093 li ra,1 + 80000628: 00000013 nop + 8000062c: 00000013 nop + 80000630: 01f00113 li sp,31 + 80000634: 6020973b rolw a4,ra,sp + 80000638: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000063c: 00200293 li t0,2 + 80000640: fe5212e3 bne tp,t0,80000624 + 80000644: 800003b7 lui t2,0x80000 + 80000648: 16771663 bne a4,t2,800007b4 + +000000008000064c : + 8000064c: 02200193 li gp,34 + 80000650: 00000213 li tp,0 + 80000654: 00700113 li sp,7 + 80000658: 00100093 li ra,1 + 8000065c: 6020973b rolw a4,ra,sp + 80000660: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000664: 00200293 li t0,2 + 80000668: fe5216e3 bne tp,t0,80000654 + 8000066c: 08000393 li t2,128 + 80000670: 14771263 bne a4,t2,800007b4 + +0000000080000674 : + 80000674: 02300193 li gp,35 + 80000678: 00000213 li tp,0 + 8000067c: 00e00113 li sp,14 + 80000680: 00100093 li ra,1 + 80000684: 00000013 nop + 80000688: 6020973b rolw a4,ra,sp + 8000068c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000690: 00200293 li t0,2 + 80000694: fe5214e3 bne tp,t0,8000067c + 80000698: 000043b7 lui t2,0x4 + 8000069c: 10771c63 bne a4,t2,800007b4 + +00000000800006a0 : + 800006a0: 02400193 li gp,36 + 800006a4: 00000213 li tp,0 + 800006a8: 01f00113 li sp,31 + 800006ac: 00100093 li ra,1 + 800006b0: 00000013 nop + 800006b4: 00000013 nop + 800006b8: 6020973b rolw a4,ra,sp + 800006bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006c0: 00200293 li t0,2 + 800006c4: fe5212e3 bne tp,t0,800006a8 + 800006c8: 800003b7 lui t2,0x80000 + 800006cc: 0e771463 bne a4,t2,800007b4 + +00000000800006d0 : + 800006d0: 02500193 li gp,37 + 800006d4: 00000213 li tp,0 + 800006d8: 00700113 li sp,7 + 800006dc: 00000013 nop + 800006e0: 00100093 li ra,1 + 800006e4: 6020973b rolw a4,ra,sp + 800006e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006ec: 00200293 li t0,2 + 800006f0: fe5214e3 bne tp,t0,800006d8 + 800006f4: 08000393 li t2,128 + 800006f8: 0a771e63 bne a4,t2,800007b4 + +00000000800006fc : + 800006fc: 02600193 li gp,38 + 80000700: 00000213 li tp,0 + 80000704: 00e00113 li sp,14 + 80000708: 00000013 nop + 8000070c: 00100093 li ra,1 + 80000710: 00000013 nop + 80000714: 6020973b rolw a4,ra,sp + 80000718: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000071c: 00200293 li t0,2 + 80000720: fe5212e3 bne tp,t0,80000704 + 80000724: 000043b7 lui t2,0x4 + 80000728: 08771663 bne a4,t2,800007b4 + +000000008000072c : + 8000072c: 02700193 li gp,39 + 80000730: 00000213 li tp,0 + 80000734: 01f00113 li sp,31 + 80000738: 00000013 nop + 8000073c: 00000013 nop + 80000740: 00100093 li ra,1 + 80000744: 6020973b rolw a4,ra,sp + 80000748: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000074c: 00200293 li t0,2 + 80000750: fe5212e3 bne tp,t0,80000734 + 80000754: 800003b7 lui t2,0x80000 + 80000758: 04771e63 bne a4,t2,800007b4 + +000000008000075c : + 8000075c: 02800193 li gp,40 + 80000760: 00f00093 li ra,15 + 80000764: 6010113b rolw sp,zero,ra + 80000768: 00000393 li t2,0 + 8000076c: 04711463 bne sp,t2,800007b4 + +0000000080000770 : + 80000770: 02900193 li gp,41 + 80000774: 02000093 li ra,32 + 80000778: 6000913b rolw sp,ra,zero + 8000077c: 02000393 li t2,32 + 80000780: 02711a63 bne sp,t2,800007b4 + +0000000080000784 : + 80000784: 02a00193 li gp,42 + 80000788: 600010bb rolw ra,zero,zero + 8000078c: 00000393 li t2,0 + 80000790: 02709263 bne ra,t2,800007b4 + +0000000080000794 : + 80000794: 02b00193 li gp,43 + 80000798: 40000093 li ra,1024 + 8000079c: 00001137 lui sp,0x1 + 800007a0: 8001011b addiw sp,sp,-2048 # 800 <_start-0x7ffff800> + 800007a4: 6020903b rolw zero,ra,sp + 800007a8: 00000393 li t2,0 + 800007ac: 00701463 bne zero,t2,800007b4 + 800007b0: 02301063 bne zero,gp,800007d0 + +00000000800007b4 : + 800007b4: 0ff0000f fence + 800007b8: 00018063 beqz gp,800007b8 + 800007bc: 00119193 slli gp,gp,0x1 + 800007c0: 0011e193 ori gp,gp,1 + 800007c4: 05d00893 li a7,93 + 800007c8: 00018513 mv a0,gp + 800007cc: 00000073 ecall + +00000000800007d0 : + 800007d0: 0ff0000f fence + 800007d4: 00100193 li gp,1 + 800007d8: 05d00893 li a7,93 + 800007dc: 00000513 li a0,0 + 800007e0: 00000073 ecall + 800007e4: c0001073 unimp + 800007e8: 0000 .insn 2, 0x + 800007ea: 0000 .insn 2, 0x + 800007ec: 0000 .insn 2, 0x + 800007ee: 0000 .insn 2, 0x + 800007f0: 0000 .insn 2, 0x + 800007f2: 0000 .insn 2, 0x + 800007f4: 0000 .insn 2, 0x + 800007f6: 0000 .insn 2, 0x + 800007f8: 0000 .insn 2, 0x + 800007fa: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rolw.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rolw.hex new file mode 100644 index 0000000..3c06487 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rolw.hex @@ -0,0 +1,867 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0010059300200193 +60c5973b00000613 +6077146300100393 +0010059300300193 +60c5973b00100613 +5e77186300200393 +0010059300400193 +60c5973b00700613 +5c771c6308000393 +0010059300500193 +60c5973b00e00613 +5c771063000043b7 +0010059300600193 +60c5973b01f00613 +5a771463800003b7 +fff0059300700193 +60c5973b00000613 +58771863fff00393 +fff0059300800193 +60c5973b00100613 +56771c63fff00393 +fff0059300900193 +60c5973b00700613 +56771063fff00393 +fff0059300a00193 +60c5973b00e00613 +54771463fff00393 +fff0059300b00193 +60c5973b01f00613 +52771863fff00393 +212125b700c00193 +000006131215859b +212123b760c5973b +507718631213839b +212125b700d00193 +001006131215859b +424243b760c5973b +4e7718632423839b +212125b700e00193 +007006131215859b +909093b760c5973b +4c7718630903839b +212125b700f00193 +00e006131215859b +484853b760c5973b +4a7718638483839b +212125b701000193 +01f006131215859b +909093b760c5973b +487718630903839b +212125b701100193 +fe0006131215859b +212123b760c5973b +467718631213839b +212125b701200193 +fe1006131215859b +424243b760c5973b +447718632423839b +212125b701300193 +fe7006131215859b +909093b760c5973b +427718630903839b +212125b701400193 +fee006131215859b +484853b760c5973b +407718638483839b +212125b701500193 +fff006131215859b +909093b760c5973b +3e7718630903839b +fff125b702c00193 +00c595933455859b +0000061367858593 +123453b760c5973b +3c7714636783839b +fff125b702d00193 +00c595933455859b +0040061367858593 +234563b760c5973b +3a7710637813839b +000925b702e00193 +00c595933455859b +0000061367858593 +923453b760c5973b +36771c636783839b +000995b702f00193 +00c595933455859b +0040061367858593 +934563b760c5973b +347718637893839b +0010059301600193 +60c595bb00700613 +32759c6308000393 +0010059301700193 +60c5963b00e00613 +32761063000043b7 +0030059301800193 +0180039360b595bb +0190019330759663 +0010009300000213 +6020973b00700113 +0012021300070313 +fe5214e300200293 +2e73106308000393 +0000021301a00193 +00e0011300100093 +000000136020973b +0012021300070313 +fe5212e300200293 +2a731863000043b7 +0000021301b00193 +01f0011300100093 +000000136020973b +0007031300000013 +0020029300120213 +800003b7fe5210e3 +01c0019326731e63 +0010009300000213 +6020973b00700113 +0020029300120213 +08000393fe5216e3 +01d0019324771a63 +0010009300000213 +0000001300e00113 +001202136020973b +fe5214e300200293 +22771463000043b7 +0000021301e00193 +01f0011300100093 +0000001300000013 +001202136020973b +fe5212e300200293 +1e771c63800003b7 +0000021301f00193 +0000001300100093 +6020973b00700113 +0020029300120213 +08000393fe5214e3 +020001931c771663 +0010009300000213 +00e0011300000013 +6020973b00000013 +0020029300120213 +000043b7fe5212e3 +0210019318771e63 +0010009300000213 +0000001300000013 +6020973b01f00113 +0020029300120213 +800003b7fe5212e3 +0220019316771663 +0070011300000213 +6020973b00100093 +0020029300120213 +08000393fe5216e3 +0230019314771263 +00e0011300000213 +0000001300100093 +001202136020973b +fe5214e300200293 +10771c63000043b7 +0000021302400193 +0010009301f00113 +0000001300000013 +001202136020973b +fe5212e300200293 +0e771463800003b7 +0000021302500193 +0000001300700113 +6020973b00100093 +0020029300120213 +08000393fe5214e3 +026001930a771e63 +00e0011300000213 +0010009300000013 +6020973b00000013 +0020029300120213 +000043b7fe5212e3 +0270019308771663 +01f0011300000213 +0000001300000013 +6020973b00100093 +0020029300120213 +800003b7fe5212e3 +0280019304771e63 +6010113b00f00093 +0471146300000393 +0200009302900193 +020003936000913b +02a0019302711a63 +00000393600010bb +02b0019302709263 +0000113740000093 +6020903b8001011b +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800007b4 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000210 +0000000000000000 +00010000000000cb +0000000080000228 +0000000000000000 +00010000000000d2 +0000000080000240 +0000000000000000 +00010000000000d9 +0000000080000258 +0000000000000000 +00010000000000e1 +0000000080000270 +0000000000000000 +00010000000000e9 +0000000080000288 +0000000000000000 +00010000000000f1 +00000000800002a8 +0000000000000000 +00010000000000f9 +00000000800002c8 +0000000000000000 +0001000000000101 +00000000800002e8 +0000000000000000 +0001000000000109 +0000000080000308 +0000000000000000 +0001000000000111 +0000000080000328 +0000000000000000 +0001000000000119 +0000000080000348 +0000000000000000 +0001000000000121 +0000000080000368 +0000000000000000 +0001000000000129 +0000000080000388 +0000000000000000 +0001000000000131 +00000000800003a8 +0000000000000000 +0001000000000139 +00000000800003c8 +0000000000000000 +0001000000000141 +00000000800003f0 +0000000000000000 +0001000000000149 +0000000080000418 +0000000000000000 +0001000000000151 +0000000080000440 +0000000000000000 +0001000000000159 +0000000080000468 +0000000000000000 +0001000000000161 +0000000080000480 +0000000000000000 +0001000000000169 +0000000080000498 +0000000000000000 +0001000000000171 +00000000800004ac +0000000000000000 +0001000000000179 +00000000800004d8 +0000000000000000 +0001000000000181 +0000000080000508 +0000000000000000 +0001000000000189 +000000008000053c +0000000000000000 +0001000000000191 +0000000080000564 +0000000000000000 +0001000000000199 +0000000080000590 +0000000000000000 +00010000000001a1 +00000000800005c0 +0000000000000000 +00010000000001a9 +00000000800005ec +0000000000000000 +00010000000001b1 +000000008000061c +0000000000000000 +00010000000001b9 +000000008000064c +0000000000000000 +00010000000001c1 +0000000080000674 +0000000000000000 +00010000000001c9 +00000000800006a0 +0000000000000000 +00010000000001d1 +00000000800006d0 +0000000000000000 +00010000000001d9 +00000000800006fc +0000000000000000 +00010000000001e1 +000000008000072c +0000000000000000 +00010000000001e9 +000000008000075c +0000000000000000 +00010000000001f1 +0000000080000770 +0000000000000000 +00010000000001f9 +0000000080000784 +0000000000000000 +0001000000000201 +0000000080000794 +0000000000000000 +0001000000000209 +00000000800007d0 +0000000000000000 +000200100000020e +0000000080002000 +0000000000000000 +000200100000021c +0000000080002000 +0000000000000000 +000100100000022c +0000000080000000 +0000000000000000 +0002001000000233 +0000000080002000 +0000000000000000 +0002001000000238 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +5a38594159636300 +76727824006f2e72 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +34345f7473657400 +35345f7473657400 +36345f7473657400 +37345f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +39335f7473657400 +30345f7473657400 +31345f7473657400 +32345f7473657400 +33345f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000007fc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000630 +0000003c00000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000026d0 +0000000000000241 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002911 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ror.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ror.dump new file mode 100644 index 0000000..16cf8ac --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ror.dump @@ -0,0 +1,663 @@ + +rv64uzbb-p-ror: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00100593 li a1,1 + 800001a0: 00000613 li a2,0 + 800001a4: 60c5d733 ror a4,a1,a2 + 800001a8: 00100393 li t2,1 + 800001ac: 66771c63 bne a4,t2,80000824 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 60c5d733 ror a4,a1,a2 + 800001c0: fff0039b addiw t2,zero,-1 + 800001c4: 03f39393 slli t2,t2,0x3f + 800001c8: 64771e63 bne a4,t2,80000824 + +00000000800001cc : + 800001cc: 00400193 li gp,4 + 800001d0: 00100593 li a1,1 + 800001d4: 00700613 li a2,7 + 800001d8: 60c5d733 ror a4,a1,a2 + 800001dc: 0010039b addiw t2,zero,1 + 800001e0: 03939393 slli t2,t2,0x39 + 800001e4: 64771063 bne a4,t2,80000824 + +00000000800001e8 : + 800001e8: 00500193 li gp,5 + 800001ec: 00100593 li a1,1 + 800001f0: 00e00613 li a2,14 + 800001f4: 60c5d733 ror a4,a1,a2 + 800001f8: 0010039b addiw t2,zero,1 + 800001fc: 03239393 slli t2,t2,0x32 + 80000200: 62771263 bne a4,t2,80000824 + +0000000080000204 : + 80000204: 00600193 li gp,6 + 80000208: 00100593 li a1,1 + 8000020c: 01f00613 li a2,31 + 80000210: 60c5d733 ror a4,a1,a2 + 80000214: 0010039b addiw t2,zero,1 + 80000218: 02139393 slli t2,t2,0x21 + 8000021c: 60771463 bne a4,t2,80000824 + +0000000080000220 : + 80000220: 00700193 li gp,7 + 80000224: fff00593 li a1,-1 + 80000228: 00000613 li a2,0 + 8000022c: 60c5d733 ror a4,a1,a2 + 80000230: fff00393 li t2,-1 + 80000234: 5e771863 bne a4,t2,80000824 + +0000000080000238 : + 80000238: 00800193 li gp,8 + 8000023c: fff00593 li a1,-1 + 80000240: 00100613 li a2,1 + 80000244: 60c5d733 ror a4,a1,a2 + 80000248: fff00393 li t2,-1 + 8000024c: 5c771c63 bne a4,t2,80000824 + +0000000080000250 : + 80000250: 00900193 li gp,9 + 80000254: fff00593 li a1,-1 + 80000258: 00700613 li a2,7 + 8000025c: 60c5d733 ror a4,a1,a2 + 80000260: fff00393 li t2,-1 + 80000264: 5c771063 bne a4,t2,80000824 + +0000000080000268 : + 80000268: 00a00193 li gp,10 + 8000026c: fff00593 li a1,-1 + 80000270: 00e00613 li a2,14 + 80000274: 60c5d733 ror a4,a1,a2 + 80000278: fff00393 li t2,-1 + 8000027c: 5a771463 bne a4,t2,80000824 + +0000000080000280 : + 80000280: 00b00193 li gp,11 + 80000284: fff00593 li a1,-1 + 80000288: 01f00613 li a2,31 + 8000028c: 60c5d733 ror a4,a1,a2 + 80000290: fff00393 li t2,-1 + 80000294: 58771863 bne a4,t2,80000824 + +0000000080000298 : + 80000298: 00c00193 li gp,12 + 8000029c: 212125b7 lui a1,0x21212 + 800002a0: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800002a4: 00000613 li a2,0 + 800002a8: 60c5d733 ror a4,a1,a2 + 800002ac: 212123b7 lui t2,0x21212 + 800002b0: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 800002b4: 56771863 bne a4,t2,80000824 + +00000000800002b8 : + 800002b8: 00d00193 li gp,13 + 800002bc: 212125b7 lui a1,0x21212 + 800002c0: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800002c4: 00100613 li a2,1 + 800002c8: 60c5d733 ror a4,a1,a2 + 800002cc: fff0039b addiw t2,zero,-1 + 800002d0: 02739393 slli t2,t2,0x27 + 800002d4: 01138393 addi t2,t2,17 + 800002d8: 00c39393 slli t2,t2,0xc + 800002dc: 90938393 addi t2,t2,-1783 + 800002e0: 00c39393 slli t2,t2,0xc + 800002e4: 09038393 addi t2,t2,144 + 800002e8: 52771e63 bne a4,t2,80000824 + +00000000800002ec : + 800002ec: 00e00193 li gp,14 + 800002f0: 212125b7 lui a1,0x21212 + 800002f4: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800002f8: 00700613 li a2,7 + 800002fc: 60c5d733 ror a4,a1,a2 + 80000300: 0210039b addiw t2,zero,33 + 80000304: 02b39393 slli t2,t2,0x2b + 80000308: 10938393 addi t2,t2,265 + 8000030c: 00e39393 slli t2,t2,0xe + 80000310: 24238393 addi t2,t2,578 + 80000314: 50771863 bne a4,t2,80000824 + +0000000080000318 : + 80000318: 00f00193 li gp,15 + 8000031c: 212125b7 lui a1,0x21212 + 80000320: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000324: 00e00613 li a2,14 + 80000328: 60c5d733 ror a4,a1,a2 + 8000032c: ffffe3b7 lui t2,0xffffe + 80000330: 1213839b addiw t2,t2,289 # ffffffffffffe121 <_end+0xffffffff7fffc121> + 80000334: 02339393 slli t2,t2,0x23 + 80000338: 00138393 addi t2,t2,1 + 8000033c: 00f39393 slli t2,t2,0xf + 80000340: 48438393 addi t2,t2,1156 + 80000344: 4e771063 bne a4,t2,80000824 + +0000000080000348 : + 80000348: 01000193 li gp,16 + 8000034c: 212125b7 lui a1,0x21212 + 80000350: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000354: 01f00613 li a2,31 + 80000358: 60c5d733 ror a4,a1,a2 + 8000035c: 212123b7 lui t2,0x21212 + 80000360: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000364: 02139393 slli t2,t2,0x21 + 80000368: 4a771e63 bne a4,t2,80000824 + +000000008000036c : + 8000036c: 01100193 li gp,17 + 80000370: 212125b7 lui a1,0x21212 + 80000374: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000378: fc000613 li a2,-64 + 8000037c: 60c5d733 ror a4,a1,a2 + 80000380: 212123b7 lui t2,0x21212 + 80000384: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000388: 48771e63 bne a4,t2,80000824 + +000000008000038c : + 8000038c: 01200193 li gp,18 + 80000390: 212125b7 lui a1,0x21212 + 80000394: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000398: fc100613 li a2,-63 + 8000039c: 60c5d733 ror a4,a1,a2 + 800003a0: fff0039b addiw t2,zero,-1 + 800003a4: 02739393 slli t2,t2,0x27 + 800003a8: 01138393 addi t2,t2,17 + 800003ac: 00c39393 slli t2,t2,0xc + 800003b0: 90938393 addi t2,t2,-1783 + 800003b4: 00c39393 slli t2,t2,0xc + 800003b8: 09038393 addi t2,t2,144 + 800003bc: 46771463 bne a4,t2,80000824 + +00000000800003c0 : + 800003c0: 01300193 li gp,19 + 800003c4: 212125b7 lui a1,0x21212 + 800003c8: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800003cc: fc700613 li a2,-57 + 800003d0: 60c5d733 ror a4,a1,a2 + 800003d4: 0210039b addiw t2,zero,33 + 800003d8: 02b39393 slli t2,t2,0x2b + 800003dc: 10938393 addi t2,t2,265 + 800003e0: 00e39393 slli t2,t2,0xe + 800003e4: 24238393 addi t2,t2,578 + 800003e8: 42771e63 bne a4,t2,80000824 + +00000000800003ec : + 800003ec: 01400193 li gp,20 + 800003f0: 212125b7 lui a1,0x21212 + 800003f4: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800003f8: fce00613 li a2,-50 + 800003fc: 60c5d733 ror a4,a1,a2 + 80000400: ffffe3b7 lui t2,0xffffe + 80000404: 1213839b addiw t2,t2,289 # ffffffffffffe121 <_end+0xffffffff7fffc121> + 80000408: 02339393 slli t2,t2,0x23 + 8000040c: 00138393 addi t2,t2,1 + 80000410: 00f39393 slli t2,t2,0xf + 80000414: 48438393 addi t2,t2,1156 + 80000418: 40771663 bne a4,t2,80000824 + +000000008000041c : + 8000041c: 01500193 li gp,21 + 80000420: 212125b7 lui a1,0x21212 + 80000424: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000428: fff00613 li a2,-1 + 8000042c: 60c5d733 ror a4,a1,a2 + 80000430: 424243b7 lui t2,0x42424 + 80000434: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 80000438: 3e771663 bne a4,t2,80000824 + +000000008000043c : + 8000043c: 03200193 li gp,50 + 80000440: 00100593 li a1,1 + 80000444: 03f00613 li a2,63 + 80000448: 60c5d733 ror a4,a1,a2 + 8000044c: 00200393 li t2,2 + 80000450: 3c771a63 bne a4,t2,80000824 + +0000000080000454 : + 80000454: 03300193 li gp,51 + 80000458: fff00593 li a1,-1 + 8000045c: 02700613 li a2,39 + 80000460: 60c5d733 ror a4,a1,a2 + 80000464: fff00393 li t2,-1 + 80000468: 3a771e63 bne a4,t2,80000824 + +000000008000046c : + 8000046c: 03400193 li gp,52 + 80000470: 212125b7 lui a1,0x21212 + 80000474: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000478: 02b00613 li a2,43 + 8000047c: 60c5d733 ror a4,a1,a2 + 80000480: 212123b7 lui t2,0x21212 + 80000484: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000488: 01539393 slli t2,t2,0x15 + 8000048c: 38771c63 bne a4,t2,80000824 + +0000000080000490 : + 80000490: 01600193 li gp,22 + 80000494: 00100593 li a1,1 + 80000498: 00700613 li a2,7 + 8000049c: 60c5d5b3 ror a1,a1,a2 + 800004a0: 0010039b addiw t2,zero,1 + 800004a4: 03939393 slli t2,t2,0x39 + 800004a8: 36759e63 bne a1,t2,80000824 + +00000000800004ac : + 800004ac: 01700193 li gp,23 + 800004b0: 00100593 li a1,1 + 800004b4: 00e00613 li a2,14 + 800004b8: 60c5d633 ror a2,a1,a2 + 800004bc: 0010039b addiw t2,zero,1 + 800004c0: 03239393 slli t2,t2,0x32 + 800004c4: 36761063 bne a2,t2,80000824 + +00000000800004c8 : + 800004c8: 01800193 li gp,24 + 800004cc: 00300593 li a1,3 + 800004d0: 60b5d5b3 ror a1,a1,a1 + 800004d4: 0030039b addiw t2,zero,3 + 800004d8: 03d39393 slli t2,t2,0x3d + 800004dc: 34759463 bne a1,t2,80000824 + +00000000800004e0 : + 800004e0: 01900193 li gp,25 + 800004e4: 00000213 li tp,0 + 800004e8: 00100093 li ra,1 + 800004ec: 00700113 li sp,7 + 800004f0: 6020d733 ror a4,ra,sp + 800004f4: 00070313 mv t1,a4 + 800004f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004fc: 00200293 li t0,2 + 80000500: fe5214e3 bne tp,t0,800004e8 + 80000504: 0010039b addiw t2,zero,1 + 80000508: 03939393 slli t2,t2,0x39 + 8000050c: 30731c63 bne t1,t2,80000824 + +0000000080000510 : + 80000510: 01a00193 li gp,26 + 80000514: 00000213 li tp,0 + 80000518: 00100093 li ra,1 + 8000051c: 00e00113 li sp,14 + 80000520: 6020d733 ror a4,ra,sp + 80000524: 00000013 nop + 80000528: 00070313 mv t1,a4 + 8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000530: 00200293 li t0,2 + 80000534: fe5212e3 bne tp,t0,80000518 + 80000538: 0010039b addiw t2,zero,1 + 8000053c: 03239393 slli t2,t2,0x32 + 80000540: 2e731263 bne t1,t2,80000824 + +0000000080000544 : + 80000544: 01b00193 li gp,27 + 80000548: 00000213 li tp,0 + 8000054c: 00100093 li ra,1 + 80000550: 01f00113 li sp,31 + 80000554: 6020d733 ror a4,ra,sp + 80000558: 00000013 nop + 8000055c: 00000013 nop + 80000560: 00070313 mv t1,a4 + 80000564: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000568: 00200293 li t0,2 + 8000056c: fe5210e3 bne tp,t0,8000054c + 80000570: 0010039b addiw t2,zero,1 + 80000574: 02139393 slli t2,t2,0x21 + 80000578: 2a731663 bne t1,t2,80000824 + +000000008000057c : + 8000057c: 01c00193 li gp,28 + 80000580: 00000213 li tp,0 + 80000584: 00100093 li ra,1 + 80000588: 00700113 li sp,7 + 8000058c: 6020d733 ror a4,ra,sp + 80000590: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000594: 00200293 li t0,2 + 80000598: fe5216e3 bne tp,t0,80000584 + 8000059c: 0010039b addiw t2,zero,1 + 800005a0: 03939393 slli t2,t2,0x39 + 800005a4: 28771063 bne a4,t2,80000824 + +00000000800005a8 : + 800005a8: 01d00193 li gp,29 + 800005ac: 00000213 li tp,0 + 800005b0: 00100093 li ra,1 + 800005b4: 00e00113 li sp,14 + 800005b8: 00000013 nop + 800005bc: 6020d733 ror a4,ra,sp + 800005c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005c4: 00200293 li t0,2 + 800005c8: fe5214e3 bne tp,t0,800005b0 + 800005cc: 0010039b addiw t2,zero,1 + 800005d0: 03239393 slli t2,t2,0x32 + 800005d4: 24771863 bne a4,t2,80000824 + +00000000800005d8 : + 800005d8: 01e00193 li gp,30 + 800005dc: 00000213 li tp,0 + 800005e0: 00100093 li ra,1 + 800005e4: 01f00113 li sp,31 + 800005e8: 00000013 nop + 800005ec: 00000013 nop + 800005f0: 6020d733 ror a4,ra,sp + 800005f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005f8: 00200293 li t0,2 + 800005fc: fe5212e3 bne tp,t0,800005e0 + 80000600: 0010039b addiw t2,zero,1 + 80000604: 02139393 slli t2,t2,0x21 + 80000608: 20771e63 bne a4,t2,80000824 + +000000008000060c : + 8000060c: 01f00193 li gp,31 + 80000610: 00000213 li tp,0 + 80000614: 00100093 li ra,1 + 80000618: 00000013 nop + 8000061c: 00700113 li sp,7 + 80000620: 6020d733 ror a4,ra,sp + 80000624: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000628: 00200293 li t0,2 + 8000062c: fe5214e3 bne tp,t0,80000614 + 80000630: 0010039b addiw t2,zero,1 + 80000634: 03939393 slli t2,t2,0x39 + 80000638: 1e771663 bne a4,t2,80000824 + +000000008000063c : + 8000063c: 02000193 li gp,32 + 80000640: 00000213 li tp,0 + 80000644: 00100093 li ra,1 + 80000648: 00000013 nop + 8000064c: 00e00113 li sp,14 + 80000650: 00000013 nop + 80000654: 6020d733 ror a4,ra,sp + 80000658: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000065c: 00200293 li t0,2 + 80000660: fe5212e3 bne tp,t0,80000644 + 80000664: 0010039b addiw t2,zero,1 + 80000668: 03239393 slli t2,t2,0x32 + 8000066c: 1a771c63 bne a4,t2,80000824 + +0000000080000670 : + 80000670: 02100193 li gp,33 + 80000674: 00000213 li tp,0 + 80000678: 00100093 li ra,1 + 8000067c: 00000013 nop + 80000680: 00000013 nop + 80000684: 01f00113 li sp,31 + 80000688: 6020d733 ror a4,ra,sp + 8000068c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000690: 00200293 li t0,2 + 80000694: fe5212e3 bne tp,t0,80000678 + 80000698: 0010039b addiw t2,zero,1 + 8000069c: 02139393 slli t2,t2,0x21 + 800006a0: 18771263 bne a4,t2,80000824 + +00000000800006a4 : + 800006a4: 02200193 li gp,34 + 800006a8: 00000213 li tp,0 + 800006ac: 00700113 li sp,7 + 800006b0: 00100093 li ra,1 + 800006b4: 6020d733 ror a4,ra,sp + 800006b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006bc: 00200293 li t0,2 + 800006c0: fe5216e3 bne tp,t0,800006ac + 800006c4: 0010039b addiw t2,zero,1 + 800006c8: 03939393 slli t2,t2,0x39 + 800006cc: 14771c63 bne a4,t2,80000824 + +00000000800006d0 : + 800006d0: 02300193 li gp,35 + 800006d4: 00000213 li tp,0 + 800006d8: 00e00113 li sp,14 + 800006dc: 00100093 li ra,1 + 800006e0: 00000013 nop + 800006e4: 6020d733 ror a4,ra,sp + 800006e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006ec: 00200293 li t0,2 + 800006f0: fe5214e3 bne tp,t0,800006d8 + 800006f4: 0010039b addiw t2,zero,1 + 800006f8: 03239393 slli t2,t2,0x32 + 800006fc: 12771463 bne a4,t2,80000824 + +0000000080000700 : + 80000700: 02400193 li gp,36 + 80000704: 00000213 li tp,0 + 80000708: 01f00113 li sp,31 + 8000070c: 00100093 li ra,1 + 80000710: 00000013 nop + 80000714: 00000013 nop + 80000718: 6020d733 ror a4,ra,sp + 8000071c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000720: 00200293 li t0,2 + 80000724: fe5212e3 bne tp,t0,80000708 + 80000728: 0010039b addiw t2,zero,1 + 8000072c: 02139393 slli t2,t2,0x21 + 80000730: 0e771a63 bne a4,t2,80000824 + +0000000080000734 : + 80000734: 02500193 li gp,37 + 80000738: 00000213 li tp,0 + 8000073c: 00700113 li sp,7 + 80000740: 00000013 nop + 80000744: 00100093 li ra,1 + 80000748: 6020d733 ror a4,ra,sp + 8000074c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000750: 00200293 li t0,2 + 80000754: fe5214e3 bne tp,t0,8000073c + 80000758: 0010039b addiw t2,zero,1 + 8000075c: 03939393 slli t2,t2,0x39 + 80000760: 0c771263 bne a4,t2,80000824 + +0000000080000764 : + 80000764: 02600193 li gp,38 + 80000768: 00000213 li tp,0 + 8000076c: 00e00113 li sp,14 + 80000770: 00000013 nop + 80000774: 00100093 li ra,1 + 80000778: 00000013 nop + 8000077c: 6020d733 ror a4,ra,sp + 80000780: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000784: 00200293 li t0,2 + 80000788: fe5212e3 bne tp,t0,8000076c + 8000078c: 0010039b addiw t2,zero,1 + 80000790: 03239393 slli t2,t2,0x32 + 80000794: 08771863 bne a4,t2,80000824 + +0000000080000798 : + 80000798: 02700193 li gp,39 + 8000079c: 00000213 li tp,0 + 800007a0: 01f00113 li sp,31 + 800007a4: 00000013 nop + 800007a8: 00000013 nop + 800007ac: 00100093 li ra,1 + 800007b0: 6020d733 ror a4,ra,sp + 800007b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800007b8: 00200293 li t0,2 + 800007bc: fe5212e3 bne tp,t0,800007a0 + 800007c0: 0010039b addiw t2,zero,1 + 800007c4: 02139393 slli t2,t2,0x21 + 800007c8: 04771e63 bne a4,t2,80000824 + +00000000800007cc : + 800007cc: 02800193 li gp,40 + 800007d0: 00f00093 li ra,15 + 800007d4: 60105133 ror sp,zero,ra + 800007d8: 00000393 li t2,0 + 800007dc: 04711463 bne sp,t2,80000824 + +00000000800007e0 : + 800007e0: 02900193 li gp,41 + 800007e4: 02000093 li ra,32 + 800007e8: 6000d133 ror sp,ra,zero + 800007ec: 02000393 li t2,32 + 800007f0: 02711a63 bne sp,t2,80000824 + +00000000800007f4 : + 800007f4: 02a00193 li gp,42 + 800007f8: 600050b3 ror ra,zero,zero + 800007fc: 00000393 li t2,0 + 80000800: 02709263 bne ra,t2,80000824 + +0000000080000804 : + 80000804: 02b00193 li gp,43 + 80000808: 40000093 li ra,1024 + 8000080c: 00001137 lui sp,0x1 + 80000810: 8001011b addiw sp,sp,-2048 # 800 <_start-0x7ffff800> + 80000814: 6020d033 ror zero,ra,sp + 80000818: 00000393 li t2,0 + 8000081c: 00701463 bne zero,t2,80000824 + 80000820: 02301063 bne zero,gp,80000840 + +0000000080000824 : + 80000824: 0ff0000f fence + 80000828: 00018063 beqz gp,80000828 + 8000082c: 00119193 slli gp,gp,0x1 + 80000830: 0011e193 ori gp,gp,1 + 80000834: 05d00893 li a7,93 + 80000838: 00018513 mv a0,gp + 8000083c: 00000073 ecall + +0000000080000840 : + 80000840: 0ff0000f fence + 80000844: 00100193 li gp,1 + 80000848: 05d00893 li a7,93 + 8000084c: 00000513 li a0,0 + 80000850: 00000073 ecall + 80000854: c0001073 unimp + 80000858: 0000 .insn 2, 0x + 8000085a: 0000 .insn 2, 0x + 8000085c: 0000 .insn 2, 0x + 8000085e: 0000 .insn 2, 0x + 80000860: 0000 .insn 2, 0x + 80000862: 0000 .insn 2, 0x + 80000864: 0000 .insn 2, 0x + 80000866: 0000 .insn 2, 0x + 80000868: 0000 .insn 2, 0x + 8000086a: 0000 .insn 2, 0x + 8000086c: 0000 .insn 2, 0x + 8000086e: 0000 .insn 2, 0x + 80000870: 0000 .insn 2, 0x + 80000872: 0000 .insn 2, 0x + 80000874: 0000 .insn 2, 0x + 80000876: 0000 .insn 2, 0x + 80000878: 0000 .insn 2, 0x + 8000087a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ror.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ror.hex new file mode 100644 index 0000000..6c1fa3c --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-ror.hex @@ -0,0 +1,863 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0010059300200193 +60c5d73300000613 +66771c6300100393 +0010059300300193 +60c5d73300100613 +03f39393fff0039b +0040019364771e63 +0070061300100593 +0010039b60c5d733 +6477106303939393 +0010059300500193 +60c5d73300e00613 +032393930010039b +0060019362771263 +01f0061300100593 +0010039b60c5d733 +6077146302139393 +fff0059300700193 +60c5d73300000613 +5e771863fff00393 +fff0059300800193 +60c5d73300100613 +5c771c63fff00393 +fff0059300900193 +60c5d73300700613 +5c771063fff00393 +fff0059300a00193 +60c5d73300e00613 +5a771463fff00393 +fff0059300b00193 +60c5d73301f00613 +58771863fff00393 +212125b700c00193 +000006131215859b +212123b760c5d733 +567718631213839b +212125b700d00193 +001006131215859b +fff0039b60c5d733 +0113839302739393 +9093839300c39393 +0903839300c39393 +00e0019352771e63 +1215859b212125b7 +60c5d73300700613 +02b393930210039b +00e3939310938393 +5077186324238393 +212125b700f00193 +00e006131215859b +ffffe3b760c5d733 +023393931213839b +00f3939300138393 +4e77106348438393 +212125b701000193 +01f006131215859b +212123b760c5d733 +021393931213839b +011001934a771e63 +1215859b212125b7 +60c5d733fc000613 +1213839b212123b7 +0120019348771e63 +1215859b212125b7 +60c5d733fc100613 +02739393fff0039b +00c3939301138393 +00c3939390938393 +4677146309038393 +212125b701300193 +fc7006131215859b +0210039b60c5d733 +1093839302b39393 +2423839300e39393 +0140019342771e63 +1215859b212125b7 +60c5d733fce00613 +1213839bffffe3b7 +0013839302339393 +4843839300f39393 +0150019340771663 +1215859b212125b7 +60c5d733fff00613 +2423839b424243b7 +032001933e771663 +03f0061300100593 +0020039360c5d733 +033001933c771a63 +02700613fff00593 +fff0039360c5d733 +034001933a771e63 +1215859b212125b7 +60c5d73302b00613 +1213839b212123b7 +38771c6301539393 +0010059301600193 +60c5d5b300700613 +039393930010039b +0170019336759e63 +00e0061300100593 +0010039b60c5d633 +3676106303239393 +0030059301800193 +0030039b60b5d5b3 +3475946303d39393 +0000021301900193 +0070011300100093 +000703136020d733 +0020029300120213 +0010039bfe5214e3 +30731c6303939393 +0000021301a00193 +00e0011300100093 +000000136020d733 +0012021300070313 +fe5212e300200293 +032393930010039b +01b001932e731263 +0010009300000213 +6020d73301f00113 +0000001300000013 +0012021300070313 +fe5210e300200293 +021393930010039b +01c001932a731663 +0010009300000213 +6020d73300700113 +0020029300120213 +0010039bfe5216e3 +2877106303939393 +0000021301d00193 +00e0011300100093 +6020d73300000013 +0020029300120213 +0010039bfe5214e3 +2477186303239393 +0000021301e00193 +01f0011300100093 +0000001300000013 +001202136020d733 +fe5212e300200293 +021393930010039b +01f0019320771e63 +0010009300000213 +0070011300000013 +001202136020d733 +fe5214e300200293 +039393930010039b +020001931e771663 +0010009300000213 +00e0011300000013 +6020d73300000013 +0020029300120213 +0010039bfe5212e3 +1a771c6303239393 +0000021302100193 +0000001300100093 +01f0011300000013 +001202136020d733 +fe5212e300200293 +021393930010039b +0220019318771263 +0070011300000213 +6020d73300100093 +0020029300120213 +0010039bfe5216e3 +14771c6303939393 +0000021302300193 +0010009300e00113 +6020d73300000013 +0020029300120213 +0010039bfe5214e3 +1277146303239393 +0000021302400193 +0010009301f00113 +0000001300000013 +001202136020d733 +fe5212e300200293 +021393930010039b +025001930e771a63 +0070011300000213 +0010009300000013 +001202136020d733 +fe5214e300200293 +039393930010039b +026001930c771263 +00e0011300000213 +0010009300000013 +6020d73300000013 +0020029300120213 +0010039bfe5212e3 +0877186303239393 +0000021302700193 +0000001301f00113 +0010009300000013 +001202136020d733 +fe5212e300200293 +021393930010039b +0280019304771e63 +6010513300f00093 +0471146300000393 +0200009302900193 +020003936000d133 +02a0019302711a63 +00000393600050b3 +02b0019302709263 +0000113740000093 +6020d0338001011b +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000824 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001cc +0000000000000000 +00010000000000b6 +00000000800001e8 +0000000000000000 +00010000000000bd +0000000080000204 +0000000000000000 +00010000000000c4 +0000000080000220 +0000000000000000 +00010000000000cb +0000000080000238 +0000000000000000 +00010000000000d2 +0000000080000250 +0000000000000000 +00010000000000d9 +0000000080000268 +0000000000000000 +00010000000000e1 +0000000080000280 +0000000000000000 +00010000000000e9 +0000000080000298 +0000000000000000 +00010000000000f1 +00000000800002b8 +0000000000000000 +00010000000000f9 +00000000800002ec +0000000000000000 +0001000000000101 +0000000080000318 +0000000000000000 +0001000000000109 +0000000080000348 +0000000000000000 +0001000000000111 +000000008000036c +0000000000000000 +0001000000000119 +000000008000038c +0000000000000000 +0001000000000121 +00000000800003c0 +0000000000000000 +0001000000000129 +00000000800003ec +0000000000000000 +0001000000000131 +000000008000041c +0000000000000000 +0001000000000139 +000000008000043c +0000000000000000 +0001000000000141 +0000000080000454 +0000000000000000 +0001000000000149 +000000008000046c +0000000000000000 +0001000000000151 +0000000080000490 +0000000000000000 +0001000000000159 +00000000800004ac +0000000000000000 +0001000000000161 +00000000800004c8 +0000000000000000 +0001000000000169 +00000000800004e0 +0000000000000000 +0001000000000171 +0000000080000510 +0000000000000000 +0001000000000179 +0000000080000544 +0000000000000000 +0001000000000181 +000000008000057c +0000000000000000 +0001000000000189 +00000000800005a8 +0000000000000000 +0001000000000191 +00000000800005d8 +0000000000000000 +0001000000000199 +000000008000060c +0000000000000000 +00010000000001a1 +000000008000063c +0000000000000000 +00010000000001a9 +0000000080000670 +0000000000000000 +00010000000001b1 +00000000800006a4 +0000000000000000 +00010000000001b9 +00000000800006d0 +0000000000000000 +00010000000001c1 +0000000080000700 +0000000000000000 +00010000000001c9 +0000000080000734 +0000000000000000 +00010000000001d1 +0000000080000764 +0000000000000000 +00010000000001d9 +0000000080000798 +0000000000000000 +00010000000001e1 +00000000800007cc +0000000000000000 +00010000000001e9 +00000000800007e0 +0000000000000000 +00010000000001f1 +00000000800007f4 +0000000000000000 +00010000000001f9 +0000000080000804 +0000000000000000 +0001000000000201 +0000000080000840 +0000000000000000 +0002001000000206 +0000000080002000 +0000000000000000 +0002001000000214 +0000000080002000 +0000000000000000 +0001001000000224 +0000000080000000 +0000000000000000 +000200100000022b +0000000080002000 +0000000000000000 +0002001000000230 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +434f4b4c64636300 +76727824006f2e47 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +30355f7473657400 +31355f7473657400 +32355f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +39335f7473657400 +30345f7473657400 +31345f7473657400 +32345f7473657400 +33345f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000087c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000618 +0000003b00000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000026b8 +0000000000000239 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000028f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rori.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rori.dump new file mode 100644 index 0000000..2c077bd --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rori.dump @@ -0,0 +1,425 @@ + +rv64uzbb-p-rori: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00100693 li a3,1 + 800001a0: 6006d713 rori a4,a3,0x0 + 800001a4: 00100393 li t2,1 + 800001a8: 32771263 bne a4,t2,800004cc + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100693 li a3,1 + 800001b4: 6016d713 rori a4,a3,0x1 + 800001b8: fff0039b addiw t2,zero,-1 + 800001bc: 03f39393 slli t2,t2,0x3f + 800001c0: 30771663 bne a4,t2,800004cc + +00000000800001c4 : + 800001c4: 00400193 li gp,4 + 800001c8: 00100693 li a3,1 + 800001cc: 6076d713 rori a4,a3,0x7 + 800001d0: 0010039b addiw t2,zero,1 + 800001d4: 03939393 slli t2,t2,0x39 + 800001d8: 2e771a63 bne a4,t2,800004cc + +00000000800001dc : + 800001dc: 00500193 li gp,5 + 800001e0: 00100693 li a3,1 + 800001e4: 60e6d713 rori a4,a3,0xe + 800001e8: 0010039b addiw t2,zero,1 + 800001ec: 03239393 slli t2,t2,0x32 + 800001f0: 2c771e63 bne a4,t2,800004cc + +00000000800001f4 : + 800001f4: 00600193 li gp,6 + 800001f8: 00100693 li a3,1 + 800001fc: 61f6d713 rori a4,a3,0x1f + 80000200: 0010039b addiw t2,zero,1 + 80000204: 02139393 slli t2,t2,0x21 + 80000208: 2c771263 bne a4,t2,800004cc + +000000008000020c : + 8000020c: 00700193 li gp,7 + 80000210: fff00693 li a3,-1 + 80000214: 6006d713 rori a4,a3,0x0 + 80000218: fff00393 li t2,-1 + 8000021c: 2a771863 bne a4,t2,800004cc + +0000000080000220 : + 80000220: 00800193 li gp,8 + 80000224: fff00693 li a3,-1 + 80000228: 6016d713 rori a4,a3,0x1 + 8000022c: fff00393 li t2,-1 + 80000230: 28771e63 bne a4,t2,800004cc + +0000000080000234 : + 80000234: 00900193 li gp,9 + 80000238: fff00693 li a3,-1 + 8000023c: 6076d713 rori a4,a3,0x7 + 80000240: fff00393 li t2,-1 + 80000244: 28771463 bne a4,t2,800004cc + +0000000080000248 : + 80000248: 00a00193 li gp,10 + 8000024c: fff00693 li a3,-1 + 80000250: 60e6d713 rori a4,a3,0xe + 80000254: fff00393 li t2,-1 + 80000258: 26771a63 bne a4,t2,800004cc + +000000008000025c : + 8000025c: 00b00193 li gp,11 + 80000260: fff00693 li a3,-1 + 80000264: 61f6d713 rori a4,a3,0x1f + 80000268: fff00393 li t2,-1 + 8000026c: 26771063 bne a4,t2,800004cc + +0000000080000270 : + 80000270: 00c00193 li gp,12 + 80000274: 212126b7 lui a3,0x21212 + 80000278: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 8000027c: 6006d713 rori a4,a3,0x0 + 80000280: 212123b7 lui t2,0x21212 + 80000284: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000288: 24771263 bne a4,t2,800004cc + +000000008000028c : + 8000028c: 00d00193 li gp,13 + 80000290: 212126b7 lui a3,0x21212 + 80000294: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 80000298: 6016d713 rori a4,a3,0x1 + 8000029c: fff0039b addiw t2,zero,-1 + 800002a0: 02739393 slli t2,t2,0x27 + 800002a4: 01138393 addi t2,t2,17 + 800002a8: 00c39393 slli t2,t2,0xc + 800002ac: 90938393 addi t2,t2,-1783 + 800002b0: 00c39393 slli t2,t2,0xc + 800002b4: 09038393 addi t2,t2,144 + 800002b8: 20771a63 bne a4,t2,800004cc + +00000000800002bc : + 800002bc: 00e00193 li gp,14 + 800002c0: 212126b7 lui a3,0x21212 + 800002c4: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 800002c8: 6076d713 rori a4,a3,0x7 + 800002cc: 0210039b addiw t2,zero,33 + 800002d0: 02b39393 slli t2,t2,0x2b + 800002d4: 10938393 addi t2,t2,265 + 800002d8: 00e39393 slli t2,t2,0xe + 800002dc: 24238393 addi t2,t2,578 + 800002e0: 1e771663 bne a4,t2,800004cc + +00000000800002e4 : + 800002e4: 00f00193 li gp,15 + 800002e8: 212126b7 lui a3,0x21212 + 800002ec: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 800002f0: 60e6d713 rori a4,a3,0xe + 800002f4: ffffe3b7 lui t2,0xffffe + 800002f8: 1213839b addiw t2,t2,289 # ffffffffffffe121 <_end+0xffffffff7fffc121> + 800002fc: 02339393 slli t2,t2,0x23 + 80000300: 00138393 addi t2,t2,1 + 80000304: 00f39393 slli t2,t2,0xf + 80000308: 48438393 addi t2,t2,1156 + 8000030c: 1c771063 bne a4,t2,800004cc + +0000000080000310 : + 80000310: 01000193 li gp,16 + 80000314: 212126b7 lui a3,0x21212 + 80000318: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 8000031c: 61f6d713 rori a4,a3,0x1f + 80000320: 212123b7 lui t2,0x21212 + 80000324: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000328: 02139393 slli t2,t2,0x21 + 8000032c: 1a771063 bne a4,t2,800004cc + +0000000080000330 : + 80000330: 01100193 li gp,17 + 80000334: 00100693 li a3,1 + 80000338: 63f6d713 rori a4,a3,0x3f + 8000033c: 00200393 li t2,2 + 80000340: 18771663 bne a4,t2,800004cc + +0000000080000344 : + 80000344: 01200193 li gp,18 + 80000348: fff00693 li a3,-1 + 8000034c: 6276d713 rori a4,a3,0x27 + 80000350: fff00393 li t2,-1 + 80000354: 16771c63 bne a4,t2,800004cc + +0000000080000358 : + 80000358: 01300193 li gp,19 + 8000035c: 212126b7 lui a3,0x21212 + 80000360: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 80000364: 62b6d713 rori a4,a3,0x2b + 80000368: 212123b7 lui t2,0x21212 + 8000036c: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000370: 01539393 slli t2,t2,0x15 + 80000374: 14771c63 bne a4,t2,800004cc + +0000000080000378 : + 80000378: 01400193 li gp,20 + 8000037c: 00100593 li a1,1 + 80000380: 6075d593 rori a1,a1,0x7 + 80000384: 0010039b addiw t2,zero,1 + 80000388: 03939393 slli t2,t2,0x39 + 8000038c: 14759063 bne a1,t2,800004cc + +0000000080000390 : + 80000390: 01500193 li gp,21 + 80000394: 00000213 li tp,0 + 80000398: 00100093 li ra,1 + 8000039c: 6070d713 rori a4,ra,0x7 + 800003a0: 00070313 mv t1,a4 + 800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003a8: 00200293 li t0,2 + 800003ac: fe5216e3 bne tp,t0,80000398 + 800003b0: 0010039b addiw t2,zero,1 + 800003b4: 03939393 slli t2,t2,0x39 + 800003b8: 10731a63 bne t1,t2,800004cc + +00000000800003bc : + 800003bc: 01600193 li gp,22 + 800003c0: 00000213 li tp,0 + 800003c4: 00100093 li ra,1 + 800003c8: 60e0d713 rori a4,ra,0xe + 800003cc: 00000013 nop + 800003d0: 00070313 mv t1,a4 + 800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d8: 00200293 li t0,2 + 800003dc: fe5214e3 bne tp,t0,800003c4 + 800003e0: 0010039b addiw t2,zero,1 + 800003e4: 03239393 slli t2,t2,0x32 + 800003e8: 0e731263 bne t1,t2,800004cc + +00000000800003ec : + 800003ec: 01700193 li gp,23 + 800003f0: 00000213 li tp,0 + 800003f4: 00100093 li ra,1 + 800003f8: 61f0d713 rori a4,ra,0x1f + 800003fc: 00000013 nop + 80000400: 00000013 nop + 80000404: 00070313 mv t1,a4 + 80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000040c: 00200293 li t0,2 + 80000410: fe5212e3 bne tp,t0,800003f4 + 80000414: 0010039b addiw t2,zero,1 + 80000418: 02139393 slli t2,t2,0x21 + 8000041c: 0a731863 bne t1,t2,800004cc + +0000000080000420 : + 80000420: 01800193 li gp,24 + 80000424: 00000213 li tp,0 + 80000428: 00100093 li ra,1 + 8000042c: 6070d713 rori a4,ra,0x7 + 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000434: 00200293 li t0,2 + 80000438: fe5218e3 bne tp,t0,80000428 + 8000043c: 0010039b addiw t2,zero,1 + 80000440: 03939393 slli t2,t2,0x39 + 80000444: 08771463 bne a4,t2,800004cc + +0000000080000448 : + 80000448: 01900193 li gp,25 + 8000044c: 00000213 li tp,0 + 80000450: 00100093 li ra,1 + 80000454: 00000013 nop + 80000458: 60e0d713 rori a4,ra,0xe + 8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000460: 00200293 li t0,2 + 80000464: fe5216e3 bne tp,t0,80000450 + 80000468: 0010039b addiw t2,zero,1 + 8000046c: 03239393 slli t2,t2,0x32 + 80000470: 04771e63 bne a4,t2,800004cc + +0000000080000474 : + 80000474: 01a00193 li gp,26 + 80000478: 00000213 li tp,0 + 8000047c: 00100093 li ra,1 + 80000480: 00000013 nop + 80000484: 00000013 nop + 80000488: 61f0d713 rori a4,ra,0x1f + 8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000490: 00200293 li t0,2 + 80000494: fe5214e3 bne tp,t0,8000047c + 80000498: 0010039b addiw t2,zero,1 + 8000049c: 02139393 slli t2,t2,0x21 + 800004a0: 02771663 bne a4,t2,800004cc + +00000000800004a4 : + 800004a4: 01b00193 li gp,27 + 800004a8: 61f05093 rori ra,zero,0x1f + 800004ac: 00000393 li t2,0 + 800004b0: 00709e63 bne ra,t2,800004cc + +00000000800004b4 : + 800004b4: 01c00193 li gp,28 + 800004b8: 02100093 li ra,33 + 800004bc: 6140d013 rori zero,ra,0x14 + 800004c0: 00000393 li t2,0 + 800004c4: 00701463 bne zero,t2,800004cc + 800004c8: 02301063 bne zero,gp,800004e8 + +00000000800004cc : + 800004cc: 0ff0000f fence + 800004d0: 00018063 beqz gp,800004d0 + 800004d4: 00119193 slli gp,gp,0x1 + 800004d8: 0011e193 ori gp,gp,1 + 800004dc: 05d00893 li a7,93 + 800004e0: 00018513 mv a0,gp + 800004e4: 00000073 ecall + +00000000800004e8 : + 800004e8: 0ff0000f fence + 800004ec: 00100193 li gp,1 + 800004f0: 05d00893 li a7,93 + 800004f4: 00000513 li a0,0 + 800004f8: 00000073 ecall + 800004fc: c0001073 unimp + 80000500: 0000 .insn 2, 0x + 80000502: 0000 .insn 2, 0x + 80000504: 0000 .insn 2, 0x + 80000506: 0000 .insn 2, 0x + 80000508: 0000 .insn 2, 0x + 8000050a: 0000 .insn 2, 0x + 8000050c: 0000 .insn 2, 0x + 8000050e: 0000 .insn 2, 0x + 80000510: 0000 .insn 2, 0x + 80000512: 0000 .insn 2, 0x + 80000514: 0000 .insn 2, 0x + 80000516: 0000 .insn 2, 0x + 80000518: 0000 .insn 2, 0x + 8000051a: 0000 .insn 2, 0x + 8000051c: 0000 .insn 2, 0x + 8000051e: 0000 .insn 2, 0x + 80000520: 0000 .insn 2, 0x + 80000522: 0000 .insn 2, 0x + 80000524: 0000 .insn 2, 0x + 80000526: 0000 .insn 2, 0x + 80000528: 0000 .insn 2, 0x + 8000052a: 0000 .insn 2, 0x + 8000052c: 0000 .insn 2, 0x + 8000052e: 0000 .insn 2, 0x + 80000530: 0000 .insn 2, 0x + 80000532: 0000 .insn 2, 0x + 80000534: 0000 .insn 2, 0x + 80000536: 0000 .insn 2, 0x + 80000538: 0000 .insn 2, 0x + 8000053a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rori.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rori.hex new file mode 100644 index 0000000..3c4ad9a --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rori.hex @@ -0,0 +1,791 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0010069300200193 +001003936006d713 +0030019332771263 +6016d71300100693 +03f39393fff0039b +0040019330771663 +6076d71300100693 +039393930010039b +005001932e771a63 +60e6d71300100693 +032393930010039b +006001932c771e63 +61f6d71300100693 +021393930010039b +007001932c771263 +6006d713fff00693 +2a771863fff00393 +fff0069300800193 +fff003936016d713 +0090019328771e63 +6076d713fff00693 +28771463fff00393 +fff0069300a00193 +fff0039360e6d713 +00b0019326771a63 +61f6d713fff00693 +26771063fff00393 +212126b700c00193 +6006d7131216869b +1213839b212123b7 +00d0019324771263 +1216869b212126b7 +fff0039b6016d713 +0113839302739393 +9093839300c39393 +0903839300c39393 +00e0019320771a63 +1216869b212126b7 +0210039b6076d713 +1093839302b39393 +2423839300e39393 +00f001931e771663 +1216869b212126b7 +ffffe3b760e6d713 +023393931213839b +00f3939300138393 +1c77106348438393 +212126b701000193 +61f6d7131216869b +1213839b212123b7 +1a77106302139393 +0010069301100193 +0020039363f6d713 +0120019318771663 +6276d713fff00693 +16771c63fff00393 +212126b701300193 +62b6d7131216869b +1213839b212123b7 +14771c6301539393 +0010059301400193 +0010039b6075d593 +1475906303939393 +0000021301500193 +6070d71300100093 +0012021300070313 +fe5216e300200293 +039393930010039b +0160019310731a63 +0010009300000213 +0000001360e0d713 +0012021300070313 +fe5214e300200293 +032393930010039b +017001930e731263 +0010009300000213 +0000001361f0d713 +0007031300000013 +0020029300120213 +0010039bfe5212e3 +0a73186302139393 +0000021301800193 +6070d71300100093 +0020029300120213 +0010039bfe5218e3 +0877146303939393 +0000021301900193 +0000001300100093 +0012021360e0d713 +fe5216e300200293 +032393930010039b +01a0019304771e63 +0010009300000213 +0000001300000013 +0012021361f0d713 +fe5214e300200293 +021393930010039b +01b0019302771663 +0000039361f05093 +01c0019300709e63 +6140d01302100093 +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +00000000800004cc +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c4 +0000000000000000 +00010000000000b6 +00000000800001dc +0000000000000000 +00010000000000bd +00000000800001f4 +0000000000000000 +00010000000000c4 +000000008000020c +0000000000000000 +00010000000000cb +0000000080000220 +0000000000000000 +00010000000000d2 +0000000080000234 +0000000000000000 +00010000000000d9 +0000000080000248 +0000000000000000 +00010000000000e1 +000000008000025c +0000000000000000 +00010000000000e9 +0000000080000270 +0000000000000000 +00010000000000f1 +000000008000028c +0000000000000000 +00010000000000f9 +00000000800002bc +0000000000000000 +0001000000000101 +00000000800002e4 +0000000000000000 +0001000000000109 +0000000080000310 +0000000000000000 +0001000000000111 +0000000080000330 +0000000000000000 +0001000000000119 +0000000080000344 +0000000000000000 +0001000000000121 +0000000080000358 +0000000000000000 +0001000000000129 +0000000080000378 +0000000000000000 +0001000000000131 +0000000080000390 +0000000000000000 +0001000000000139 +00000000800003bc +0000000000000000 +0001000000000141 +00000000800003ec +0000000000000000 +0001000000000149 +0000000080000420 +0000000000000000 +0001000000000151 +0000000080000448 +0000000000000000 +0001000000000159 +0000000080000474 +0000000000000000 +0001000000000161 +00000000800004a4 +0000000000000000 +0001000000000169 +00000000800004b4 +0000000000000000 +0001000000000171 +00000000800004e8 +0000000000000000 +0002001000000176 +0000000080002000 +0000000000000000 +0002001000000184 +0000000080002000 +0000000000000000 +0001001000000194 +0000000080000000 +0000000000000000 +000200100000019b +0000000080002000 +0000000000000000 +00020010000001a0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +594f526334636300 +76727824006f2e7a +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000053c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000468 +0000002900000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +0000000000002508 +00000000000001a9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000026b1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-roriw.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-roriw.dump new file mode 100644 index 0000000..52b174a --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-roriw.dump @@ -0,0 +1,365 @@ + +rv64uzbb-p-roriw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00100693 li a3,1 + 800001a0: 6006d71b roriw a4,a3,0x0 + 800001a4: 00100393 li t2,1 + 800001a8: 26771e63 bne a4,t2,80000424 + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100693 li a3,1 + 800001b4: 6016d71b roriw a4,a3,0x1 + 800001b8: 800003b7 lui t2,0x80000 + 800001bc: 26771463 bne a4,t2,80000424 + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00100693 li a3,1 + 800001c8: 6076d71b roriw a4,a3,0x7 + 800001cc: 020003b7 lui t2,0x2000 + 800001d0: 24771a63 bne a4,t2,80000424 + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: 00100693 li a3,1 + 800001dc: 60e6d71b roriw a4,a3,0xe + 800001e0: 000403b7 lui t2,0x40 + 800001e4: 24771063 bne a4,t2,80000424 + +00000000800001e8 : + 800001e8: 00600193 li gp,6 + 800001ec: 00100693 li a3,1 + 800001f0: 61f6d71b roriw a4,a3,0x1f + 800001f4: 00200393 li t2,2 + 800001f8: 22771663 bne a4,t2,80000424 + +00000000800001fc : + 800001fc: 00700193 li gp,7 + 80000200: fff00693 li a3,-1 + 80000204: 6006d71b roriw a4,a3,0x0 + 80000208: fff00393 li t2,-1 + 8000020c: 20771c63 bne a4,t2,80000424 + +0000000080000210 : + 80000210: 00800193 li gp,8 + 80000214: fff00693 li a3,-1 + 80000218: 6016d71b roriw a4,a3,0x1 + 8000021c: fff00393 li t2,-1 + 80000220: 20771263 bne a4,t2,80000424 + +0000000080000224 : + 80000224: 00900193 li gp,9 + 80000228: fff00693 li a3,-1 + 8000022c: 6076d71b roriw a4,a3,0x7 + 80000230: fff00393 li t2,-1 + 80000234: 1e771863 bne a4,t2,80000424 + +0000000080000238 : + 80000238: 00a00193 li gp,10 + 8000023c: fff00693 li a3,-1 + 80000240: 60e6d71b roriw a4,a3,0xe + 80000244: fff00393 li t2,-1 + 80000248: 1c771e63 bne a4,t2,80000424 + +000000008000024c : + 8000024c: 00b00193 li gp,11 + 80000250: fff00693 li a3,-1 + 80000254: 61f6d71b roriw a4,a3,0x1f + 80000258: fff00393 li t2,-1 + 8000025c: 1c771463 bne a4,t2,80000424 + +0000000080000260 : + 80000260: 00c00193 li gp,12 + 80000264: 212126b7 lui a3,0x21212 + 80000268: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 8000026c: 6006d71b roriw a4,a3,0x0 + 80000270: 212123b7 lui t2,0x21212 + 80000274: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000278: 1a771663 bne a4,t2,80000424 + +000000008000027c : + 8000027c: 00d00193 li gp,13 + 80000280: 212126b7 lui a3,0x21212 + 80000284: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 80000288: 6016d71b roriw a4,a3,0x1 + 8000028c: 909093b7 lui t2,0x90909 + 80000290: 0903839b addiw t2,t2,144 # ffffffff90909090 <_end+0xffffffff10907090> + 80000294: 18771863 bne a4,t2,80000424 + +0000000080000298 : + 80000298: 00e00193 li gp,14 + 8000029c: 212126b7 lui a3,0x21212 + 800002a0: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 800002a4: 6076d71b roriw a4,a3,0x7 + 800002a8: 424243b7 lui t2,0x42424 + 800002ac: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 800002b0: 16771a63 bne a4,t2,80000424 + +00000000800002b4 : + 800002b4: 00f00193 li gp,15 + 800002b8: 212126b7 lui a3,0x21212 + 800002bc: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 800002c0: 60e6d71b roriw a4,a3,0xe + 800002c4: 848483b7 lui t2,0x84848 + 800002c8: 4843839b addiw t2,t2,1156 # ffffffff84848484 <_end+0xffffffff04846484> + 800002cc: 14771c63 bne a4,t2,80000424 + +00000000800002d0 : + 800002d0: 01000193 li gp,16 + 800002d4: 212126b7 lui a3,0x21212 + 800002d8: 1216869b addiw a3,a3,289 # 21212121 <_start-0x5edededf> + 800002dc: 61f6d71b roriw a4,a3,0x1f + 800002e0: 424243b7 lui t2,0x42424 + 800002e4: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 800002e8: 12771e63 bne a4,t2,80000424 + +00000000800002ec : + 800002ec: 01400193 li gp,20 + 800002f0: 00100593 li a1,1 + 800002f4: 6075d59b roriw a1,a1,0x7 + 800002f8: 020003b7 lui t2,0x2000 + 800002fc: 12759463 bne a1,t2,80000424 + +0000000080000300 : + 80000300: 01500193 li gp,21 + 80000304: 00000213 li tp,0 + 80000308: 00100093 li ra,1 + 8000030c: 6070d71b roriw a4,ra,0x7 + 80000310: 00070313 mv t1,a4 + 80000314: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000318: 00200293 li t0,2 + 8000031c: fe5216e3 bne tp,t0,80000308 + 80000320: 020003b7 lui t2,0x2000 + 80000324: 10731063 bne t1,t2,80000424 + +0000000080000328 : + 80000328: 01600193 li gp,22 + 8000032c: 00000213 li tp,0 + 80000330: 00100093 li ra,1 + 80000334: 60e0d71b roriw a4,ra,0xe + 80000338: 00000013 nop + 8000033c: 00070313 mv t1,a4 + 80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000344: 00200293 li t0,2 + 80000348: fe5214e3 bne tp,t0,80000330 + 8000034c: 000403b7 lui t2,0x40 + 80000350: 0c731a63 bne t1,t2,80000424 + +0000000080000354 : + 80000354: 01700193 li gp,23 + 80000358: 00000213 li tp,0 + 8000035c: 00100093 li ra,1 + 80000360: 61f0d71b roriw a4,ra,0x1f + 80000364: 00000013 nop + 80000368: 00000013 nop + 8000036c: 00070313 mv t1,a4 + 80000370: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000374: 00200293 li t0,2 + 80000378: fe5212e3 bne tp,t0,8000035c + 8000037c: 00200393 li t2,2 + 80000380: 0a731263 bne t1,t2,80000424 + +0000000080000384 : + 80000384: 01800193 li gp,24 + 80000388: 00000213 li tp,0 + 8000038c: 00100093 li ra,1 + 80000390: 6070d71b roriw a4,ra,0x7 + 80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000398: 00200293 li t0,2 + 8000039c: fe5218e3 bne tp,t0,8000038c + 800003a0: 020003b7 lui t2,0x2000 + 800003a4: 08771063 bne a4,t2,80000424 + +00000000800003a8 : + 800003a8: 01900193 li gp,25 + 800003ac: 00000213 li tp,0 + 800003b0: 00100093 li ra,1 + 800003b4: 00000013 nop + 800003b8: 60e0d71b roriw a4,ra,0xe + 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c0: 00200293 li t0,2 + 800003c4: fe5216e3 bne tp,t0,800003b0 + 800003c8: 000403b7 lui t2,0x40 + 800003cc: 04771c63 bne a4,t2,80000424 + +00000000800003d0 : + 800003d0: 01a00193 li gp,26 + 800003d4: 00000213 li tp,0 + 800003d8: 00100093 li ra,1 + 800003dc: 00000013 nop + 800003e0: 00000013 nop + 800003e4: 61f0d71b roriw a4,ra,0x1f + 800003e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003ec: 00200293 li t0,2 + 800003f0: fe5214e3 bne tp,t0,800003d8 + 800003f4: 00200393 li t2,2 + 800003f8: 02771663 bne a4,t2,80000424 + +00000000800003fc : + 800003fc: 01b00193 li gp,27 + 80000400: 61f0509b roriw ra,zero,0x1f + 80000404: 00000393 li t2,0 + 80000408: 00709e63 bne ra,t2,80000424 + +000000008000040c : + 8000040c: 01c00193 li gp,28 + 80000410: 02100093 li ra,33 + 80000414: 6140d01b roriw zero,ra,0x14 + 80000418: 00000393 li t2,0 + 8000041c: 00701463 bne zero,t2,80000424 + 80000420: 02301063 bne zero,gp,80000440 + +0000000080000424 : + 80000424: 0ff0000f fence + 80000428: 00018063 beqz gp,80000428 + 8000042c: 00119193 slli gp,gp,0x1 + 80000430: 0011e193 ori gp,gp,1 + 80000434: 05d00893 li a7,93 + 80000438: 00018513 mv a0,gp + 8000043c: 00000073 ecall + +0000000080000440 : + 80000440: 0ff0000f fence + 80000444: 00100193 li gp,1 + 80000448: 05d00893 li a7,93 + 8000044c: 00000513 li a0,0 + 80000450: 00000073 ecall + 80000454: c0001073 unimp + 80000458: 0000 .insn 2, 0x + 8000045a: 0000 .insn 2, 0x + 8000045c: 0000 .insn 2, 0x + 8000045e: 0000 .insn 2, 0x + 80000460: 0000 .insn 2, 0x + 80000462: 0000 .insn 2, 0x + 80000464: 0000 .insn 2, 0x + 80000466: 0000 .insn 2, 0x + 80000468: 0000 .insn 2, 0x + 8000046a: 0000 .insn 2, 0x + 8000046c: 0000 .insn 2, 0x + 8000046e: 0000 .insn 2, 0x + 80000470: 0000 .insn 2, 0x + 80000472: 0000 .insn 2, 0x + 80000474: 0000 .insn 2, 0x + 80000476: 0000 .insn 2, 0x + 80000478: 0000 .insn 2, 0x + 8000047a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-roriw.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-roriw.hex new file mode 100644 index 0000000..c555c35 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-roriw.hex @@ -0,0 +1,779 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0010069300200193 +001003936006d71b +0030019326771e63 +6016d71b00100693 +26771463800003b7 +0010069300400193 +020003b76076d71b +0050019324771a63 +60e6d71b00100693 +24771063000403b7 +0010069300600193 +0020039361f6d71b +0070019322771663 +6006d71bfff00693 +20771c63fff00393 +fff0069300800193 +fff003936016d71b +0090019320771263 +6076d71bfff00693 +1e771863fff00393 +fff0069300a00193 +fff0039360e6d71b +00b001931c771e63 +61f6d71bfff00693 +1c771463fff00393 +212126b700c00193 +6006d71b1216869b +1213839b212123b7 +00d001931a771663 +1216869b212126b7 +909093b76016d71b +187718630903839b +212126b700e00193 +6076d71b1216869b +2423839b424243b7 +00f0019316771a63 +1216869b212126b7 +848483b760e6d71b +14771c634843839b +212126b701000193 +61f6d71b1216869b +2423839b424243b7 +0140019312771e63 +6075d59b00100593 +12759463020003b7 +0000021301500193 +6070d71b00100093 +0012021300070313 +fe5216e300200293 +10731063020003b7 +0000021301600193 +60e0d71b00100093 +0007031300000013 +0020029300120213 +000403b7fe5214e3 +017001930c731a63 +0010009300000213 +0000001361f0d71b +0007031300000013 +0020029300120213 +00200393fe5212e3 +018001930a731263 +0010009300000213 +001202136070d71b +fe5218e300200293 +08771063020003b7 +0000021301900193 +0000001300100093 +0012021360e0d71b +fe5216e300200293 +04771c63000403b7 +0000021301a00193 +0000001300100093 +61f0d71b00000013 +0020029300120213 +00200393fe5214e3 +01b0019302771663 +0000039361f0509b +01c0019300709e63 +6140d01b02100093 +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000424 +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001e8 +0000000000000000 +00010000000000c4 +00000000800001fc +0000000000000000 +00010000000000cb +0000000080000210 +0000000000000000 +00010000000000d2 +0000000080000224 +0000000000000000 +00010000000000d9 +0000000080000238 +0000000000000000 +00010000000000e1 +000000008000024c +0000000000000000 +00010000000000e9 +0000000080000260 +0000000000000000 +00010000000000f1 +000000008000027c +0000000000000000 +00010000000000f9 +0000000080000298 +0000000000000000 +0001000000000101 +00000000800002b4 +0000000000000000 +0001000000000109 +00000000800002d0 +0000000000000000 +0001000000000111 +00000000800002ec +0000000000000000 +0001000000000119 +0000000080000300 +0000000000000000 +0001000000000121 +0000000080000328 +0000000000000000 +0001000000000129 +0000000080000354 +0000000000000000 +0001000000000131 +0000000080000384 +0000000000000000 +0001000000000139 +00000000800003a8 +0000000000000000 +0001000000000141 +00000000800003d0 +0000000000000000 +0001000000000149 +00000000800003fc +0000000000000000 +0001000000000151 +000000008000040c +0000000000000000 +0001000000000159 +0000000080000440 +0000000000000000 +000200100000015e +0000000080002000 +0000000000000000 +000200100000016c +0000000080002000 +0000000000000000 +000100100000017c +0000000080000000 +0000000000000000 +0002001000000183 +0000000080002000 +0000000000000000 +0002001000000188 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +6379697636636300 +76727824006f2e64 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000047c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000420 +0000002600000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024c0 +0000000000000191 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002651 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rorw.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rorw.dump new file mode 100644 index 0000000..64be8f8 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rorw.dump @@ -0,0 +1,597 @@ + +rv64uzbb-p-rorw: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00100593 li a1,1 + 800001a0: 00000613 li a2,0 + 800001a4: 60c5d73b rorw a4,a1,a2 + 800001a8: 00100393 li t2,1 + 800001ac: 56771463 bne a4,t2,80000714 + +00000000800001b0 : + 800001b0: 00300193 li gp,3 + 800001b4: 00100593 li a1,1 + 800001b8: 00100613 li a2,1 + 800001bc: 60c5d73b rorw a4,a1,a2 + 800001c0: 800003b7 lui t2,0x80000 + 800001c4: 54771863 bne a4,t2,80000714 + +00000000800001c8 : + 800001c8: 00400193 li gp,4 + 800001cc: 00100593 li a1,1 + 800001d0: 00700613 li a2,7 + 800001d4: 60c5d73b rorw a4,a1,a2 + 800001d8: 020003b7 lui t2,0x2000 + 800001dc: 52771c63 bne a4,t2,80000714 + +00000000800001e0 : + 800001e0: 00500193 li gp,5 + 800001e4: 00100593 li a1,1 + 800001e8: 00e00613 li a2,14 + 800001ec: 60c5d73b rorw a4,a1,a2 + 800001f0: 000403b7 lui t2,0x40 + 800001f4: 52771063 bne a4,t2,80000714 + +00000000800001f8 : + 800001f8: 00600193 li gp,6 + 800001fc: 00100593 li a1,1 + 80000200: 01f00613 li a2,31 + 80000204: 60c5d73b rorw a4,a1,a2 + 80000208: 00200393 li t2,2 + 8000020c: 50771463 bne a4,t2,80000714 + +0000000080000210 : + 80000210: 00700193 li gp,7 + 80000214: fff00593 li a1,-1 + 80000218: 00000613 li a2,0 + 8000021c: 60c5d73b rorw a4,a1,a2 + 80000220: fff00393 li t2,-1 + 80000224: 4e771863 bne a4,t2,80000714 + +0000000080000228 : + 80000228: 00800193 li gp,8 + 8000022c: fff00593 li a1,-1 + 80000230: 00100613 li a2,1 + 80000234: 60c5d73b rorw a4,a1,a2 + 80000238: fff00393 li t2,-1 + 8000023c: 4c771c63 bne a4,t2,80000714 + +0000000080000240 : + 80000240: 00900193 li gp,9 + 80000244: fff00593 li a1,-1 + 80000248: 00700613 li a2,7 + 8000024c: 60c5d73b rorw a4,a1,a2 + 80000250: fff00393 li t2,-1 + 80000254: 4c771063 bne a4,t2,80000714 + +0000000080000258 : + 80000258: 00a00193 li gp,10 + 8000025c: fff00593 li a1,-1 + 80000260: 00e00613 li a2,14 + 80000264: 60c5d73b rorw a4,a1,a2 + 80000268: fff00393 li t2,-1 + 8000026c: 4a771463 bne a4,t2,80000714 + +0000000080000270 : + 80000270: 00b00193 li gp,11 + 80000274: fff00593 li a1,-1 + 80000278: 01f00613 li a2,31 + 8000027c: 60c5d73b rorw a4,a1,a2 + 80000280: fff00393 li t2,-1 + 80000284: 48771863 bne a4,t2,80000714 + +0000000080000288 : + 80000288: 00c00193 li gp,12 + 8000028c: 212125b7 lui a1,0x21212 + 80000290: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000294: 00000613 li a2,0 + 80000298: 60c5d73b rorw a4,a1,a2 + 8000029c: 212123b7 lui t2,0x21212 + 800002a0: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 800002a4: 46771863 bne a4,t2,80000714 + +00000000800002a8 : + 800002a8: 00d00193 li gp,13 + 800002ac: 212125b7 lui a1,0x21212 + 800002b0: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800002b4: 00100613 li a2,1 + 800002b8: 60c5d73b rorw a4,a1,a2 + 800002bc: 909093b7 lui t2,0x90909 + 800002c0: 0903839b addiw t2,t2,144 # ffffffff90909090 <_end+0xffffffff10907090> + 800002c4: 44771863 bne a4,t2,80000714 + +00000000800002c8 : + 800002c8: 00e00193 li gp,14 + 800002cc: 212125b7 lui a1,0x21212 + 800002d0: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800002d4: 00700613 li a2,7 + 800002d8: 60c5d73b rorw a4,a1,a2 + 800002dc: 424243b7 lui t2,0x42424 + 800002e0: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 800002e4: 42771863 bne a4,t2,80000714 + +00000000800002e8 : + 800002e8: 00f00193 li gp,15 + 800002ec: 212125b7 lui a1,0x21212 + 800002f0: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800002f4: 00e00613 li a2,14 + 800002f8: 60c5d73b rorw a4,a1,a2 + 800002fc: 848483b7 lui t2,0x84848 + 80000300: 4843839b addiw t2,t2,1156 # ffffffff84848484 <_end+0xffffffff04846484> + 80000304: 40771863 bne a4,t2,80000714 + +0000000080000308 : + 80000308: 01000193 li gp,16 + 8000030c: 212125b7 lui a1,0x21212 + 80000310: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000314: 01f00613 li a2,31 + 80000318: 60c5d73b rorw a4,a1,a2 + 8000031c: 424243b7 lui t2,0x42424 + 80000320: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 80000324: 3e771863 bne a4,t2,80000714 + +0000000080000328 : + 80000328: 01100193 li gp,17 + 8000032c: 212125b7 lui a1,0x21212 + 80000330: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000334: fc000613 li a2,-64 + 80000338: 60c5d73b rorw a4,a1,a2 + 8000033c: 212123b7 lui t2,0x21212 + 80000340: 1213839b addiw t2,t2,289 # 21212121 <_start-0x5edededf> + 80000344: 3c771863 bne a4,t2,80000714 + +0000000080000348 : + 80000348: 01200193 li gp,18 + 8000034c: 212125b7 lui a1,0x21212 + 80000350: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000354: fc100613 li a2,-63 + 80000358: 60c5d73b rorw a4,a1,a2 + 8000035c: 909093b7 lui t2,0x90909 + 80000360: 0903839b addiw t2,t2,144 # ffffffff90909090 <_end+0xffffffff10907090> + 80000364: 3a771863 bne a4,t2,80000714 + +0000000080000368 : + 80000368: 01300193 li gp,19 + 8000036c: 212125b7 lui a1,0x21212 + 80000370: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000374: fc700613 li a2,-57 + 80000378: 60c5d73b rorw a4,a1,a2 + 8000037c: 424243b7 lui t2,0x42424 + 80000380: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 80000384: 38771863 bne a4,t2,80000714 + +0000000080000388 : + 80000388: 01400193 li gp,20 + 8000038c: 212125b7 lui a1,0x21212 + 80000390: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 80000394: fce00613 li a2,-50 + 80000398: 60c5d73b rorw a4,a1,a2 + 8000039c: 848483b7 lui t2,0x84848 + 800003a0: 4843839b addiw t2,t2,1156 # ffffffff84848484 <_end+0xffffffff04846484> + 800003a4: 36771863 bne a4,t2,80000714 + +00000000800003a8 : + 800003a8: 01500193 li gp,21 + 800003ac: 212125b7 lui a1,0x21212 + 800003b0: 1215859b addiw a1,a1,289 # 21212121 <_start-0x5edededf> + 800003b4: fff00613 li a2,-1 + 800003b8: 60c5d73b rorw a4,a1,a2 + 800003bc: 424243b7 lui t2,0x42424 + 800003c0: 2423839b addiw t2,t2,578 # 42424242 <_start-0x3dbdbdbe> + 800003c4: 34771863 bne a4,t2,80000714 + +00000000800003c8 : + 800003c8: 01600193 li gp,22 + 800003cc: 00100593 li a1,1 + 800003d0: 00700613 li a2,7 + 800003d4: 60c5d5bb rorw a1,a1,a2 + 800003d8: 020003b7 lui t2,0x2000 + 800003dc: 32759c63 bne a1,t2,80000714 + +00000000800003e0 : + 800003e0: 01700193 li gp,23 + 800003e4: 00100593 li a1,1 + 800003e8: 00e00613 li a2,14 + 800003ec: 60c5d63b rorw a2,a1,a2 + 800003f0: 000403b7 lui t2,0x40 + 800003f4: 32761063 bne a2,t2,80000714 + +00000000800003f8 : + 800003f8: 01800193 li gp,24 + 800003fc: 00300593 li a1,3 + 80000400: 60b5d5bb rorw a1,a1,a1 + 80000404: 600003b7 lui t2,0x60000 + 80000408: 30759663 bne a1,t2,80000714 + +000000008000040c : + 8000040c: 01900193 li gp,25 + 80000410: 00000213 li tp,0 + 80000414: 00100093 li ra,1 + 80000418: 00700113 li sp,7 + 8000041c: 6020d73b rorw a4,ra,sp + 80000420: 00070313 mv t1,a4 + 80000424: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000428: 00200293 li t0,2 + 8000042c: fe5214e3 bne tp,t0,80000414 + 80000430: 020003b7 lui t2,0x2000 + 80000434: 2e731063 bne t1,t2,80000714 + +0000000080000438 : + 80000438: 01a00193 li gp,26 + 8000043c: 00000213 li tp,0 + 80000440: 00100093 li ra,1 + 80000444: 00e00113 li sp,14 + 80000448: 6020d73b rorw a4,ra,sp + 8000044c: 00000013 nop + 80000450: 00070313 mv t1,a4 + 80000454: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000458: 00200293 li t0,2 + 8000045c: fe5212e3 bne tp,t0,80000440 + 80000460: 000403b7 lui t2,0x40 + 80000464: 2a731863 bne t1,t2,80000714 + +0000000080000468 : + 80000468: 01b00193 li gp,27 + 8000046c: 00000213 li tp,0 + 80000470: 00100093 li ra,1 + 80000474: 01f00113 li sp,31 + 80000478: 6020d73b rorw a4,ra,sp + 8000047c: 00000013 nop + 80000480: 00000013 nop + 80000484: 00070313 mv t1,a4 + 80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000048c: 00200293 li t0,2 + 80000490: fe5210e3 bne tp,t0,80000470 + 80000494: 00200393 li t2,2 + 80000498: 26731e63 bne t1,t2,80000714 + +000000008000049c : + 8000049c: 01c00193 li gp,28 + 800004a0: 00000213 li tp,0 + 800004a4: 00100093 li ra,1 + 800004a8: 00700113 li sp,7 + 800004ac: 6020d73b rorw a4,ra,sp + 800004b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004b4: 00200293 li t0,2 + 800004b8: fe5216e3 bne tp,t0,800004a4 + 800004bc: 020003b7 lui t2,0x2000 + 800004c0: 24771a63 bne a4,t2,80000714 + +00000000800004c4 : + 800004c4: 01d00193 li gp,29 + 800004c8: 00000213 li tp,0 + 800004cc: 00100093 li ra,1 + 800004d0: 00e00113 li sp,14 + 800004d4: 00000013 nop + 800004d8: 6020d73b rorw a4,ra,sp + 800004dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004e0: 00200293 li t0,2 + 800004e4: fe5214e3 bne tp,t0,800004cc + 800004e8: 000403b7 lui t2,0x40 + 800004ec: 22771463 bne a4,t2,80000714 + +00000000800004f0 : + 800004f0: 01e00193 li gp,30 + 800004f4: 00000213 li tp,0 + 800004f8: 00100093 li ra,1 + 800004fc: 01f00113 li sp,31 + 80000500: 00000013 nop + 80000504: 00000013 nop + 80000508: 6020d73b rorw a4,ra,sp + 8000050c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000510: 00200293 li t0,2 + 80000514: fe5212e3 bne tp,t0,800004f8 + 80000518: 00200393 li t2,2 + 8000051c: 1e771c63 bne a4,t2,80000714 + +0000000080000520 : + 80000520: 01f00193 li gp,31 + 80000524: 00000213 li tp,0 + 80000528: 00100093 li ra,1 + 8000052c: 00000013 nop + 80000530: 00700113 li sp,7 + 80000534: 6020d73b rorw a4,ra,sp + 80000538: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000053c: 00200293 li t0,2 + 80000540: fe5214e3 bne tp,t0,80000528 + 80000544: 020003b7 lui t2,0x2000 + 80000548: 1c771663 bne a4,t2,80000714 + +000000008000054c : + 8000054c: 02000193 li gp,32 + 80000550: 00000213 li tp,0 + 80000554: 00100093 li ra,1 + 80000558: 00000013 nop + 8000055c: 00e00113 li sp,14 + 80000560: 00000013 nop + 80000564: 6020d73b rorw a4,ra,sp + 80000568: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000056c: 00200293 li t0,2 + 80000570: fe5212e3 bne tp,t0,80000554 + 80000574: 000403b7 lui t2,0x40 + 80000578: 18771e63 bne a4,t2,80000714 + +000000008000057c : + 8000057c: 02100193 li gp,33 + 80000580: 00000213 li tp,0 + 80000584: 00100093 li ra,1 + 80000588: 00000013 nop + 8000058c: 00000013 nop + 80000590: 01f00113 li sp,31 + 80000594: 6020d73b rorw a4,ra,sp + 80000598: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000059c: 00200293 li t0,2 + 800005a0: fe5212e3 bne tp,t0,80000584 + 800005a4: 00200393 li t2,2 + 800005a8: 16771663 bne a4,t2,80000714 + +00000000800005ac : + 800005ac: 02200193 li gp,34 + 800005b0: 00000213 li tp,0 + 800005b4: 00700113 li sp,7 + 800005b8: 00100093 li ra,1 + 800005bc: 6020d73b rorw a4,ra,sp + 800005c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005c4: 00200293 li t0,2 + 800005c8: fe5216e3 bne tp,t0,800005b4 + 800005cc: 020003b7 lui t2,0x2000 + 800005d0: 14771263 bne a4,t2,80000714 + +00000000800005d4 : + 800005d4: 02300193 li gp,35 + 800005d8: 00000213 li tp,0 + 800005dc: 00e00113 li sp,14 + 800005e0: 00100093 li ra,1 + 800005e4: 00000013 nop + 800005e8: 6020d73b rorw a4,ra,sp + 800005ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005f0: 00200293 li t0,2 + 800005f4: fe5214e3 bne tp,t0,800005dc + 800005f8: 000403b7 lui t2,0x40 + 800005fc: 10771c63 bne a4,t2,80000714 + +0000000080000600 : + 80000600: 02400193 li gp,36 + 80000604: 00000213 li tp,0 + 80000608: 01f00113 li sp,31 + 8000060c: 00100093 li ra,1 + 80000610: 00000013 nop + 80000614: 00000013 nop + 80000618: 6020d73b rorw a4,ra,sp + 8000061c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000620: 00200293 li t0,2 + 80000624: fe5212e3 bne tp,t0,80000608 + 80000628: 00200393 li t2,2 + 8000062c: 0e771463 bne a4,t2,80000714 + +0000000080000630 : + 80000630: 02500193 li gp,37 + 80000634: 00000213 li tp,0 + 80000638: 00700113 li sp,7 + 8000063c: 00000013 nop + 80000640: 00100093 li ra,1 + 80000644: 6020d73b rorw a4,ra,sp + 80000648: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000064c: 00200293 li t0,2 + 80000650: fe5214e3 bne tp,t0,80000638 + 80000654: 020003b7 lui t2,0x2000 + 80000658: 0a771e63 bne a4,t2,80000714 + +000000008000065c : + 8000065c: 02600193 li gp,38 + 80000660: 00000213 li tp,0 + 80000664: 00e00113 li sp,14 + 80000668: 00000013 nop + 8000066c: 00100093 li ra,1 + 80000670: 00000013 nop + 80000674: 6020d73b rorw a4,ra,sp + 80000678: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000067c: 00200293 li t0,2 + 80000680: fe5212e3 bne tp,t0,80000664 + 80000684: 000403b7 lui t2,0x40 + 80000688: 08771663 bne a4,t2,80000714 + +000000008000068c : + 8000068c: 02700193 li gp,39 + 80000690: 00000213 li tp,0 + 80000694: 01f00113 li sp,31 + 80000698: 00000013 nop + 8000069c: 00000013 nop + 800006a0: 00100093 li ra,1 + 800006a4: 6020d73b rorw a4,ra,sp + 800006a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006ac: 00200293 li t0,2 + 800006b0: fe5212e3 bne tp,t0,80000694 + 800006b4: 00200393 li t2,2 + 800006b8: 04771e63 bne a4,t2,80000714 + +00000000800006bc : + 800006bc: 02800193 li gp,40 + 800006c0: 00f00093 li ra,15 + 800006c4: 6010513b rorw sp,zero,ra + 800006c8: 00000393 li t2,0 + 800006cc: 04711463 bne sp,t2,80000714 + +00000000800006d0 : + 800006d0: 02900193 li gp,41 + 800006d4: 02000093 li ra,32 + 800006d8: 6000d13b rorw sp,ra,zero + 800006dc: 02000393 li t2,32 + 800006e0: 02711a63 bne sp,t2,80000714 + +00000000800006e4 : + 800006e4: 02a00193 li gp,42 + 800006e8: 600050bb rorw ra,zero,zero + 800006ec: 00000393 li t2,0 + 800006f0: 02709263 bne ra,t2,80000714 + +00000000800006f4 : + 800006f4: 02b00193 li gp,43 + 800006f8: 40000093 li ra,1024 + 800006fc: 00001137 lui sp,0x1 + 80000700: 8001011b addiw sp,sp,-2048 # 800 <_start-0x7ffff800> + 80000704: 6020d03b rorw zero,ra,sp + 80000708: 00000393 li t2,0 + 8000070c: 00701463 bne zero,t2,80000714 + 80000710: 02301063 bne zero,gp,80000730 + +0000000080000714 : + 80000714: 0ff0000f fence + 80000718: 00018063 beqz gp,80000718 + 8000071c: 00119193 slli gp,gp,0x1 + 80000720: 0011e193 ori gp,gp,1 + 80000724: 05d00893 li a7,93 + 80000728: 00018513 mv a0,gp + 8000072c: 00000073 ecall + +0000000080000730 : + 80000730: 0ff0000f fence + 80000734: 00100193 li gp,1 + 80000738: 05d00893 li a7,93 + 8000073c: 00000513 li a0,0 + 80000740: 00000073 ecall + 80000744: c0001073 unimp + 80000748: 0000 .insn 2, 0x + 8000074a: 0000 .insn 2, 0x + 8000074c: 0000 .insn 2, 0x + 8000074e: 0000 .insn 2, 0x + 80000750: 0000 .insn 2, 0x + 80000752: 0000 .insn 2, 0x + 80000754: 0000 .insn 2, 0x + 80000756: 0000 .insn 2, 0x + 80000758: 0000 .insn 2, 0x + 8000075a: 0000 .insn 2, 0x + 8000075c: 0000 .insn 2, 0x + 8000075e: 0000 .insn 2, 0x + 80000760: 0000 .insn 2, 0x + 80000762: 0000 .insn 2, 0x + 80000764: 0000 .insn 2, 0x + 80000766: 0000 .insn 2, 0x + 80000768: 0000 .insn 2, 0x + 8000076a: 0000 .insn 2, 0x + 8000076c: 0000 .insn 2, 0x + 8000076e: 0000 .insn 2, 0x + 80000770: 0000 .insn 2, 0x + 80000772: 0000 .insn 2, 0x + 80000774: 0000 .insn 2, 0x + 80000776: 0000 .insn 2, 0x + 80000778: 0000 .insn 2, 0x + 8000077a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rorw.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rorw.hex new file mode 100644 index 0000000..1b06a8c --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-rorw.hex @@ -0,0 +1,851 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0010059300200193 +60c5d73b00000613 +5677146300100393 +0010059300300193 +60c5d73b00100613 +54771863800003b7 +0010059300400193 +60c5d73b00700613 +52771c63020003b7 +0010059300500193 +60c5d73b00e00613 +52771063000403b7 +0010059300600193 +60c5d73b01f00613 +5077146300200393 +fff0059300700193 +60c5d73b00000613 +4e771863fff00393 +fff0059300800193 +60c5d73b00100613 +4c771c63fff00393 +fff0059300900193 +60c5d73b00700613 +4c771063fff00393 +fff0059300a00193 +60c5d73b00e00613 +4a771463fff00393 +fff0059300b00193 +60c5d73b01f00613 +48771863fff00393 +212125b700c00193 +000006131215859b +212123b760c5d73b +467718631213839b +212125b700d00193 +001006131215859b +909093b760c5d73b +447718630903839b +212125b700e00193 +007006131215859b +424243b760c5d73b +427718632423839b +212125b700f00193 +00e006131215859b +848483b760c5d73b +407718634843839b +212125b701000193 +01f006131215859b +424243b760c5d73b +3e7718632423839b +212125b701100193 +fc0006131215859b +212123b760c5d73b +3c7718631213839b +212125b701200193 +fc1006131215859b +909093b760c5d73b +3a7718630903839b +212125b701300193 +fc7006131215859b +424243b760c5d73b +387718632423839b +212125b701400193 +fce006131215859b +848483b760c5d73b +367718634843839b +212125b701500193 +fff006131215859b +424243b760c5d73b +347718632423839b +0010059301600193 +60c5d5bb00700613 +32759c63020003b7 +0010059301700193 +60c5d63b00e00613 +32761063000403b7 +0030059301800193 +600003b760b5d5bb +0190019330759663 +0010009300000213 +6020d73b00700113 +0012021300070313 +fe5214e300200293 +2e731063020003b7 +0000021301a00193 +00e0011300100093 +000000136020d73b +0012021300070313 +fe5212e300200293 +2a731863000403b7 +0000021301b00193 +01f0011300100093 +000000136020d73b +0007031300000013 +0020029300120213 +00200393fe5210e3 +01c0019326731e63 +0010009300000213 +6020d73b00700113 +0020029300120213 +020003b7fe5216e3 +01d0019324771a63 +0010009300000213 +0000001300e00113 +001202136020d73b +fe5214e300200293 +22771463000403b7 +0000021301e00193 +01f0011300100093 +0000001300000013 +001202136020d73b +fe5212e300200293 +1e771c6300200393 +0000021301f00193 +0000001300100093 +6020d73b00700113 +0020029300120213 +020003b7fe5214e3 +020001931c771663 +0010009300000213 +00e0011300000013 +6020d73b00000013 +0020029300120213 +000403b7fe5212e3 +0210019318771e63 +0010009300000213 +0000001300000013 +6020d73b01f00113 +0020029300120213 +00200393fe5212e3 +0220019316771663 +0070011300000213 +6020d73b00100093 +0020029300120213 +020003b7fe5216e3 +0230019314771263 +00e0011300000213 +0000001300100093 +001202136020d73b +fe5214e300200293 +10771c63000403b7 +0000021302400193 +0010009301f00113 +0000001300000013 +001202136020d73b +fe5212e300200293 +0e77146300200393 +0000021302500193 +0000001300700113 +6020d73b00100093 +0020029300120213 +020003b7fe5214e3 +026001930a771e63 +00e0011300000213 +0010009300000013 +6020d73b00000013 +0020029300120213 +000403b7fe5212e3 +0270019308771663 +01f0011300000213 +0000001300000013 +6020d73b00100093 +0020029300120213 +00200393fe5212e3 +0280019304771e63 +6010513b00f00093 +0471146300000393 +0200009302900193 +020003936000d13b +02a0019302711a63 +00000393600050bb +02b0019302709263 +0000113740000093 +6020d03b8001011b +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000714 +0000000000000000 +00010000000000a8 +00000000800001b0 +0000000000000000 +00010000000000af +00000000800001c8 +0000000000000000 +00010000000000b6 +00000000800001e0 +0000000000000000 +00010000000000bd +00000000800001f8 +0000000000000000 +00010000000000c4 +0000000080000210 +0000000000000000 +00010000000000cb +0000000080000228 +0000000000000000 +00010000000000d2 +0000000080000240 +0000000000000000 +00010000000000d9 +0000000080000258 +0000000000000000 +00010000000000e1 +0000000080000270 +0000000000000000 +00010000000000e9 +0000000080000288 +0000000000000000 +00010000000000f1 +00000000800002a8 +0000000000000000 +00010000000000f9 +00000000800002c8 +0000000000000000 +0001000000000101 +00000000800002e8 +0000000000000000 +0001000000000109 +0000000080000308 +0000000000000000 +0001000000000111 +0000000080000328 +0000000000000000 +0001000000000119 +0000000080000348 +0000000000000000 +0001000000000121 +0000000080000368 +0000000000000000 +0001000000000129 +0000000080000388 +0000000000000000 +0001000000000131 +00000000800003a8 +0000000000000000 +0001000000000139 +00000000800003c8 +0000000000000000 +0001000000000141 +00000000800003e0 +0000000000000000 +0001000000000149 +00000000800003f8 +0000000000000000 +0001000000000151 +000000008000040c +0000000000000000 +0001000000000159 +0000000080000438 +0000000000000000 +0001000000000161 +0000000080000468 +0000000000000000 +0001000000000169 +000000008000049c +0000000000000000 +0001000000000171 +00000000800004c4 +0000000000000000 +0001000000000179 +00000000800004f0 +0000000000000000 +0001000000000181 +0000000080000520 +0000000000000000 +0001000000000189 +000000008000054c +0000000000000000 +0001000000000191 +000000008000057c +0000000000000000 +0001000000000199 +00000000800005ac +0000000000000000 +00010000000001a1 +00000000800005d4 +0000000000000000 +00010000000001a9 +0000000080000600 +0000000000000000 +00010000000001b1 +0000000080000630 +0000000000000000 +00010000000001b9 +000000008000065c +0000000000000000 +00010000000001c1 +000000008000068c +0000000000000000 +00010000000001c9 +00000000800006bc +0000000000000000 +00010000000001d1 +00000000800006d0 +0000000000000000 +00010000000001d9 +00000000800006e4 +0000000000000000 +00010000000001e1 +00000000800006f4 +0000000000000000 +00010000000001e9 +0000000080000730 +0000000000000000 +00020010000001ee +0000000080002000 +0000000000000000 +00020010000001fc +0000000080002000 +0000000000000000 +000100100000020c +0000000080000000 +0000000000000000 +0002001000000213 +0000000080002000 +0000000000000000 +0002001000000218 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +4d6b517970636300 +76727824006f2e54 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +30335f7473657400 +31335f7473657400 +32335f7473657400 +33335f7473657400 +34335f7473657400 +35335f7473657400 +36335f7473657400 +37335f7473657400 +38335f7473657400 +39335f7473657400 +30345f7473657400 +31345f7473657400 +32345f7473657400 +33345f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000077c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +00000000000005d0 +0000003800000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +0000000000002670 +0000000000000221 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002891 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_b.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_b.dump new file mode 100644 index 0000000..93d294e --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_b.dump @@ -0,0 +1,361 @@ + +rv64uzbb-p-sext_b: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000093 li ra,0 + 800001a0: 60409713 sext.b a4,ra + 800001a4: 00000393 li t2,0 + 800001a8: 28771a63 bne a4,t2,8000043c + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100093 li ra,1 + 800001b4: 60409713 sext.b a4,ra + 800001b8: 00100393 li t2,1 + 800001bc: 28771063 bne a4,t2,8000043c + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00300093 li ra,3 + 800001c8: 60409713 sext.b a4,ra + 800001cc: 00300393 li t2,3 + 800001d0: 26771663 bne a4,t2,8000043c + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: ffff80b7 lui ra,0xffff8 + 800001dc: 60409713 sext.b a4,ra + 800001e0: 00000393 li t2,0 + 800001e4: 24771c63 bne a4,t2,8000043c + +00000000800001e8 : + 800001e8: 00600193 li gp,6 + 800001ec: 008000b7 lui ra,0x800 + 800001f0: 60409713 sext.b a4,ra + 800001f4: 00000393 li t2,0 + 800001f8: 24771263 bne a4,t2,8000043c + +00000000800001fc : + 800001fc: 00700193 li gp,7 + 80000200: 0050009b addiw ra,zero,5 + 80000204: 02109093 slli ra,ra,0x21 + 80000208: fff08093 addi ra,ra,-1 # 7fffff <_start-0x7f800001> + 8000020c: 00f09093 slli ra,ra,0xf + 80000210: 60409713 sext.b a4,ra + 80000214: 00000393 li t2,0 + 80000218: 22771263 bne a4,t2,8000043c + +000000008000021c : + 8000021c: 00800193 li gp,8 + 80000220: 000080b7 lui ra,0x8 + 80000224: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 80000228: 60409713 sext.b a4,ra + 8000022c: fff00393 li t2,-1 + 80000230: 20771663 bne a4,t2,8000043c + +0000000080000234 : + 80000234: 00900193 li gp,9 + 80000238: 800000b7 lui ra,0x80000 + 8000023c: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 80000240: 60409713 sext.b a4,ra + 80000244: fff00393 li t2,-1 + 80000248: 1e771a63 bne a4,t2,8000043c + +000000008000024c : + 8000024c: 00a00193 li gp,10 + 80000250: 000800b7 lui ra,0x80 + 80000254: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 80000258: 60409713 sext.b a4,ra + 8000025c: fff00393 li t2,-1 + 80000260: 1c771e63 bne a4,t2,8000043c + +0000000080000264 : + 80000264: 00b00193 li gp,11 + 80000268: 800000b7 lui ra,0x80000 + 8000026c: 60409713 sext.b a4,ra + 80000270: 00000393 li t2,0 + 80000274: 1c771463 bne a4,t2,8000043c + +0000000080000278 : + 80000278: 00c00193 li gp,12 + 8000027c: 7fabc0b7 lui ra,0x7fabc + 80000280: 7890809b addiw ra,ra,1929 # 7fabc789 <_start-0x543877> + 80000284: 00d09093 slli ra,ra,0xd + 80000288: 1f508093 addi ra,ra,501 + 8000028c: 00c09093 slli ra,ra,0xc + 80000290: 60409713 sext.b a4,ra + 80000294: 00000393 li t2,0 + 80000298: 1a771263 bne a4,t2,8000043c + +000000008000029c : + 8000029c: 00d00193 li gp,13 + 800002a0: fff0009b addiw ra,zero,-1 + 800002a4: 03f09093 slli ra,ra,0x3f + 800002a8: 60409713 sext.b a4,ra + 800002ac: 00000393 li t2,0 + 800002b0: 18771663 bne a4,t2,8000043c + +00000000800002b4 : + 800002b4: 00e00193 li gp,14 + 800002b8: 00e00093 li ra,14 + 800002bc: 60409713 sext.b a4,ra + 800002c0: 00e00393 li t2,14 + 800002c4: 16771c63 bne a4,t2,8000043c + +00000000800002c8 : + 800002c8: 00f00193 li gp,15 + 800002cc: ffd0009b addiw ra,zero,-3 + 800002d0: 02009093 slli ra,ra,0x20 + 800002d4: 01908093 addi ra,ra,25 + 800002d8: 01109093 slli ra,ra,0x11 + 800002dc: 40108093 addi ra,ra,1025 + 800002e0: 00c09093 slli ra,ra,0xc + 800002e4: 34108093 addi ra,ra,833 + 800002e8: 60409713 sext.b a4,ra + 800002ec: 04100393 li t2,65 + 800002f0: 14771663 bne a4,t2,8000043c + +00000000800002f4 : + 800002f4: 01000193 li gp,16 + 800002f8: 00d00093 li ra,13 + 800002fc: 60409093 sext.b ra,ra + 80000300: 00d00393 li t2,13 + 80000304: 12709c63 bne ra,t2,8000043c + +0000000080000308 : + 80000308: 01100193 li gp,17 + 8000030c: 00b00093 li ra,11 + 80000310: 60409093 sext.b ra,ra + 80000314: 00b00393 li t2,11 + 80000318: 12709263 bne ra,t2,8000043c + +000000008000031c : + 8000031c: 01200193 li gp,18 + 80000320: 00000213 li tp,0 + 80000324: 00d00093 li ra,13 + 80000328: 60409713 sext.b a4,ra + 8000032c: 00070313 mv t1,a4 + 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000334: 00200293 li t0,2 + 80000338: fe5216e3 bne tp,t0,80000324 + 8000033c: 00d00393 li t2,13 + 80000340: 0e731e63 bne t1,t2,8000043c + +0000000080000344 : + 80000344: 01d00193 li gp,29 + 80000348: 00000213 li tp,0 + 8000034c: 01300093 li ra,19 + 80000350: 60409713 sext.b a4,ra + 80000354: 00000013 nop + 80000358: 00070313 mv t1,a4 + 8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000360: 00200293 li t0,2 + 80000364: fe5214e3 bne tp,t0,8000034c + 80000368: 01300393 li t2,19 + 8000036c: 0c731863 bne t1,t2,8000043c + +0000000080000370 : + 80000370: 01400193 li gp,20 + 80000374: 00000213 li tp,0 + 80000378: 02200093 li ra,34 + 8000037c: 60409713 sext.b a4,ra + 80000380: 00000013 nop + 80000384: 00000013 nop + 80000388: 00070313 mv t1,a4 + 8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000390: 00200293 li t0,2 + 80000394: fe5212e3 bne tp,t0,80000378 + 80000398: 02200393 li t2,34 + 8000039c: 0a731063 bne t1,t2,8000043c + +00000000800003a0 : + 800003a0: 01500193 li gp,21 + 800003a4: 007f80b7 lui ra,0x7f8 + 800003a8: 60409713 sext.b a4,ra + 800003ac: 00000393 li t2,0 + 800003b0: 08771663 bne a4,t2,8000043c + +00000000800003b4 : + 800003b4: 01600193 li gp,22 + 800003b8: 008080b7 lui ra,0x808 + 800003bc: 60409713 sext.b a4,ra + 800003c0: 00000393 li t2,0 + 800003c4: 06771c63 bne a4,t2,8000043c + +00000000800003c8 : + 800003c8: 01700193 li gp,23 + 800003cc: 018080b7 lui ra,0x1808 + 800003d0: 60409713 sext.b a4,ra + 800003d4: 00000393 li t2,0 + 800003d8: 06771263 bne a4,t2,8000043c + +00000000800003dc : + 800003dc: 01800193 li gp,24 + 800003e0: 000600b7 lui ra,0x60 + 800003e4: 0010809b addiw ra,ra,1 # 60001 <_start-0x7ff9ffff> + 800003e8: 00f09093 slli ra,ra,0xf + 800003ec: fff08093 addi ra,ra,-1 + 800003f0: 60409713 sext.b a4,ra + 800003f4: fff00393 li t2,-1 + 800003f8: 04771263 bne a4,t2,8000043c + +00000000800003fc : + 800003fc: 01900193 li gp,25 + 80000400: 00f0009b addiw ra,zero,15 + 80000404: 01f09093 slli ra,ra,0x1f + 80000408: fff08093 addi ra,ra,-1 + 8000040c: 60409713 sext.b a4,ra + 80000410: fff00393 li t2,-1 + 80000414: 02771463 bne a4,t2,8000043c + +0000000080000418 : + 80000418: 01a00193 li gp,26 + 8000041c: 0001e0b7 lui ra,0x1e + 80000420: 0010809b addiw ra,ra,1 # 1e001 <_start-0x7ffe1fff> + 80000424: 01309093 slli ra,ra,0x13 + 80000428: fff08093 addi ra,ra,-1 + 8000042c: 60409713 sext.b a4,ra + 80000430: fff00393 li t2,-1 + 80000434: 00771463 bne a4,t2,8000043c + 80000438: 02301063 bne zero,gp,80000458 + +000000008000043c : + 8000043c: 0ff0000f fence + 80000440: 00018063 beqz gp,80000440 + 80000444: 00119193 slli gp,gp,0x1 + 80000448: 0011e193 ori gp,gp,1 + 8000044c: 05d00893 li a7,93 + 80000450: 00018513 mv a0,gp + 80000454: 00000073 ecall + +0000000080000458 : + 80000458: 0ff0000f fence + 8000045c: 00100193 li gp,1 + 80000460: 05d00893 li a7,93 + 80000464: 00000513 li a0,0 + 80000468: 00000073 ecall + 8000046c: c0001073 unimp + 80000470: 0000 .insn 2, 0x + 80000472: 0000 .insn 2, 0x + 80000474: 0000 .insn 2, 0x + 80000476: 0000 .insn 2, 0x + 80000478: 0000 .insn 2, 0x + 8000047a: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_b.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_b.hex new file mode 100644 index 0000000..55ac11f --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_b.hex @@ -0,0 +1,783 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000009300200193 +0000039360409713 +0030019328771a63 +6040971300100093 +2877106300100393 +0030009300400193 +0030039360409713 +0050019326771663 +60409713ffff80b7 +24771c6300000393 +008000b700600193 +0000039360409713 +0070019324771263 +021090930050009b +00f09093fff08093 +0000039360409713 +0080019322771263 +fff0809b000080b7 +fff0039360409713 +0090019320771663 +fff0809b800000b7 +fff0039360409713 +00a001931e771a63 +fff0809b000800b7 +fff0039360409713 +00b001931c771e63 +60409713800000b7 +1c77146300000393 +7fabc0b700c00193 +00d090937890809b +00c090931f508093 +0000039360409713 +00d001931a771263 +03f09093fff0009b +0000039360409713 +00e0019318771663 +6040971300e00093 +16771c6300e00393 +ffd0009b00f00193 +0190809302009093 +4010809301109093 +3410809300c09093 +0410039360409713 +0100019314771663 +6040909300d00093 +12709c6300d00393 +00b0009301100193 +00b0039360409093 +0120019312709263 +00d0009300000213 +0007031360409713 +0020029300120213 +00d00393fe5216e3 +01d001930e731e63 +0130009300000213 +0000001360409713 +0012021300070313 +fe5214e300200293 +0c73186301300393 +0000021301400193 +6040971302200093 +0000001300000013 +0012021300070313 +fe5212e300200293 +0a73106302200393 +007f80b701500193 +0000039360409713 +0160019308771663 +60409713008080b7 +06771c6300000393 +018080b701700193 +0000039360409713 +0180019306771263 +0010809b000600b7 +fff0809300f09093 +fff0039360409713 +0190019304771263 +01f0909300f0009b +60409713fff08093 +02771463fff00393 +0001e0b701a00193 +013090930010809b +60409713fff08093 +00771463fff00393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +000000008000043c +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001e8 +0000000000000000 +00010000000000c4 +00000000800001fc +0000000000000000 +00010000000000cb +000000008000021c +0000000000000000 +00010000000000d2 +0000000080000234 +0000000000000000 +00010000000000d9 +000000008000024c +0000000000000000 +00010000000000e1 +0000000080000264 +0000000000000000 +00010000000000e9 +0000000080000278 +0000000000000000 +00010000000000f1 +000000008000029c +0000000000000000 +00010000000000f9 +00000000800002b4 +0000000000000000 +0001000000000101 +00000000800002c8 +0000000000000000 +0001000000000109 +00000000800002f4 +0000000000000000 +0001000000000111 +0000000080000308 +0000000000000000 +0001000000000119 +000000008000031c +0000000000000000 +0001000000000121 +0000000080000344 +0000000000000000 +0001000000000129 +0000000080000370 +0000000000000000 +0001000000000131 +00000000800003a0 +0000000000000000 +0001000000000139 +00000000800003b4 +0000000000000000 +0001000000000141 +00000000800003c8 +0000000000000000 +0001000000000149 +00000000800003dc +0000000000000000 +0001000000000151 +00000000800003fc +0000000000000000 +0001000000000159 +0000000080000418 +0000000000000000 +0001000000000161 +0000000080000458 +0000000000000000 +0002001000000166 +0000000080002000 +0000000000000000 +0002001000000174 +0000000080002000 +0000000000000000 +0001001000000184 +0000000080000000 +0000000000000000 +000200100000018b +0000000080002000 +0000000000000000 +0002001000000190 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +4935436e31636300 +76727824006f2e6d +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39325f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000047c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000438 +0000002700000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024d8 +0000000000000199 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002671 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_h.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_h.dump new file mode 100644 index 0000000..1f7cd97 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_h.dump @@ -0,0 +1,358 @@ + +rv64uzbb-p-sext_h: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000093 li ra,0 + 800001a0: 60509713 sext.h a4,ra + 800001a4: 00000393 li t2,0 + 800001a8: 2a771063 bne a4,t2,80000448 + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100093 li ra,1 + 800001b4: 60509713 sext.h a4,ra + 800001b8: 00100393 li t2,1 + 800001bc: 28771663 bne a4,t2,80000448 + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00300093 li ra,3 + 800001c8: 60509713 sext.h a4,ra + 800001cc: 00300393 li t2,3 + 800001d0: 26771c63 bne a4,t2,80000448 + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: ffff80b7 lui ra,0xffff8 + 800001dc: 60509713 sext.h a4,ra + 800001e0: ffff83b7 lui t2,0xffff8 + 800001e4: 26771263 bne a4,t2,80000448 + +00000000800001e8 : + 800001e8: 00600193 li gp,6 + 800001ec: 008000b7 lui ra,0x800 + 800001f0: 60509713 sext.h a4,ra + 800001f4: 00000393 li t2,0 + 800001f8: 24771863 bne a4,t2,80000448 + +00000000800001fc : + 800001fc: 00700193 li gp,7 + 80000200: 0050009b addiw ra,zero,5 + 80000204: 02109093 slli ra,ra,0x21 + 80000208: fff08093 addi ra,ra,-1 # 7fffff <_start-0x7f800001> + 8000020c: 00f09093 slli ra,ra,0xf + 80000210: 60509713 sext.h a4,ra + 80000214: ffff83b7 lui t2,0xffff8 + 80000218: 22771863 bne a4,t2,80000448 + +000000008000021c : + 8000021c: 00800193 li gp,8 + 80000220: 000080b7 lui ra,0x8 + 80000224: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 80000228: 60509713 sext.h a4,ra + 8000022c: 000083b7 lui t2,0x8 + 80000230: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000234: 20771a63 bne a4,t2,80000448 + +0000000080000238 : + 80000238: 00900193 li gp,9 + 8000023c: 800000b7 lui ra,0x80000 + 80000240: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 80000244: 60509713 sext.h a4,ra + 80000248: fff00393 li t2,-1 + 8000024c: 1e771e63 bne a4,t2,80000448 + +0000000080000250 : + 80000250: 00a00193 li gp,10 + 80000254: 000800b7 lui ra,0x80 + 80000258: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 8000025c: 60509713 sext.h a4,ra + 80000260: fff00393 li t2,-1 + 80000264: 1e771263 bne a4,t2,80000448 + +0000000080000268 : + 80000268: 00b00193 li gp,11 + 8000026c: 800000b7 lui ra,0x80000 + 80000270: 60509713 sext.h a4,ra + 80000274: 00000393 li t2,0 + 80000278: 1c771863 bne a4,t2,80000448 + +000000008000027c : + 8000027c: 00c00193 li gp,12 + 80000280: 7fabc0b7 lui ra,0x7fabc + 80000284: 7890809b addiw ra,ra,1929 # 7fabc789 <_start-0x543877> + 80000288: 00d09093 slli ra,ra,0xd + 8000028c: 1f508093 addi ra,ra,501 + 80000290: 00c09093 slli ra,ra,0xc + 80000294: 60509713 sext.h a4,ra + 80000298: 000053b7 lui t2,0x5 + 8000029c: 1a771663 bne a4,t2,80000448 + +00000000800002a0 : + 800002a0: 00d00193 li gp,13 + 800002a4: fff0009b addiw ra,zero,-1 + 800002a8: 03f09093 slli ra,ra,0x3f + 800002ac: 60509713 sext.h a4,ra + 800002b0: 00000393 li t2,0 + 800002b4: 18771a63 bne a4,t2,80000448 + +00000000800002b8 : + 800002b8: 00e00193 li gp,14 + 800002bc: 00e00093 li ra,14 + 800002c0: 60509713 sext.h a4,ra + 800002c4: 00e00393 li t2,14 + 800002c8: 18771063 bne a4,t2,80000448 + +00000000800002cc : + 800002cc: 00f00193 li gp,15 + 800002d0: ffd0009b addiw ra,zero,-3 + 800002d4: 02009093 slli ra,ra,0x20 + 800002d8: 01908093 addi ra,ra,25 + 800002dc: 01109093 slli ra,ra,0x11 + 800002e0: 40108093 addi ra,ra,1025 + 800002e4: 00c09093 slli ra,ra,0xc + 800002e8: 34108093 addi ra,ra,833 + 800002ec: 60509713 sext.h a4,ra + 800002f0: 000013b7 lui t2,0x1 + 800002f4: 3413839b addiw t2,t2,833 # 1341 <_start-0x7fffecbf> + 800002f8: 14771863 bne a4,t2,80000448 + +00000000800002fc : + 800002fc: 01000193 li gp,16 + 80000300: 00d00093 li ra,13 + 80000304: 60509093 sext.h ra,ra + 80000308: 00d00393 li t2,13 + 8000030c: 12709e63 bne ra,t2,80000448 + +0000000080000310 : + 80000310: 01100193 li gp,17 + 80000314: 00b00093 li ra,11 + 80000318: 60509093 sext.h ra,ra + 8000031c: 00b00393 li t2,11 + 80000320: 12709463 bne ra,t2,80000448 + +0000000080000324 : + 80000324: 01200193 li gp,18 + 80000328: 00000213 li tp,0 + 8000032c: 00d00093 li ra,13 + 80000330: 60509713 sext.h a4,ra + 80000334: 00070313 mv t1,a4 + 80000338: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000033c: 00200293 li t0,2 + 80000340: fe5216e3 bne tp,t0,8000032c + 80000344: 00d00393 li t2,13 + 80000348: 10731063 bne t1,t2,80000448 + +000000008000034c : + 8000034c: 01d00193 li gp,29 + 80000350: 00000213 li tp,0 + 80000354: 01300093 li ra,19 + 80000358: 60509713 sext.h a4,ra + 8000035c: 00000013 nop + 80000360: 00070313 mv t1,a4 + 80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000368: 00200293 li t0,2 + 8000036c: fe5214e3 bne tp,t0,80000354 + 80000370: 01300393 li t2,19 + 80000374: 0c731a63 bne t1,t2,80000448 + +0000000080000378 : + 80000378: 01400193 li gp,20 + 8000037c: 00000213 li tp,0 + 80000380: 02200093 li ra,34 + 80000384: 60509713 sext.h a4,ra + 80000388: 00000013 nop + 8000038c: 00000013 nop + 80000390: 00070313 mv t1,a4 + 80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000398: 00200293 li t0,2 + 8000039c: fe5212e3 bne tp,t0,80000380 + 800003a0: 02200393 li t2,34 + 800003a4: 0a731263 bne t1,t2,80000448 + +00000000800003a8 : + 800003a8: 01500193 li gp,21 + 800003ac: 007f80b7 lui ra,0x7f8 + 800003b0: 60509713 sext.h a4,ra + 800003b4: ffff83b7 lui t2,0xffff8 + 800003b8: 08771863 bne a4,t2,80000448 + +00000000800003bc : + 800003bc: 01600193 li gp,22 + 800003c0: 008080b7 lui ra,0x808 + 800003c4: 60509713 sext.h a4,ra + 800003c8: ffff83b7 lui t2,0xffff8 + 800003cc: 06771e63 bne a4,t2,80000448 + +00000000800003d0 : + 800003d0: 01700193 li gp,23 + 800003d4: 018080b7 lui ra,0x1808 + 800003d8: 60509713 sext.h a4,ra + 800003dc: ffff83b7 lui t2,0xffff8 + 800003e0: 06771463 bne a4,t2,80000448 + +00000000800003e4 : + 800003e4: 01800193 li gp,24 + 800003e8: 000600b7 lui ra,0x60 + 800003ec: 0010809b addiw ra,ra,1 # 60001 <_start-0x7ff9ffff> + 800003f0: 00f09093 slli ra,ra,0xf + 800003f4: fff08093 addi ra,ra,-1 + 800003f8: 60509713 sext.h a4,ra + 800003fc: 000083b7 lui t2,0x8 + 80000400: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000404: 04771263 bne a4,t2,80000448 + +0000000080000408 : + 80000408: 01900193 li gp,25 + 8000040c: 00f0009b addiw ra,zero,15 + 80000410: 01f09093 slli ra,ra,0x1f + 80000414: fff08093 addi ra,ra,-1 + 80000418: 60509713 sext.h a4,ra + 8000041c: fff00393 li t2,-1 + 80000420: 02771463 bne a4,t2,80000448 + +0000000080000424 : + 80000424: 01a00193 li gp,26 + 80000428: 0001e0b7 lui ra,0x1e + 8000042c: 0010809b addiw ra,ra,1 # 1e001 <_start-0x7ffe1fff> + 80000430: 01309093 slli ra,ra,0x13 + 80000434: fff08093 addi ra,ra,-1 + 80000438: 60509713 sext.h a4,ra + 8000043c: fff00393 li t2,-1 + 80000440: 00771463 bne a4,t2,80000448 + 80000444: 02301063 bne zero,gp,80000464 + +0000000080000448 : + 80000448: 0ff0000f fence + 8000044c: 00018063 beqz gp,8000044c + 80000450: 00119193 slli gp,gp,0x1 + 80000454: 0011e193 ori gp,gp,1 + 80000458: 05d00893 li a7,93 + 8000045c: 00018513 mv a0,gp + 80000460: 00000073 ecall + +0000000080000464 : + 80000464: 0ff0000f fence + 80000468: 00100193 li gp,1 + 8000046c: 05d00893 li a7,93 + 80000470: 00000513 li a0,0 + 80000474: 00000073 ecall + 80000478: c0001073 unimp diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_h.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_h.hex new file mode 100644 index 0000000..0d2f4a3 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-sext_h.hex @@ -0,0 +1,783 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000009300200193 +0000039360509713 +003001932a771063 +6050971300100093 +2877166300100393 +0030009300400193 +0030039360509713 +0050019326771c63 +60509713ffff80b7 +26771263ffff83b7 +008000b700600193 +0000039360509713 +0070019324771863 +021090930050009b +00f09093fff08093 +ffff83b760509713 +0080019322771863 +fff0809b000080b7 +000083b760509713 +20771a63fff3839b +800000b700900193 +60509713fff0809b +1e771e63fff00393 +000800b700a00193 +60509713fff0809b +1e771263fff00393 +800000b700b00193 +0000039360509713 +00c001931c771863 +7890809b7fabc0b7 +1f50809300d09093 +6050971300c09093 +1a771663000053b7 +fff0009b00d00193 +6050971303f09093 +18771a6300000393 +00e0009300e00193 +00e0039360509713 +00f0019318771063 +02009093ffd0009b +0110909301908093 +00c0909340108093 +6050971334108093 +3413839b000013b7 +0100019314771863 +6050909300d00093 +12709e6300d00393 +00b0009301100193 +00b0039360509093 +0120019312709463 +00d0009300000213 +0007031360509713 +0020029300120213 +00d00393fe5216e3 +01d0019310731063 +0130009300000213 +0000001360509713 +0012021300070313 +fe5214e300200293 +0c731a6301300393 +0000021301400193 +6050971302200093 +0000001300000013 +0012021300070313 +fe5212e300200293 +0a73126302200393 +007f80b701500193 +ffff83b760509713 +0160019308771863 +60509713008080b7 +06771e63ffff83b7 +018080b701700193 +ffff83b760509713 +0180019306771463 +0010809b000600b7 +fff0809300f09093 +000083b760509713 +04771263fff3839b +00f0009b01900193 +fff0809301f09093 +fff0039360509713 +01a0019302771463 +0010809b0001e0b7 +fff0809301309093 +fff0039360509713 +0230106300771463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000448 +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001e8 +0000000000000000 +00010000000000c4 +00000000800001fc +0000000000000000 +00010000000000cb +000000008000021c +0000000000000000 +00010000000000d2 +0000000080000238 +0000000000000000 +00010000000000d9 +0000000080000250 +0000000000000000 +00010000000000e1 +0000000080000268 +0000000000000000 +00010000000000e9 +000000008000027c +0000000000000000 +00010000000000f1 +00000000800002a0 +0000000000000000 +00010000000000f9 +00000000800002b8 +0000000000000000 +0001000000000101 +00000000800002cc +0000000000000000 +0001000000000109 +00000000800002fc +0000000000000000 +0001000000000111 +0000000080000310 +0000000000000000 +0001000000000119 +0000000080000324 +0000000000000000 +0001000000000121 +000000008000034c +0000000000000000 +0001000000000129 +0000000080000378 +0000000000000000 +0001000000000131 +00000000800003a8 +0000000000000000 +0001000000000139 +00000000800003bc +0000000000000000 +0001000000000141 +00000000800003d0 +0000000000000000 +0001000000000149 +00000000800003e4 +0000000000000000 +0001000000000151 +0000000080000408 +0000000000000000 +0001000000000159 +0000000080000424 +0000000000000000 +0001000000000161 +0000000080000464 +0000000000000000 +0002001000000166 +0000000080002000 +0000000000000000 +0002001000000174 +0000000080002000 +0000000000000000 +0001001000000184 +0000000080000000 +0000000000000000 +000200100000018b +0000000080002000 +0000000000000000 +0002001000000190 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +5a79676d6b636300 +76727824006f2e50 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39325f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +000000000000047c +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000438 +0000002700000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024d8 +0000000000000199 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002671 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-xnor.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-xnor.dump new file mode 100644 index 0000000..f663f65 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-xnor.dump @@ -0,0 +1,575 @@ + +rv64uzbb-p-xnor: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: ff0105b7 lui a1,0xff010 + 800001a0: f005859b addiw a1,a1,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800001a4: 0f0f1637 lui a2,0xf0f1 + 800001a8: f0f6061b addiw a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> + 800001ac: 40c5c733 xnor a4,a1,a2 + 800001b0: 0ff013b7 lui t2,0xff01 + 800001b4: ff03839b addiw t2,t2,-16 # ff00ff0 <_start-0x700ff010> + 800001b8: 5c771663 bne a4,t2,80000784 + +00000000800001bc : + 800001bc: 00300193 li gp,3 + 800001c0: 0ff015b7 lui a1,0xff01 + 800001c4: ff05859b addiw a1,a1,-16 # ff00ff0 <_start-0x700ff010> + 800001c8: f0f0f637 lui a2,0xf0f0f + 800001cc: 0f06061b addiw a2,a2,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 800001d0: 40c5c733 xnor a4,a1,a2 + 800001d4: 00ff03b7 lui t2,0xff0 + 800001d8: 0ff3839b addiw t2,t2,255 # ff00ff <_start-0x7f00ff01> + 800001dc: 5a771463 bne a4,t2,80000784 + +00000000800001e0 : + 800001e0: 00400193 li gp,4 + 800001e4: 00ff05b7 lui a1,0xff0 + 800001e8: 0ff5859b addiw a1,a1,255 # ff00ff <_start-0x7f00ff01> + 800001ec: 0f0f1637 lui a2,0xf0f1 + 800001f0: f0f6061b addiw a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> + 800001f4: 40c5c733 xnor a4,a1,a2 + 800001f8: f00ff3b7 lui t2,0xf00ff + 800001fc: 00f3839b addiw t2,t2,15 # fffffffff00ff00f <_end+0xffffffff700fd00f> + 80000200: 58771263 bne a4,t2,80000784 + +0000000080000204 : + 80000204: 00500193 li gp,5 + 80000208: f00ff5b7 lui a1,0xf00ff + 8000020c: 00f5859b addiw a1,a1,15 # fffffffff00ff00f <_end+0xffffffff700fd00f> + 80000210: f0f0f637 lui a2,0xf0f0f + 80000214: 0f06061b addiw a2,a2,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 80000218: 40c5c733 xnor a4,a1,a2 + 8000021c: ff0103b7 lui t2,0xff010 + 80000220: f003839b addiw t2,t2,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000224: 56771063 bne a4,t2,80000784 + +0000000080000228 : + 80000228: 03200193 li gp,50 + 8000022c: 000105b7 lui a1,0x10 + 80000230: f015859b addiw a1,a1,-255 # ff01 <_start-0x7fff00ff> + 80000234: 01059593 slli a1,a1,0x10 + 80000238: f0158593 addi a1,a1,-255 + 8000023c: 01059593 slli a1,a1,0x10 + 80000240: f0158593 addi a1,a1,-255 + 80000244: 00c59593 slli a1,a1,0xc + 80000248: ff058593 addi a1,a1,-16 + 8000024c: ff0f1637 lui a2,0xff0f1 + 80000250: f0f6061b addiw a2,a2,-241 # ffffffffff0f0f0f <_end+0xffffffff7f0eef0f> + 80000254: 00c61613 slli a2,a2,0xc + 80000258: 0f160613 addi a2,a2,241 + 8000025c: 00c61613 slli a2,a2,0xc + 80000260: f0f60613 addi a2,a2,-241 + 80000264: 00c61613 slli a2,a2,0xc + 80000268: 0f060613 addi a2,a2,240 + 8000026c: 40c5c733 xnor a4,a1,a2 + 80000270: 00ff03b7 lui t2,0xff0 + 80000274: 0ff3839b addiw t2,t2,255 # ff00ff <_start-0x7f00ff01> + 80000278: 01039393 slli t2,t2,0x10 + 8000027c: 0ff38393 addi t2,t2,255 + 80000280: 01039393 slli t2,t2,0x10 + 80000284: 0ff38393 addi t2,t2,255 + 80000288: 4e771e63 bne a4,t2,80000784 + +000000008000028c : + 8000028c: 03300193 li gp,51 + 80000290: 00ff05b7 lui a1,0xff0 + 80000294: 0ff5859b addiw a1,a1,255 # ff00ff <_start-0x7f00ff01> + 80000298: 01059593 slli a1,a1,0x10 + 8000029c: 0ff58593 addi a1,a1,255 + 800002a0: 01059593 slli a1,a1,0x10 + 800002a4: 0ff58593 addi a1,a1,255 + 800002a8: 00f0f637 lui a2,0xf0f + 800002ac: 0f16061b addiw a2,a2,241 # f0f0f1 <_start-0x7f0f0f0f> + 800002b0: 00c61613 slli a2,a2,0xc + 800002b4: f0f60613 addi a2,a2,-241 + 800002b8: 00c61613 slli a2,a2,0xc + 800002bc: 0f160613 addi a2,a2,241 + 800002c0: 00c61613 slli a2,a2,0xc + 800002c4: f0f60613 addi a2,a2,-241 + 800002c8: 40c5c733 xnor a4,a1,a2 + 800002cc: ffff03b7 lui t2,0xffff0 + 800002d0: 0ff3839b addiw t2,t2,255 # ffffffffffff00ff <_end+0xffffffff7ffee0ff> + 800002d4: 01039393 slli t2,t2,0x10 + 800002d8: 0ff38393 addi t2,t2,255 + 800002dc: 01039393 slli t2,t2,0x10 + 800002e0: 0ff38393 addi t2,t2,255 + 800002e4: 00c39393 slli t2,t2,0xc + 800002e8: 00f38393 addi t2,t2,15 + 800002ec: 48771c63 bne a4,t2,80000784 + +00000000800002f0 : + 800002f0: 03400193 li gp,52 + 800002f4: ffff05b7 lui a1,0xffff0 + 800002f8: 0ff5859b addiw a1,a1,255 # ffffffffffff00ff <_end+0xffffffff7ffee0ff> + 800002fc: 01059593 slli a1,a1,0x10 + 80000300: 0ff58593 addi a1,a1,255 + 80000304: 01059593 slli a1,a1,0x10 + 80000308: 0ff58593 addi a1,a1,255 + 8000030c: 00c59593 slli a1,a1,0xc + 80000310: 00f58593 addi a1,a1,15 + 80000314: ff0f1637 lui a2,0xff0f1 + 80000318: f0f6061b addiw a2,a2,-241 # ffffffffff0f0f0f <_end+0xffffffff7f0eef0f> + 8000031c: 00c61613 slli a2,a2,0xc + 80000320: 0f160613 addi a2,a2,241 + 80000324: 00c61613 slli a2,a2,0xc + 80000328: f0f60613 addi a2,a2,-241 + 8000032c: 00c61613 slli a2,a2,0xc + 80000330: 0f060613 addi a2,a2,240 + 80000334: 40c5c733 xnor a4,a1,a2 + 80000338: ff0103b7 lui t2,0xff010 + 8000033c: f013839b addiw t2,t2,-255 # ffffffffff00ff01 <_end+0xffffffff7f00df01> + 80000340: 01039393 slli t2,t2,0x10 + 80000344: f0138393 addi t2,t2,-255 + 80000348: 01039393 slli t2,t2,0x10 + 8000034c: f0038393 addi t2,t2,-256 + 80000350: 42771a63 bne a4,t2,80000784 + +0000000080000354 : + 80000354: 00600193 li gp,6 + 80000358: ff0105b7 lui a1,0xff010 + 8000035c: f005859b addiw a1,a1,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000360: 0f0f1637 lui a2,0xf0f1 + 80000364: f0f6061b addiw a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000368: 40c5c5b3 xnor a1,a1,a2 + 8000036c: 0ff013b7 lui t2,0xff01 + 80000370: ff03839b addiw t2,t2,-16 # ff00ff0 <_start-0x700ff010> + 80000374: 40759863 bne a1,t2,80000784 + +0000000080000378 : + 80000378: 00700193 li gp,7 + 8000037c: ff0105b7 lui a1,0xff010 + 80000380: f005859b addiw a1,a1,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000384: 0f0f1637 lui a2,0xf0f1 + 80000388: f0f6061b addiw a2,a2,-241 # f0f0f0f <_start-0x70f0f0f1> + 8000038c: 40c5c633 xnor a2,a1,a2 + 80000390: 0ff013b7 lui t2,0xff01 + 80000394: ff03839b addiw t2,t2,-16 # ff00ff0 <_start-0x700ff010> + 80000398: 3e761663 bne a2,t2,80000784 + +000000008000039c : + 8000039c: 00800193 li gp,8 + 800003a0: ff0105b7 lui a1,0xff010 + 800003a4: f005859b addiw a1,a1,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800003a8: 40b5c5b3 xnor a1,a1,a1 + 800003ac: fff00393 li t2,-1 + 800003b0: 3c759a63 bne a1,t2,80000784 + +00000000800003b4 : + 800003b4: 00900193 li gp,9 + 800003b8: 00000213 li tp,0 + 800003bc: ff0100b7 lui ra,0xff010 + 800003c0: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800003c4: 0f0f1137 lui sp,0xf0f1 + 800003c8: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800003cc: 4020c733 xnor a4,ra,sp + 800003d0: 00070313 mv t1,a4 + 800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003d8: 00200293 li t0,2 + 800003dc: fe5210e3 bne tp,t0,800003bc + 800003e0: 0ff013b7 lui t2,0xff01 + 800003e4: ff03839b addiw t2,t2,-16 # ff00ff0 <_start-0x700ff010> + 800003e8: 38731e63 bne t1,t2,80000784 + +00000000800003ec : + 800003ec: 00a00193 li gp,10 + 800003f0: 00000213 li tp,0 + 800003f4: 0ff010b7 lui ra,0xff01 + 800003f8: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 800003fc: f0f0f137 lui sp,0xf0f0f + 80000400: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 80000404: 4020c733 xnor a4,ra,sp + 80000408: 00000013 nop + 8000040c: 00070313 mv t1,a4 + 80000410: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000414: 00200293 li t0,2 + 80000418: fc521ee3 bne tp,t0,800003f4 + 8000041c: 00ff03b7 lui t2,0xff0 + 80000420: 0ff3839b addiw t2,t2,255 # ff00ff <_start-0x7f00ff01> + 80000424: 36731063 bne t1,t2,80000784 + +0000000080000428 : + 80000428: 00b00193 li gp,11 + 8000042c: 00000213 li tp,0 + 80000430: 00ff00b7 lui ra,0xff0 + 80000434: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 80000438: 0f0f1137 lui sp,0xf0f1 + 8000043c: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000440: 4020c733 xnor a4,ra,sp + 80000444: 00000013 nop + 80000448: 00000013 nop + 8000044c: 00070313 mv t1,a4 + 80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000454: 00200293 li t0,2 + 80000458: fc521ce3 bne tp,t0,80000430 + 8000045c: f00ff3b7 lui t2,0xf00ff + 80000460: 00f3839b addiw t2,t2,15 # fffffffff00ff00f <_end+0xffffffff700fd00f> + 80000464: 32731063 bne t1,t2,80000784 + +0000000080000468 : + 80000468: 00c00193 li gp,12 + 8000046c: 00000213 li tp,0 + 80000470: ff0100b7 lui ra,0xff010 + 80000474: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000478: 0f0f1137 lui sp,0xf0f1 + 8000047c: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000480: 4020c733 xnor a4,ra,sp + 80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000488: 00200293 li t0,2 + 8000048c: fe5212e3 bne tp,t0,80000470 + 80000490: 0ff013b7 lui t2,0xff01 + 80000494: ff03839b addiw t2,t2,-16 # ff00ff0 <_start-0x700ff010> + 80000498: 2e771663 bne a4,t2,80000784 + +000000008000049c : + 8000049c: 00d00193 li gp,13 + 800004a0: 00000213 li tp,0 + 800004a4: 0ff010b7 lui ra,0xff01 + 800004a8: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 800004ac: f0f0f137 lui sp,0xf0f0f + 800004b0: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 800004b4: 00000013 nop + 800004b8: 4020c733 xnor a4,ra,sp + 800004bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004c0: 00200293 li t0,2 + 800004c4: fe5210e3 bne tp,t0,800004a4 + 800004c8: 00ff03b7 lui t2,0xff0 + 800004cc: 0ff3839b addiw t2,t2,255 # ff00ff <_start-0x7f00ff01> + 800004d0: 2a771a63 bne a4,t2,80000784 + +00000000800004d4 : + 800004d4: 00e00193 li gp,14 + 800004d8: 00000213 li tp,0 + 800004dc: 00ff00b7 lui ra,0xff0 + 800004e0: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 800004e4: 0f0f1137 lui sp,0xf0f1 + 800004e8: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800004ec: 00000013 nop + 800004f0: 00000013 nop + 800004f4: 4020c733 xnor a4,ra,sp + 800004f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004fc: 00200293 li t0,2 + 80000500: fc521ee3 bne tp,t0,800004dc + 80000504: f00ff3b7 lui t2,0xf00ff + 80000508: 00f3839b addiw t2,t2,15 # fffffffff00ff00f <_end+0xffffffff700fd00f> + 8000050c: 26771c63 bne a4,t2,80000784 + +0000000080000510 : + 80000510: 00f00193 li gp,15 + 80000514: 00000213 li tp,0 + 80000518: ff0100b7 lui ra,0xff010 + 8000051c: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000520: 00000013 nop + 80000524: 0f0f1137 lui sp,0xf0f1 + 80000528: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 8000052c: 4020c733 xnor a4,ra,sp + 80000530: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000534: 00200293 li t0,2 + 80000538: fe5210e3 bne tp,t0,80000518 + 8000053c: 0ff013b7 lui t2,0xff01 + 80000540: ff03839b addiw t2,t2,-16 # ff00ff0 <_start-0x700ff010> + 80000544: 24771063 bne a4,t2,80000784 + +0000000080000548 : + 80000548: 01000193 li gp,16 + 8000054c: 00000213 li tp,0 + 80000550: 0ff010b7 lui ra,0xff01 + 80000554: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 80000558: 00000013 nop + 8000055c: f0f0f137 lui sp,0xf0f0f + 80000560: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 80000564: 00000013 nop + 80000568: 4020c733 xnor a4,ra,sp + 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000570: 00200293 li t0,2 + 80000574: fc521ee3 bne tp,t0,80000550 + 80000578: 00ff03b7 lui t2,0xff0 + 8000057c: 0ff3839b addiw t2,t2,255 # ff00ff <_start-0x7f00ff01> + 80000580: 20771263 bne a4,t2,80000784 + +0000000080000584 : + 80000584: 01100193 li gp,17 + 80000588: 00000213 li tp,0 + 8000058c: 00ff00b7 lui ra,0xff0 + 80000590: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 80000594: 00000013 nop + 80000598: 00000013 nop + 8000059c: 0f0f1137 lui sp,0xf0f1 + 800005a0: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800005a4: 4020c733 xnor a4,ra,sp + 800005a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005ac: 00200293 li t0,2 + 800005b0: fc521ee3 bne tp,t0,8000058c + 800005b4: f00ff3b7 lui t2,0xf00ff + 800005b8: 00f3839b addiw t2,t2,15 # fffffffff00ff00f <_end+0xffffffff700fd00f> + 800005bc: 1c771463 bne a4,t2,80000784 + +00000000800005c0 : + 800005c0: 01200193 li gp,18 + 800005c4: 00000213 li tp,0 + 800005c8: 0f0f1137 lui sp,0xf0f1 + 800005cc: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800005d0: ff0100b7 lui ra,0xff010 + 800005d4: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 800005d8: 4020c733 xnor a4,ra,sp + 800005dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005e0: 00200293 li t0,2 + 800005e4: fe5212e3 bne tp,t0,800005c8 + 800005e8: 0ff013b7 lui t2,0xff01 + 800005ec: ff03839b addiw t2,t2,-16 # ff00ff0 <_start-0x700ff010> + 800005f0: 18771a63 bne a4,t2,80000784 + +00000000800005f4 : + 800005f4: 01300193 li gp,19 + 800005f8: 00000213 li tp,0 + 800005fc: f0f0f137 lui sp,0xf0f0f + 80000600: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 80000604: 0ff010b7 lui ra,0xff01 + 80000608: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 8000060c: 00000013 nop + 80000610: 4020c733 xnor a4,ra,sp + 80000614: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000618: 00200293 li t0,2 + 8000061c: fe5210e3 bne tp,t0,800005fc + 80000620: 00ff03b7 lui t2,0xff0 + 80000624: 0ff3839b addiw t2,t2,255 # ff00ff <_start-0x7f00ff01> + 80000628: 14771e63 bne a4,t2,80000784 + +000000008000062c : + 8000062c: 01400193 li gp,20 + 80000630: 00000213 li tp,0 + 80000634: 0f0f1137 lui sp,0xf0f1 + 80000638: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 8000063c: 00ff00b7 lui ra,0xff0 + 80000640: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 80000644: 00000013 nop + 80000648: 00000013 nop + 8000064c: 4020c733 xnor a4,ra,sp + 80000650: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000654: 00200293 li t0,2 + 80000658: fc521ee3 bne tp,t0,80000634 + 8000065c: f00ff3b7 lui t2,0xf00ff + 80000660: 00f3839b addiw t2,t2,15 # fffffffff00ff00f <_end+0xffffffff700fd00f> + 80000664: 12771063 bne a4,t2,80000784 + +0000000080000668 : + 80000668: 01500193 li gp,21 + 8000066c: 00000213 li tp,0 + 80000670: 0f0f1137 lui sp,0xf0f1 + 80000674: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 80000678: 00000013 nop + 8000067c: ff0100b7 lui ra,0xff010 + 80000680: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000684: 4020c733 xnor a4,ra,sp + 80000688: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000068c: 00200293 li t0,2 + 80000690: fe5210e3 bne tp,t0,80000670 + 80000694: 0ff013b7 lui t2,0xff01 + 80000698: ff03839b addiw t2,t2,-16 # ff00ff0 <_start-0x700ff010> + 8000069c: 0e771463 bne a4,t2,80000784 + +00000000800006a0 : + 800006a0: 01600193 li gp,22 + 800006a4: 00000213 li tp,0 + 800006a8: f0f0f137 lui sp,0xf0f0f + 800006ac: 0f01011b addiw sp,sp,240 # fffffffff0f0f0f0 <_end+0xffffffff70f0d0f0> + 800006b0: 00000013 nop + 800006b4: 0ff010b7 lui ra,0xff01 + 800006b8: ff00809b addiw ra,ra,-16 # ff00ff0 <_start-0x700ff010> + 800006bc: 00000013 nop + 800006c0: 4020c733 xnor a4,ra,sp + 800006c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800006c8: 00200293 li t0,2 + 800006cc: fc521ee3 bne tp,t0,800006a8 + 800006d0: 00ff03b7 lui t2,0xff0 + 800006d4: 0ff3839b addiw t2,t2,255 # ff00ff <_start-0x7f00ff01> + 800006d8: 0a771663 bne a4,t2,80000784 + +00000000800006dc : + 800006dc: 01700193 li gp,23 + 800006e0: 00000213 li tp,0 + 800006e4: 0f0f1137 lui sp,0xf0f1 + 800006e8: f0f1011b addiw sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> + 800006ec: 00000013 nop + 800006f0: 00000013 nop + 800006f4: 00ff00b7 lui ra,0xff0 + 800006f8: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 800006fc: 4020c733 xnor a4,ra,sp + 80000700: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000704: 00200293 li t0,2 + 80000708: fc521ee3 bne tp,t0,800006e4 + 8000070c: f00ff3b7 lui t2,0xf00ff + 80000710: 00f3839b addiw t2,t2,15 # fffffffff00ff00f <_end+0xffffffff700fd00f> + 80000714: 06771863 bne a4,t2,80000784 + +0000000080000718 : + 80000718: 01800193 li gp,24 + 8000071c: ff0100b7 lui ra,0xff010 + 80000720: f000809b addiw ra,ra,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 80000724: 40104133 xnor sp,zero,ra + 80000728: 00ff03b7 lui t2,0xff0 + 8000072c: 0ff3839b addiw t2,t2,255 # ff00ff <_start-0x7f00ff01> + 80000730: 04711a63 bne sp,t2,80000784 + +0000000080000734 : + 80000734: 01900193 li gp,25 + 80000738: 00ff00b7 lui ra,0xff0 + 8000073c: 0ff0809b addiw ra,ra,255 # ff00ff <_start-0x7f00ff01> + 80000740: 4000c133 xnor sp,ra,zero + 80000744: ff0103b7 lui t2,0xff010 + 80000748: f003839b addiw t2,t2,-256 # ffffffffff00ff00 <_end+0xffffffff7f00df00> + 8000074c: 02711c63 bne sp,t2,80000784 + +0000000080000750 : + 80000750: 01a00193 li gp,26 + 80000754: 400040b3 xnor ra,zero,zero + 80000758: fff00393 li t2,-1 + 8000075c: 02709463 bne ra,t2,80000784 + +0000000080000760 : + 80000760: 01b00193 li gp,27 + 80000764: 111110b7 lui ra,0x11111 + 80000768: 1110809b addiw ra,ra,273 # 11111111 <_start-0x6eeeeeef> + 8000076c: 22222137 lui sp,0x22222 + 80000770: 2221011b addiw sp,sp,546 # 22222222 <_start-0x5dddddde> + 80000774: 4020c033 xnor zero,ra,sp + 80000778: 00000393 li t2,0 + 8000077c: 00701463 bne zero,t2,80000784 + 80000780: 02301063 bne zero,gp,800007a0 + +0000000080000784 : + 80000784: 0ff0000f fence + 80000788: 00018063 beqz gp,80000788 + 8000078c: 00119193 slli gp,gp,0x1 + 80000790: 0011e193 ori gp,gp,1 + 80000794: 05d00893 li a7,93 + 80000798: 00018513 mv a0,gp + 8000079c: 00000073 ecall + +00000000800007a0 : + 800007a0: 0ff0000f fence + 800007a4: 00100193 li gp,1 + 800007a8: 05d00893 li a7,93 + 800007ac: 00000513 li a0,0 + 800007b0: 00000073 ecall + 800007b4: c0001073 unimp + 800007b8: 0000 .insn 2, 0x + 800007ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-xnor.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-xnor.hex new file mode 100644 index 0000000..9850804 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-xnor.hex @@ -0,0 +1,799 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +ff0105b700200193 +0f0f1637f005859b +40c5c733f0f6061b +ff03839b0ff013b7 +003001935c771663 +ff05859b0ff015b7 +0f06061bf0f0f637 +00ff03b740c5c733 +5a7714630ff3839b +00ff05b700400193 +0f0f16370ff5859b +40c5c733f0f6061b +00f3839bf00ff3b7 +0050019358771263 +00f5859bf00ff5b7 +0f06061bf0f0f637 +ff0103b740c5c733 +56771063f003839b +000105b703200193 +01059593f015859b +01059593f0158593 +00c59593f0158593 +ff0f1637ff058593 +00c61613f0f6061b +00c616130f160613 +00c61613f0f60613 +40c5c7330f060613 +0ff3839b00ff03b7 +0ff3839301039393 +0ff3839301039393 +033001934e771e63 +0ff5859b00ff05b7 +0ff5859301059593 +0ff5859301059593 +0f16061b00f0f637 +f0f6061300c61613 +0f16061300c61613 +f0f6061300c61613 +ffff03b740c5c733 +010393930ff3839b +010393930ff38393 +00c393930ff38393 +48771c6300f38393 +ffff05b703400193 +010595930ff5859b +010595930ff58593 +00c595930ff58593 +ff0f163700f58593 +00c61613f0f6061b +00c616130f160613 +00c61613f0f60613 +40c5c7330f060613 +f013839bff0103b7 +f013839301039393 +f003839301039393 +0060019342771a63 +f005859bff0105b7 +f0f6061b0f0f1637 +0ff013b740c5c5b3 +40759863ff03839b +ff0105b700700193 +0f0f1637f005859b +40c5c633f0f6061b +ff03839b0ff013b7 +008001933e761663 +f005859bff0105b7 +fff0039340b5c5b3 +009001933c759a63 +ff0100b700000213 +0f0f1137f000809b +4020c733f0f1011b +0012021300070313 +fe5210e300200293 +ff03839b0ff013b7 +00a0019338731e63 +0ff010b700000213 +f0f0f137ff00809b +4020c7330f01011b +0007031300000013 +0020029300120213 +00ff03b7fc521ee3 +367310630ff3839b +0000021300b00193 +0ff0809b00ff00b7 +f0f1011b0f0f1137 +000000134020c733 +0007031300000013 +0020029300120213 +f00ff3b7fc521ce3 +3273106300f3839b +0000021300c00193 +f000809bff0100b7 +f0f1011b0f0f1137 +001202134020c733 +fe5212e300200293 +ff03839b0ff013b7 +00d001932e771663 +0ff010b700000213 +f0f0f137ff00809b +000000130f01011b +001202134020c733 +fe5210e300200293 +0ff3839b00ff03b7 +00e001932a771a63 +00ff00b700000213 +0f0f11370ff0809b +00000013f0f1011b +4020c73300000013 +0020029300120213 +f00ff3b7fc521ee3 +26771c6300f3839b +0000021300f00193 +f000809bff0100b7 +0f0f113700000013 +4020c733f0f1011b +0020029300120213 +0ff013b7fe5210e3 +24771063ff03839b +0000021301000193 +ff00809b0ff010b7 +f0f0f13700000013 +000000130f01011b +001202134020c733 +fc521ee300200293 +0ff3839b00ff03b7 +0110019320771263 +00ff00b700000213 +000000130ff0809b +0f0f113700000013 +4020c733f0f1011b +0020029300120213 +f00ff3b7fc521ee3 +1c77146300f3839b +0000021301200193 +f0f1011b0f0f1137 +f000809bff0100b7 +001202134020c733 +fe5212e300200293 +ff03839b0ff013b7 +0130019318771a63 +f0f0f13700000213 +0ff010b70f01011b +00000013ff00809b +001202134020c733 +fe5210e300200293 +0ff3839b00ff03b7 +0140019314771e63 +0f0f113700000213 +00ff00b7f0f1011b +000000130ff0809b +4020c73300000013 +0020029300120213 +f00ff3b7fc521ee3 +1277106300f3839b +0000021301500193 +f0f1011b0f0f1137 +ff0100b700000013 +4020c733f000809b +0020029300120213 +0ff013b7fe5210e3 +0e771463ff03839b +0000021301600193 +0f01011bf0f0f137 +0ff010b700000013 +00000013ff00809b +001202134020c733 +fc521ee300200293 +0ff3839b00ff03b7 +017001930a771663 +0f0f113700000213 +00000013f0f1011b +00ff00b700000013 +4020c7330ff0809b +0020029300120213 +f00ff3b7fc521ee3 +0677186300f3839b +ff0100b701800193 +40104133f000809b +0ff3839b00ff03b7 +0190019304711a63 +0ff0809b00ff00b7 +ff0103b74000c133 +02711c63f003839b +400040b301a00193 +02709463fff00393 +111110b701b00193 +222221371110809b +4020c0332221011b +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000784 +0000000000000000 +00010000000000a8 +00000000800001bc +0000000000000000 +00010000000000af +00000000800001e0 +0000000000000000 +00010000000000b6 +0000000080000204 +0000000000000000 +00010000000000bd +0000000080000228 +0000000000000000 +00010000000000c5 +000000008000028c +0000000000000000 +00010000000000cd +00000000800002f0 +0000000000000000 +00010000000000d5 +0000000080000354 +0000000000000000 +00010000000000dc +0000000080000378 +0000000000000000 +00010000000000e3 +000000008000039c +0000000000000000 +00010000000000ea +00000000800003b4 +0000000000000000 +00010000000000f1 +00000000800003ec +0000000000000000 +00010000000000f9 +0000000080000428 +0000000000000000 +0001000000000101 +0000000080000468 +0000000000000000 +0001000000000109 +000000008000049c +0000000000000000 +0001000000000111 +00000000800004d4 +0000000000000000 +0001000000000119 +0000000080000510 +0000000000000000 +0001000000000121 +0000000080000548 +0000000000000000 +0001000000000129 +0000000080000584 +0000000000000000 +0001000000000131 +00000000800005c0 +0000000000000000 +0001000000000139 +00000000800005f4 +0000000000000000 +0001000000000141 +000000008000062c +0000000000000000 +0001000000000149 +0000000080000668 +0000000000000000 +0001000000000151 +00000000800006a0 +0000000000000000 +0001000000000159 +00000000800006dc +0000000000000000 +0001000000000161 +0000000080000718 +0000000000000000 +0001000000000169 +0000000080000734 +0000000000000000 +0001000000000171 +0000000080000750 +0000000000000000 +0001000000000179 +0000000080000760 +0000000000000000 +0001000000000181 +00000000800007a0 +0000000000000000 +0002001000000186 +0000000080002000 +0000000000000000 +0002001000000194 +0000000080002000 +0000000000000000 +00010010000001a4 +0000000080000000 +0000000000000000 +00020010000001ab +0000000080002000 +0000000000000000 +00020010000001b0 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +6470673975636300 +76727824006f2e35 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7365740030355f74 +7365740031355f74 +7365740032355f74 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000007bc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000498 +0000002b00000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +0000000000002538 +00000000000001b9 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +00000000000026f1 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-zext_h.dump b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-zext_h.dump new file mode 100644 index 0000000..cb61f85 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-zext_h.dump @@ -0,0 +1,386 @@ + +rv64uzbb-p-zext_h: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 00200193 li gp,2 + 8000019c: 00000093 li ra,0 + 800001a0: 0800c73b zext.h a4,ra + 800001a4: 00000393 li t2,0 + 800001a8: 2a771863 bne a4,t2,80000458 + +00000000800001ac : + 800001ac: 00300193 li gp,3 + 800001b0: 00100093 li ra,1 + 800001b4: 0800c73b zext.h a4,ra + 800001b8: 00100393 li t2,1 + 800001bc: 28771e63 bne a4,t2,80000458 + +00000000800001c0 : + 800001c0: 00400193 li gp,4 + 800001c4: 00300093 li ra,3 + 800001c8: 0800c73b zext.h a4,ra + 800001cc: 00300393 li t2,3 + 800001d0: 28771463 bne a4,t2,80000458 + +00000000800001d4 : + 800001d4: 00500193 li gp,5 + 800001d8: ffff80b7 lui ra,0xffff8 + 800001dc: 0800c73b zext.h a4,ra + 800001e0: 000083b7 lui t2,0x8 + 800001e4: 26771a63 bne a4,t2,80000458 + +00000000800001e8 : + 800001e8: 00600193 li gp,6 + 800001ec: 008000b7 lui ra,0x800 + 800001f0: 0800c73b zext.h a4,ra + 800001f4: 00000393 li t2,0 + 800001f8: 26771063 bne a4,t2,80000458 + +00000000800001fc : + 800001fc: 00700193 li gp,7 + 80000200: 0050009b addiw ra,zero,5 + 80000204: 02109093 slli ra,ra,0x21 + 80000208: fff08093 addi ra,ra,-1 # 7fffff <_start-0x7f800001> + 8000020c: 00f09093 slli ra,ra,0xf + 80000210: 0800c73b zext.h a4,ra + 80000214: 000083b7 lui t2,0x8 + 80000218: 24771063 bne a4,t2,80000458 + +000000008000021c : + 8000021c: 00800193 li gp,8 + 80000220: 000080b7 lui ra,0x8 + 80000224: fff0809b addiw ra,ra,-1 # 7fff <_start-0x7fff8001> + 80000228: 0800c73b zext.h a4,ra + 8000022c: 000083b7 lui t2,0x8 + 80000230: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 80000234: 22771263 bne a4,t2,80000458 + +0000000080000238 : + 80000238: 00900193 li gp,9 + 8000023c: 800000b7 lui ra,0x80000 + 80000240: fff0809b addiw ra,ra,-1 # 7fffffff <_start-0x1> + 80000244: 0800c73b zext.h a4,ra + 80000248: 000103b7 lui t2,0x10 + 8000024c: fff3839b addiw t2,t2,-1 # ffff <_start-0x7fff0001> + 80000250: 20771463 bne a4,t2,80000458 + +0000000080000254 : + 80000254: 00a00193 li gp,10 + 80000258: 000800b7 lui ra,0x80 + 8000025c: fff0809b addiw ra,ra,-1 # 7ffff <_start-0x7ff80001> + 80000260: 0800c73b zext.h a4,ra + 80000264: 000103b7 lui t2,0x10 + 80000268: fff3839b addiw t2,t2,-1 # ffff <_start-0x7fff0001> + 8000026c: 1e771663 bne a4,t2,80000458 + +0000000080000270 : + 80000270: 00b00193 li gp,11 + 80000274: 800000b7 lui ra,0x80000 + 80000278: 0800c73b zext.h a4,ra + 8000027c: 00000393 li t2,0 + 80000280: 1c771c63 bne a4,t2,80000458 + +0000000080000284 : + 80000284: 00c00193 li gp,12 + 80000288: 7fabc0b7 lui ra,0x7fabc + 8000028c: 7890809b addiw ra,ra,1929 # 7fabc789 <_start-0x543877> + 80000290: 00d09093 slli ra,ra,0xd + 80000294: 1f508093 addi ra,ra,501 + 80000298: 00c09093 slli ra,ra,0xc + 8000029c: 0800c73b zext.h a4,ra + 800002a0: 000053b7 lui t2,0x5 + 800002a4: 1a771a63 bne a4,t2,80000458 + +00000000800002a8 : + 800002a8: 00d00193 li gp,13 + 800002ac: fff0009b addiw ra,zero,-1 + 800002b0: 03f09093 slli ra,ra,0x3f + 800002b4: 0800c73b zext.h a4,ra + 800002b8: 00000393 li t2,0 + 800002bc: 18771e63 bne a4,t2,80000458 + +00000000800002c0 : + 800002c0: 00e00193 li gp,14 + 800002c4: 00e00093 li ra,14 + 800002c8: 0800c73b zext.h a4,ra + 800002cc: 00e00393 li t2,14 + 800002d0: 18771463 bne a4,t2,80000458 + +00000000800002d4 : + 800002d4: 00f00193 li gp,15 + 800002d8: ffd0009b addiw ra,zero,-3 + 800002dc: 02009093 slli ra,ra,0x20 + 800002e0: 01908093 addi ra,ra,25 + 800002e4: 01109093 slli ra,ra,0x11 + 800002e8: 40108093 addi ra,ra,1025 + 800002ec: 00c09093 slli ra,ra,0xc + 800002f0: 34108093 addi ra,ra,833 + 800002f4: 0800c73b zext.h a4,ra + 800002f8: 000013b7 lui t2,0x1 + 800002fc: 3413839b addiw t2,t2,833 # 1341 <_start-0x7fffecbf> + 80000300: 14771c63 bne a4,t2,80000458 + +0000000080000304 : + 80000304: 01000193 li gp,16 + 80000308: 00d00093 li ra,13 + 8000030c: 0800c0bb zext.h ra,ra + 80000310: 00d00393 li t2,13 + 80000314: 14709263 bne ra,t2,80000458 + +0000000080000318 : + 80000318: 01100193 li gp,17 + 8000031c: 00b00093 li ra,11 + 80000320: 0800c0bb zext.h ra,ra + 80000324: 00b00393 li t2,11 + 80000328: 12709863 bne ra,t2,80000458 + +000000008000032c : + 8000032c: 01200193 li gp,18 + 80000330: 00000213 li tp,0 + 80000334: 00d00093 li ra,13 + 80000338: 0800c73b zext.h a4,ra + 8000033c: 00070313 mv t1,a4 + 80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000344: 00200293 li t0,2 + 80000348: fe5216e3 bne tp,t0,80000334 + 8000034c: 00d00393 li t2,13 + 80000350: 10731463 bne t1,t2,80000458 + +0000000080000354 : + 80000354: 01d00193 li gp,29 + 80000358: 00000213 li tp,0 + 8000035c: 01300093 li ra,19 + 80000360: 0800c73b zext.h a4,ra + 80000364: 00000013 nop + 80000368: 00070313 mv t1,a4 + 8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000370: 00200293 li t0,2 + 80000374: fe5214e3 bne tp,t0,8000035c + 80000378: 01300393 li t2,19 + 8000037c: 0c731e63 bne t1,t2,80000458 + +0000000080000380 : + 80000380: 01400193 li gp,20 + 80000384: 00000213 li tp,0 + 80000388: 02200093 li ra,34 + 8000038c: 0800c73b zext.h a4,ra + 80000390: 00000013 nop + 80000394: 00000013 nop + 80000398: 00070313 mv t1,a4 + 8000039c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003a0: 00200293 li t0,2 + 800003a4: fe5212e3 bne tp,t0,80000388 + 800003a8: 02200393 li t2,34 + 800003ac: 0a731663 bne t1,t2,80000458 + +00000000800003b0 : + 800003b0: 01500193 li gp,21 + 800003b4: 007f80b7 lui ra,0x7f8 + 800003b8: 0800c73b zext.h a4,ra + 800003bc: 000083b7 lui t2,0x8 + 800003c0: 08771c63 bne a4,t2,80000458 + +00000000800003c4 : + 800003c4: 01600193 li gp,22 + 800003c8: 008080b7 lui ra,0x808 + 800003cc: 0800c73b zext.h a4,ra + 800003d0: 000083b7 lui t2,0x8 + 800003d4: 08771263 bne a4,t2,80000458 + +00000000800003d8 : + 800003d8: 01700193 li gp,23 + 800003dc: 018080b7 lui ra,0x1808 + 800003e0: 0800c73b zext.h a4,ra + 800003e4: 000083b7 lui t2,0x8 + 800003e8: 06771863 bne a4,t2,80000458 + +00000000800003ec : + 800003ec: 01800193 li gp,24 + 800003f0: 000600b7 lui ra,0x60 + 800003f4: 0010809b addiw ra,ra,1 # 60001 <_start-0x7ff9ffff> + 800003f8: 00f09093 slli ra,ra,0xf + 800003fc: fff08093 addi ra,ra,-1 + 80000400: 0800c73b zext.h a4,ra + 80000404: 000083b7 lui t2,0x8 + 80000408: fff3839b addiw t2,t2,-1 # 7fff <_start-0x7fff8001> + 8000040c: 04771663 bne a4,t2,80000458 + +0000000080000410 : + 80000410: 01900193 li gp,25 + 80000414: 00f0009b addiw ra,zero,15 + 80000418: 01f09093 slli ra,ra,0x1f + 8000041c: fff08093 addi ra,ra,-1 + 80000420: 0800c73b zext.h a4,ra + 80000424: 000103b7 lui t2,0x10 + 80000428: fff3839b addiw t2,t2,-1 # ffff <_start-0x7fff0001> + 8000042c: 02771663 bne a4,t2,80000458 + +0000000080000430 : + 80000430: 01a00193 li gp,26 + 80000434: 0001e0b7 lui ra,0x1e + 80000438: 0010809b addiw ra,ra,1 # 1e001 <_start-0x7ffe1fff> + 8000043c: 01309093 slli ra,ra,0x13 + 80000440: fff08093 addi ra,ra,-1 + 80000444: 0800c73b zext.h a4,ra + 80000448: 000103b7 lui t2,0x10 + 8000044c: fff3839b addiw t2,t2,-1 # ffff <_start-0x7fff0001> + 80000450: 00771463 bne a4,t2,80000458 + 80000454: 02301063 bne zero,gp,80000474 + +0000000080000458 : + 80000458: 0ff0000f fence + 8000045c: 00018063 beqz gp,8000045c + 80000460: 00119193 slli gp,gp,0x1 + 80000464: 0011e193 ori gp,gp,1 + 80000468: 05d00893 li a7,93 + 8000046c: 00018513 mv a0,gp + 80000470: 00000073 ecall + +0000000080000474 : + 80000474: 0ff0000f fence + 80000478: 00100193 li gp,1 + 8000047c: 05d00893 li a7,93 + 80000480: 00000513 li a0,0 + 80000484: 00000073 ecall + 80000488: c0001073 unimp + 8000048c: 0000 .insn 2, 0x + 8000048e: 0000 .insn 2, 0x + 80000490: 0000 .insn 2, 0x + 80000492: 0000 .insn 2, 0x + 80000494: 0000 .insn 2, 0x + 80000496: 0000 .insn 2, 0x + 80000498: 0000 .insn 2, 0x + 8000049a: 0000 .insn 2, 0x + 8000049c: 0000 .insn 2, 0x + 8000049e: 0000 .insn 2, 0x + 800004a0: 0000 .insn 2, 0x + 800004a2: 0000 .insn 2, 0x + 800004a4: 0000 .insn 2, 0x + 800004a6: 0000 .insn 2, 0x + 800004a8: 0000 .insn 2, 0x + 800004aa: 0000 .insn 2, 0x + 800004ac: 0000 .insn 2, 0x + 800004ae: 0000 .insn 2, 0x + 800004b0: 0000 .insn 2, 0x + 800004b2: 0000 .insn 2, 0x + 800004b4: 0000 .insn 2, 0x + 800004b6: 0000 .insn 2, 0x + 800004b8: 0000 .insn 2, 0x + 800004ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-zext_h.hex b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-zext_h.hex new file mode 100644 index 0000000..3a65d46 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbb/rv64uzbb-zext_h.hex @@ -0,0 +1,783 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +0000009300200193 +000003930800c73b +003001932a771863 +0800c73b00100093 +28771e6300100393 +0030009300400193 +003003930800c73b +0050019328771463 +0800c73bffff80b7 +26771a63000083b7 +008000b700600193 +000003930800c73b +0070019326771063 +021090930050009b +00f09093fff08093 +000083b70800c73b +0080019324771063 +fff0809b000080b7 +000083b70800c73b +22771263fff3839b +800000b700900193 +0800c73bfff0809b +fff3839b000103b7 +00a0019320771463 +fff0809b000800b7 +000103b70800c73b +1e771663fff3839b +800000b700b00193 +000003930800c73b +00c001931c771c63 +7890809b7fabc0b7 +1f50809300d09093 +0800c73b00c09093 +1a771a63000053b7 +fff0009b00d00193 +0800c73b03f09093 +18771e6300000393 +00e0009300e00193 +00e003930800c73b +00f0019318771463 +02009093ffd0009b +0110909301908093 +00c0909340108093 +0800c73b34108093 +3413839b000013b7 +0100019314771c63 +0800c0bb00d00093 +1470926300d00393 +00b0009301100193 +00b003930800c0bb +0120019312709863 +00d0009300000213 +000703130800c73b +0020029300120213 +00d00393fe5216e3 +01d0019310731463 +0130009300000213 +000000130800c73b +0012021300070313 +fe5214e300200293 +0c731e6301300393 +0000021301400193 +0800c73b02200093 +0000001300000013 +0012021300070313 +fe5212e300200293 +0a73166302200393 +007f80b701500193 +000083b70800c73b +0160019308771c63 +0800c73b008080b7 +08771263000083b7 +018080b701700193 +000083b70800c73b +0180019306771863 +0010809b000600b7 +fff0809300f09093 +000083b70800c73b +04771663fff3839b +00f0009b01900193 +fff0809301f09093 +000103b70800c73b +02771663fff3839b +0001e0b701a00193 +013090930010809b +0800c73bfff08093 +fff3839b000103b7 +0230106300771463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3162627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a3 +0000000080000458 +0000000000000000 +00010000000000a8 +00000000800001ac +0000000000000000 +00010000000000af +00000000800001c0 +0000000000000000 +00010000000000b6 +00000000800001d4 +0000000000000000 +00010000000000bd +00000000800001e8 +0000000000000000 +00010000000000c4 +00000000800001fc +0000000000000000 +00010000000000cb +000000008000021c +0000000000000000 +00010000000000d2 +0000000080000238 +0000000000000000 +00010000000000d9 +0000000080000254 +0000000000000000 +00010000000000e1 +0000000080000270 +0000000000000000 +00010000000000e9 +0000000080000284 +0000000000000000 +00010000000000f1 +00000000800002a8 +0000000000000000 +00010000000000f9 +00000000800002c0 +0000000000000000 +0001000000000101 +00000000800002d4 +0000000000000000 +0001000000000109 +0000000080000304 +0000000000000000 +0001000000000111 +0000000080000318 +0000000000000000 +0001000000000119 +000000008000032c +0000000000000000 +0001000000000121 +0000000080000354 +0000000000000000 +0001000000000129 +0000000080000380 +0000000000000000 +0001000000000131 +00000000800003b0 +0000000000000000 +0001000000000139 +00000000800003c4 +0000000000000000 +0001000000000141 +00000000800003d8 +0000000000000000 +0001000000000149 +00000000800003ec +0000000000000000 +0001000000000151 +0000000080000410 +0000000000000000 +0001000000000159 +0000000080000430 +0000000000000000 +0001000000000161 +0000000080000474 +0000000000000000 +0002001000000166 +0000000080002000 +0000000000000000 +0002001000000174 +0000000080002000 +0000000000000000 +0001001000000184 +0000000080000000 +0000000000000000 +000200100000018b +0000000080002000 +0000000000000000 +0002001000000190 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +6d50454d65636300 +76727824006f2e58 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703162627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +006c69616600325f +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39325f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000004bc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +0000000000000438 +0000002700000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +00000000000024d8 +0000000000000199 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002671 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmul.dump b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmul.dump new file mode 100644 index 0000000..56a1ac5 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmul.dump @@ -0,0 +1,524 @@ + +rv64uzbc-p-clmul: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 02000193 li gp,32 + 8000019c: 000085b7 lui a1,0x8 + 800001a0: e005859b addiw a1,a1,-512 # 7e00 <_start-0x7fff8200> + 800001a4: 06db7637 lui a2,0x6db7 + 800001a8: db76061b addiw a2,a2,-585 # 6db6db7 <_start-0x79249249> + 800001ac: 00c61613 slli a2,a2,0xc + 800001b0: db760613 addi a2,a2,-585 + 800001b4: 00c61613 slli a2,a2,0xc + 800001b8: db760613 addi a2,a2,-585 + 800001bc: 00c61613 slli a2,a2,0xc + 800001c0: db760613 addi a2,a2,-585 + 800001c4: 0ac59733 clmul a4,a1,a2 + 800001c8: 000063b7 lui t2,0x6 + 800001cc: a003839b addiw t2,t2,-1536 # 5a00 <_start-0x7fffa600> + 800001d0: 48771c63 bne a4,t2,80000668 + +00000000800001d4 : + 800001d4: 02100193 li gp,33 + 800001d8: 000085b7 lui a1,0x8 + 800001dc: fc05859b addiw a1,a1,-64 # 7fc0 <_start-0x7fff8040> + 800001e0: 06db7637 lui a2,0x6db7 + 800001e4: db76061b addiw a2,a2,-585 # 6db6db7 <_start-0x79249249> + 800001e8: 00c61613 slli a2,a2,0xc + 800001ec: db760613 addi a2,a2,-585 + 800001f0: 00c61613 slli a2,a2,0xc + 800001f4: db760613 addi a2,a2,-585 + 800001f8: 00c61613 slli a2,a2,0xc + 800001fc: db760613 addi a2,a2,-585 + 80000200: 0ac59733 clmul a4,a1,a2 + 80000204: 000063b7 lui t2,0x6 + 80000208: b403839b addiw t2,t2,-1216 # 5b40 <_start-0x7fffa4c0> + 8000020c: 44771e63 bne a4,t2,80000668 + +0000000080000210 : + 80000210: 00200193 li gp,2 + 80000214: 00000593 li a1,0 + 80000218: 00000613 li a2,0 + 8000021c: 0ac59733 clmul a4,a1,a2 + 80000220: 00000393 li t2,0 + 80000224: 44771263 bne a4,t2,80000668 + +0000000080000228 : + 80000228: 00300193 li gp,3 + 8000022c: 00100593 li a1,1 + 80000230: 00100613 li a2,1 + 80000234: 0ac59733 clmul a4,a1,a2 + 80000238: 00100393 li t2,1 + 8000023c: 42771663 bne a4,t2,80000668 + +0000000080000240 : + 80000240: 00400193 li gp,4 + 80000244: 00300593 li a1,3 + 80000248: 00700613 li a2,7 + 8000024c: 0ac59733 clmul a4,a1,a2 + 80000250: 00900393 li t2,9 + 80000254: 40771a63 bne a4,t2,80000668 + +0000000080000258 : + 80000258: 00500193 li gp,5 + 8000025c: 00000593 li a1,0 + 80000260: ffff8637 lui a2,0xffff8 + 80000264: 0ac59733 clmul a4,a1,a2 + 80000268: 00000393 li t2,0 + 8000026c: 3e771e63 bne a4,t2,80000668 + +0000000080000270 : + 80000270: 00600193 li gp,6 + 80000274: 800005b7 lui a1,0x80000 + 80000278: 00000613 li a2,0 + 8000027c: 0ac59733 clmul a4,a1,a2 + 80000280: 00000393 li t2,0 + 80000284: 3e771263 bne a4,t2,80000668 + +0000000080000288 : + 80000288: 00700193 li gp,7 + 8000028c: 800005b7 lui a1,0x80000 + 80000290: ffff8637 lui a2,0xffff8 + 80000294: 0ac59733 clmul a4,a1,a2 + 80000298: 000153b7 lui t2,0x15 + 8000029c: 5553839b addiw t2,t2,1365 # 15555 <_start-0x7ffeaaab> + 800002a0: 02e39393 slli t2,t2,0x2e + 800002a4: 3c771263 bne a4,t2,80000668 + +00000000800002a8 : + 800002a8: 01e00193 li gp,30 + 800002ac: faaab5b7 lui a1,0xfaaab + 800002b0: aab5859b addiw a1,a1,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab> + 800002b4: 00c59593 slli a1,a1,0xc + 800002b8: aab58593 addi a1,a1,-1365 + 800002bc: 00c59593 slli a1,a1,0xc + 800002c0: aab58593 addi a1,a1,-1365 + 800002c4: 00c59593 slli a1,a1,0xc + 800002c8: aab58593 addi a1,a1,-1365 + 800002cc: 00030637 lui a2,0x30 + 800002d0: e7d6061b addiw a2,a2,-387 # 2fe7d <_start-0x7ffd0183> + 800002d4: 0ac59733 clmul a4,a1,a2 + 800002d8: fffc33b7 lui t2,0xfffc3 + 800002dc: 24f3839b addiw t2,t2,591 # fffffffffffc324f <_end+0xffffffff7ffc124f> + 800002e0: 38771463 bne a4,t2,80000668 + +00000000800002e4 : + 800002e4: 01f00193 li gp,31 + 800002e8: 000305b7 lui a1,0x30 + 800002ec: e7d5859b addiw a1,a1,-387 # 2fe7d <_start-0x7ffd0183> + 800002f0: faaab637 lui a2,0xfaaab + 800002f4: aab6061b addiw a2,a2,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab> + 800002f8: 00c61613 slli a2,a2,0xc + 800002fc: aab60613 addi a2,a2,-1365 + 80000300: 00c61613 slli a2,a2,0xc + 80000304: aab60613 addi a2,a2,-1365 + 80000308: 00c61613 slli a2,a2,0xc + 8000030c: aab60613 addi a2,a2,-1365 + 80000310: 0ac59733 clmul a4,a1,a2 + 80000314: fffc33b7 lui t2,0xfffc3 + 80000318: 24f3839b addiw t2,t2,591 # fffffffffffc324f <_end+0xffffffff7ffc124f> + 8000031c: 34771663 bne a4,t2,80000668 + +0000000080000320 : + 80000320: 00800193 li gp,8 + 80000324: 00d00593 li a1,13 + 80000328: 00b00613 li a2,11 + 8000032c: 0ac595b3 clmul a1,a1,a2 + 80000330: 07f00393 li t2,127 + 80000334: 32759a63 bne a1,t2,80000668 + +0000000080000338 : + 80000338: 00900193 li gp,9 + 8000033c: 00e00593 li a1,14 + 80000340: 00b00613 li a2,11 + 80000344: 0ac59633 clmul a2,a1,a2 + 80000348: 06200393 li t2,98 + 8000034c: 30761e63 bne a2,t2,80000668 + +0000000080000350 : + 80000350: 00a00193 li gp,10 + 80000354: 00d00593 li a1,13 + 80000358: 0ab595b3 clmul a1,a1,a1 + 8000035c: 05100393 li t2,81 + 80000360: 30759463 bne a1,t2,80000668 + +0000000080000364 : + 80000364: 00b00193 li gp,11 + 80000368: 00000213 li tp,0 + 8000036c: 00d00093 li ra,13 + 80000370: 00b00113 li sp,11 + 80000374: 0a209733 clmul a4,ra,sp + 80000378: 00070313 mv t1,a4 + 8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000380: 00200293 li t0,2 + 80000384: fe5214e3 bne tp,t0,8000036c + 80000388: 07f00393 li t2,127 + 8000038c: 2c731e63 bne t1,t2,80000668 + +0000000080000390 : + 80000390: 00c00193 li gp,12 + 80000394: 00000213 li tp,0 + 80000398: 00e00093 li ra,14 + 8000039c: 00b00113 li sp,11 + 800003a0: 0a209733 clmul a4,ra,sp + 800003a4: 00000013 nop + 800003a8: 00070313 mv t1,a4 + 800003ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003b0: 00200293 li t0,2 + 800003b4: fe5212e3 bne tp,t0,80000398 + 800003b8: 06200393 li t2,98 + 800003bc: 2a731663 bne t1,t2,80000668 + +00000000800003c0 : + 800003c0: 00d00193 li gp,13 + 800003c4: 00000213 li tp,0 + 800003c8: 00f00093 li ra,15 + 800003cc: 00b00113 li sp,11 + 800003d0: 0a209733 clmul a4,ra,sp + 800003d4: 00000013 nop + 800003d8: 00000013 nop + 800003dc: 00070313 mv t1,a4 + 800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003e4: 00200293 li t0,2 + 800003e8: fe5210e3 bne tp,t0,800003c8 + 800003ec: 06900393 li t2,105 + 800003f0: 26731c63 bne t1,t2,80000668 + +00000000800003f4 : + 800003f4: 00e00193 li gp,14 + 800003f8: 00000213 li tp,0 + 800003fc: 00d00093 li ra,13 + 80000400: 00b00113 li sp,11 + 80000404: 0a209733 clmul a4,ra,sp + 80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000040c: 00200293 li t0,2 + 80000410: fe5216e3 bne tp,t0,800003fc + 80000414: 07f00393 li t2,127 + 80000418: 24771863 bne a4,t2,80000668 + +000000008000041c : + 8000041c: 00f00193 li gp,15 + 80000420: 00000213 li tp,0 + 80000424: 00e00093 li ra,14 + 80000428: 00b00113 li sp,11 + 8000042c: 00000013 nop + 80000430: 0a209733 clmul a4,ra,sp + 80000434: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000438: 00200293 li t0,2 + 8000043c: fe5214e3 bne tp,t0,80000424 + 80000440: 06200393 li t2,98 + 80000444: 22771263 bne a4,t2,80000668 + +0000000080000448 : + 80000448: 01000193 li gp,16 + 8000044c: 00000213 li tp,0 + 80000450: 00f00093 li ra,15 + 80000454: 00b00113 li sp,11 + 80000458: 00000013 nop + 8000045c: 00000013 nop + 80000460: 0a209733 clmul a4,ra,sp + 80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000468: 00200293 li t0,2 + 8000046c: fe5212e3 bne tp,t0,80000450 + 80000470: 06900393 li t2,105 + 80000474: 1e771a63 bne a4,t2,80000668 + +0000000080000478 : + 80000478: 01100193 li gp,17 + 8000047c: 00000213 li tp,0 + 80000480: 00d00093 li ra,13 + 80000484: 00000013 nop + 80000488: 00b00113 li sp,11 + 8000048c: 0a209733 clmul a4,ra,sp + 80000490: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000494: 00200293 li t0,2 + 80000498: fe5214e3 bne tp,t0,80000480 + 8000049c: 07f00393 li t2,127 + 800004a0: 1c771463 bne a4,t2,80000668 + +00000000800004a4 : + 800004a4: 01200193 li gp,18 + 800004a8: 00000213 li tp,0 + 800004ac: 00e00093 li ra,14 + 800004b0: 00000013 nop + 800004b4: 00b00113 li sp,11 + 800004b8: 00000013 nop + 800004bc: 0a209733 clmul a4,ra,sp + 800004c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004c4: 00200293 li t0,2 + 800004c8: fe5212e3 bne tp,t0,800004ac + 800004cc: 06200393 li t2,98 + 800004d0: 18771c63 bne a4,t2,80000668 + +00000000800004d4 : + 800004d4: 01300193 li gp,19 + 800004d8: 00000213 li tp,0 + 800004dc: 00f00093 li ra,15 + 800004e0: 00000013 nop + 800004e4: 00000013 nop + 800004e8: 00b00113 li sp,11 + 800004ec: 0a209733 clmul a4,ra,sp + 800004f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004f4: 00200293 li t0,2 + 800004f8: fe5212e3 bne tp,t0,800004dc + 800004fc: 06900393 li t2,105 + 80000500: 16771463 bne a4,t2,80000668 + +0000000080000504 : + 80000504: 01400193 li gp,20 + 80000508: 00000213 li tp,0 + 8000050c: 00b00113 li sp,11 + 80000510: 00d00093 li ra,13 + 80000514: 0a209733 clmul a4,ra,sp + 80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000051c: 00200293 li t0,2 + 80000520: fe5216e3 bne tp,t0,8000050c + 80000524: 07f00393 li t2,127 + 80000528: 14771063 bne a4,t2,80000668 + +000000008000052c : + 8000052c: 01500193 li gp,21 + 80000530: 00000213 li tp,0 + 80000534: 00b00113 li sp,11 + 80000538: 00e00093 li ra,14 + 8000053c: 00000013 nop + 80000540: 0a209733 clmul a4,ra,sp + 80000544: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000548: 00200293 li t0,2 + 8000054c: fe5214e3 bne tp,t0,80000534 + 80000550: 06200393 li t2,98 + 80000554: 10771a63 bne a4,t2,80000668 + +0000000080000558 : + 80000558: 01600193 li gp,22 + 8000055c: 00000213 li tp,0 + 80000560: 00b00113 li sp,11 + 80000564: 00f00093 li ra,15 + 80000568: 00000013 nop + 8000056c: 00000013 nop + 80000570: 0a209733 clmul a4,ra,sp + 80000574: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000578: 00200293 li t0,2 + 8000057c: fe5212e3 bne tp,t0,80000560 + 80000580: 06900393 li t2,105 + 80000584: 0e771263 bne a4,t2,80000668 + +0000000080000588 : + 80000588: 01700193 li gp,23 + 8000058c: 00000213 li tp,0 + 80000590: 00b00113 li sp,11 + 80000594: 00000013 nop + 80000598: 00d00093 li ra,13 + 8000059c: 0a209733 clmul a4,ra,sp + 800005a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005a4: 00200293 li t0,2 + 800005a8: fe5214e3 bne tp,t0,80000590 + 800005ac: 07f00393 li t2,127 + 800005b0: 0a771c63 bne a4,t2,80000668 + +00000000800005b4 : + 800005b4: 01800193 li gp,24 + 800005b8: 00000213 li tp,0 + 800005bc: 00b00113 li sp,11 + 800005c0: 00000013 nop + 800005c4: 00e00093 li ra,14 + 800005c8: 00000013 nop + 800005cc: 0a209733 clmul a4,ra,sp + 800005d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005d4: 00200293 li t0,2 + 800005d8: fe5212e3 bne tp,t0,800005bc + 800005dc: 06200393 li t2,98 + 800005e0: 08771463 bne a4,t2,80000668 + +00000000800005e4 : + 800005e4: 01900193 li gp,25 + 800005e8: 00000213 li tp,0 + 800005ec: 00b00113 li sp,11 + 800005f0: 00000013 nop + 800005f4: 00000013 nop + 800005f8: 00f00093 li ra,15 + 800005fc: 0a209733 clmul a4,ra,sp + 80000600: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000604: 00200293 li t0,2 + 80000608: fe5212e3 bne tp,t0,800005ec + 8000060c: 06900393 li t2,105 + 80000610: 04771c63 bne a4,t2,80000668 + +0000000080000614 : + 80000614: 01a00193 li gp,26 + 80000618: 01f00093 li ra,31 + 8000061c: 0a101133 clmul sp,zero,ra + 80000620: 00000393 li t2,0 + 80000624: 04711263 bne sp,t2,80000668 + +0000000080000628 : + 80000628: 01b00193 li gp,27 + 8000062c: 02000093 li ra,32 + 80000630: 0a009133 clmul sp,ra,zero + 80000634: 00000393 li t2,0 + 80000638: 02711863 bne sp,t2,80000668 + +000000008000063c : + 8000063c: 01c00193 li gp,28 + 80000640: 0a0010b3 clmul ra,zero,zero + 80000644: 00000393 li t2,0 + 80000648: 02709063 bne ra,t2,80000668 + +000000008000064c : + 8000064c: 01d00193 li gp,29 + 80000650: 02100093 li ra,33 + 80000654: 02200113 li sp,34 + 80000658: 0a209033 clmul zero,ra,sp + 8000065c: 00000393 li t2,0 + 80000660: 00701463 bne zero,t2,80000668 + 80000664: 02301063 bne zero,gp,80000684 + +0000000080000668 : + 80000668: 0ff0000f fence + 8000066c: 00018063 beqz gp,8000066c + 80000670: 00119193 slli gp,gp,0x1 + 80000674: 0011e193 ori gp,gp,1 + 80000678: 05d00893 li a7,93 + 8000067c: 00018513 mv a0,gp + 80000680: 00000073 ecall + +0000000080000684 : + 80000684: 0ff0000f fence + 80000688: 00100193 li gp,1 + 8000068c: 05d00893 li a7,93 + 80000690: 00000513 li a0,0 + 80000694: 00000073 ecall + 80000698: c0001073 unimp + 8000069c: 0000 .insn 2, 0x + 8000069e: 0000 .insn 2, 0x + 800006a0: 0000 .insn 2, 0x + 800006a2: 0000 .insn 2, 0x + 800006a4: 0000 .insn 2, 0x + 800006a6: 0000 .insn 2, 0x + 800006a8: 0000 .insn 2, 0x + 800006aa: 0000 .insn 2, 0x + 800006ac: 0000 .insn 2, 0x + 800006ae: 0000 .insn 2, 0x + 800006b0: 0000 .insn 2, 0x + 800006b2: 0000 .insn 2, 0x + 800006b4: 0000 .insn 2, 0x + 800006b6: 0000 .insn 2, 0x + 800006b8: 0000 .insn 2, 0x + 800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmul.hex b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmul.hex new file mode 100644 index 0000000..2baad7b --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmul.hex @@ -0,0 +1,811 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +000085b702000193 +06db7637e005859b +00c61613db76061b +00c61613db760613 +00c61613db760613 +0ac59733db760613 +a003839b000063b7 +0210019348771c63 +fc05859b000085b7 +db76061b06db7637 +db76061300c61613 +db76061300c61613 +db76061300c61613 +000063b70ac59733 +44771e63b403839b +0000059300200193 +0ac5973300000613 +4477126300000393 +0010059300300193 +0ac5973300100613 +4277166300100393 +0030059300400193 +0ac5973300700613 +40771a6300900393 +0000059300500193 +0ac59733ffff8637 +3e771e6300000393 +800005b700600193 +0ac5973300000613 +3e77126300000393 +800005b700700193 +0ac59733ffff8637 +5553839b000153b7 +3c77126302e39393 +faaab5b701e00193 +00c59593aab5859b +00c59593aab58593 +00c59593aab58593 +00030637aab58593 +0ac59733e7d6061b +24f3839bfffc33b7 +01f0019338771463 +e7d5859b000305b7 +aab6061bfaaab637 +aab6061300c61613 +aab6061300c61613 +aab6061300c61613 +fffc33b70ac59733 +3477166324f3839b +00d0059300800193 +0ac595b300b00613 +32759a6307f00393 +00e0059300900193 +0ac5963300b00613 +30761e6306200393 +00d0059300a00193 +051003930ab595b3 +00b0019330759463 +00d0009300000213 +0a20973300b00113 +0012021300070313 +fe5214e300200293 +2c731e6307f00393 +0000021300c00193 +00b0011300e00093 +000000130a209733 +0012021300070313 +fe5212e300200293 +2a73166306200393 +0000021300d00193 +00b0011300f00093 +000000130a209733 +0007031300000013 +0020029300120213 +06900393fe5210e3 +00e0019326731c63 +00d0009300000213 +0a20973300b00113 +0020029300120213 +07f00393fe5216e3 +00f0019324771863 +00e0009300000213 +0000001300b00113 +001202130a209733 +fe5214e300200293 +2277126306200393 +0000021301000193 +00b0011300f00093 +0000001300000013 +001202130a209733 +fe5212e300200293 +1e771a6306900393 +0000021301100193 +0000001300d00093 +0a20973300b00113 +0020029300120213 +07f00393fe5214e3 +012001931c771463 +00e0009300000213 +00b0011300000013 +0a20973300000013 +0020029300120213 +06200393fe5212e3 +0130019318771c63 +00f0009300000213 +0000001300000013 +0a20973300b00113 +0020029300120213 +06900393fe5212e3 +0140019316771463 +00b0011300000213 +0a20973300d00093 +0020029300120213 +07f00393fe5216e3 +0150019314771063 +00b0011300000213 +0000001300e00093 +001202130a209733 +fe5214e300200293 +10771a6306200393 +0000021301600193 +00f0009300b00113 +0000001300000013 +001202130a209733 +fe5212e300200293 +0e77126306900393 +0000021301700193 +0000001300b00113 +0a20973300d00093 +0020029300120213 +07f00393fe5214e3 +018001930a771c63 +00b0011300000213 +00e0009300000013 +0a20973300000013 +0020029300120213 +06200393fe5212e3 +0190019308771463 +00b0011300000213 +0000001300000013 +0a20973300f00093 +0020029300120213 +06900393fe5212e3 +01a0019304771c63 +0a10113301f00093 +0471126300000393 +0200009301b00193 +000003930a009133 +01c0019302711863 +000003930a0010b3 +01d0019302709063 +0220011302100093 +000003930a209033 +0230106300701463 +000180630ff0000f +0011e19300119193 +0001851305d00893 +0ff0000f00000073 +05d0089300100193 +0000007300000513 +00000000c0001073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3163627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a4 +0000000080000668 +0000000000000000 +00010000000000a9 +00000000800001d4 +0000000000000000 +00010000000000b1 +0000000080000210 +0000000000000000 +00010000000000b8 +0000000080000228 +0000000000000000 +00010000000000bf +0000000080000240 +0000000000000000 +00010000000000c6 +0000000080000258 +0000000000000000 +00010000000000cd +0000000080000270 +0000000000000000 +00010000000000d4 +0000000080000288 +0000000000000000 +00010000000000db +00000000800002a8 +0000000000000000 +00010000000000e3 +00000000800002e4 +0000000000000000 +00010000000000eb +0000000080000320 +0000000000000000 +00010000000000f2 +0000000080000338 +0000000000000000 +00010000000000f9 +0000000080000350 +0000000000000000 +0001000000000101 +0000000080000364 +0000000000000000 +0001000000000109 +0000000080000390 +0000000000000000 +0001000000000111 +00000000800003c0 +0000000000000000 +0001000000000119 +00000000800003f4 +0000000000000000 +0001000000000121 +000000008000041c +0000000000000000 +0001000000000129 +0000000080000448 +0000000000000000 +0001000000000131 +0000000080000478 +0000000000000000 +0001000000000139 +00000000800004a4 +0000000000000000 +0001000000000141 +00000000800004d4 +0000000000000000 +0001000000000149 +0000000080000504 +0000000000000000 +0001000000000151 +000000008000052c +0000000000000000 +0001000000000159 +0000000080000558 +0000000000000000 +0001000000000161 +0000000080000588 +0000000000000000 +0001000000000169 +00000000800005b4 +0000000000000000 +0001000000000171 +00000000800005e4 +0000000000000000 +0001000000000179 +0000000080000614 +0000000000000000 +0001000000000181 +0000000080000628 +0000000000000000 +0001000000000189 +000000008000063c +0000000000000000 +0001000000000191 +000000008000064c +0000000000000000 +0001000000000199 +0000000080000684 +0000000000000000 +000200100000019e +0000000080002000 +0000000000000000 +00020010000001ac +0000000080002000 +0000000000000000 +00010010000001bc +0000000080000000 +0000000000000000 +00020010000001c3 +0000000080002000 +0000000000000000 +00020010000001c8 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +3062327a32636300 +76727824006f2e73 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703163627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +6c6961660032335f +33335f7473657400 +00325f7473657400 +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +5f74736574003033 +5f74736574003133 +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006bc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +00000000000004e0 +0000002e00000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +0000000000002580 +00000000000001d1 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002751 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulh.dump b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulh.dump new file mode 100644 index 0000000..d57b344 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulh.dump @@ -0,0 +1,519 @@ + +rv64uzbc-p-clmulh: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 02000193 li gp,32 + 8000019c: 000085b7 lui a1,0x8 + 800001a0: e005859b addiw a1,a1,-512 # 7e00 <_start-0x7fff8200> + 800001a4: 06db7637 lui a2,0x6db7 + 800001a8: db76061b addiw a2,a2,-585 # 6db6db7 <_start-0x79249249> + 800001ac: 00c61613 slli a2,a2,0xc + 800001b0: db760613 addi a2,a2,-585 + 800001b4: 00c61613 slli a2,a2,0xc + 800001b8: db760613 addi a2,a2,-585 + 800001bc: 00c61613 slli a2,a2,0xc + 800001c0: db760613 addi a2,a2,-585 + 800001c4: 0ac5b733 clmulh a4,a1,a2 + 800001c8: 000013b7 lui t2,0x1 + 800001cc: 2003839b addiw t2,t2,512 # 1200 <_start-0x7fffee00> + 800001d0: 4a771663 bne a4,t2,8000067c + +00000000800001d4 : + 800001d4: 02100193 li gp,33 + 800001d8: 000085b7 lui a1,0x8 + 800001dc: fc05859b addiw a1,a1,-64 # 7fc0 <_start-0x7fff8040> + 800001e0: 06db7637 lui a2,0x6db7 + 800001e4: db76061b addiw a2,a2,-585 # 6db6db7 <_start-0x79249249> + 800001e8: 00c61613 slli a2,a2,0xc + 800001ec: db760613 addi a2,a2,-585 + 800001f0: 00c61613 slli a2,a2,0xc + 800001f4: db760613 addi a2,a2,-585 + 800001f8: 00c61613 slli a2,a2,0xc + 800001fc: db760613 addi a2,a2,-585 + 80000200: 0ac5b733 clmulh a4,a1,a2 + 80000204: 000013b7 lui t2,0x1 + 80000208: 2403839b addiw t2,t2,576 # 1240 <_start-0x7fffedc0> + 8000020c: 46771863 bne a4,t2,8000067c + +0000000080000210 : + 80000210: 00200193 li gp,2 + 80000214: 00000593 li a1,0 + 80000218: 00000613 li a2,0 + 8000021c: 0ac5b733 clmulh a4,a1,a2 + 80000220: 00000393 li t2,0 + 80000224: 44771c63 bne a4,t2,8000067c + +0000000080000228 : + 80000228: 00300193 li gp,3 + 8000022c: 00100593 li a1,1 + 80000230: 00100613 li a2,1 + 80000234: 0ac5b733 clmulh a4,a1,a2 + 80000238: 00000393 li t2,0 + 8000023c: 44771063 bne a4,t2,8000067c + +0000000080000240 : + 80000240: 00400193 li gp,4 + 80000244: 00300593 li a1,3 + 80000248: 00700613 li a2,7 + 8000024c: 0ac5b733 clmulh a4,a1,a2 + 80000250: 00000393 li t2,0 + 80000254: 42771463 bne a4,t2,8000067c + +0000000080000258 : + 80000258: 00500193 li gp,5 + 8000025c: 00000593 li a1,0 + 80000260: ffff8637 lui a2,0xffff8 + 80000264: 0ac5b733 clmulh a4,a1,a2 + 80000268: 00000393 li t2,0 + 8000026c: 40771863 bne a4,t2,8000067c + +0000000080000270 : + 80000270: 00600193 li gp,6 + 80000274: 800005b7 lui a1,0x80000 + 80000278: 00000613 li a2,0 + 8000027c: 0ac5b733 clmulh a4,a1,a2 + 80000280: 00000393 li t2,0 + 80000284: 3e771c63 bne a4,t2,8000067c + +0000000080000288 : + 80000288: 00700193 li gp,7 + 8000028c: 800005b7 lui a1,0x80000 + 80000290: ffff8637 lui a2,0xffff8 + 80000294: 0ac5b733 clmulh a4,a1,a2 + 80000298: 000ab3b7 lui t2,0xab + 8000029c: aab3839b addiw t2,t2,-1365 # aaaab <_start-0x7ff55555> + 800002a0: 00c39393 slli t2,t2,0xc + 800002a4: aab38393 addi t2,t2,-1365 + 800002a8: 01339393 slli t2,t2,0x13 + 800002ac: ffd38393 addi t2,t2,-3 + 800002b0: 00c39393 slli t2,t2,0xc + 800002b4: 55538393 addi t2,t2,1365 + 800002b8: 3c771263 bne a4,t2,8000067c + +00000000800002bc : + 800002bc: 01e00193 li gp,30 + 800002c0: faaab5b7 lui a1,0xfaaab + 800002c4: aab5859b addiw a1,a1,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab> + 800002c8: 00c59593 slli a1,a1,0xc + 800002cc: aab58593 addi a1,a1,-1365 + 800002d0: 00c59593 slli a1,a1,0xc + 800002d4: aab58593 addi a1,a1,-1365 + 800002d8: 00c59593 slli a1,a1,0xc + 800002dc: aab58593 addi a1,a1,-1365 + 800002e0: 00030637 lui a2,0x30 + 800002e4: e7d6061b addiw a2,a2,-387 # 2fe7d <_start-0x7ffd0183> + 800002e8: 0ac5b733 clmulh a4,a1,a2 + 800002ec: 000133b7 lui t2,0x13 + 800002f0: 3cd3839b addiw t2,t2,973 # 133cd <_start-0x7ffecc33> + 800002f4: 38771463 bne a4,t2,8000067c + +00000000800002f8 : + 800002f8: 01f00193 li gp,31 + 800002fc: 000305b7 lui a1,0x30 + 80000300: e7d5859b addiw a1,a1,-387 # 2fe7d <_start-0x7ffd0183> + 80000304: faaab637 lui a2,0xfaaab + 80000308: aab6061b addiw a2,a2,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab> + 8000030c: 00c61613 slli a2,a2,0xc + 80000310: aab60613 addi a2,a2,-1365 + 80000314: 00c61613 slli a2,a2,0xc + 80000318: aab60613 addi a2,a2,-1365 + 8000031c: 00c61613 slli a2,a2,0xc + 80000320: aab60613 addi a2,a2,-1365 + 80000324: 0ac5b733 clmulh a4,a1,a2 + 80000328: 000133b7 lui t2,0x13 + 8000032c: 3cd3839b addiw t2,t2,973 # 133cd <_start-0x7ffecc33> + 80000330: 34771663 bne a4,t2,8000067c + +0000000080000334 : + 80000334: 00800193 li gp,8 + 80000338: 00d00593 li a1,13 + 8000033c: 00b00613 li a2,11 + 80000340: 0ac5b5b3 clmulh a1,a1,a2 + 80000344: 00000393 li t2,0 + 80000348: 32759a63 bne a1,t2,8000067c + +000000008000034c : + 8000034c: 00900193 li gp,9 + 80000350: 00e00593 li a1,14 + 80000354: 00b00613 li a2,11 + 80000358: 0ac5b633 clmulh a2,a1,a2 + 8000035c: 00000393 li t2,0 + 80000360: 30761e63 bne a2,t2,8000067c + +0000000080000364 : + 80000364: 00a00193 li gp,10 + 80000368: 00d00593 li a1,13 + 8000036c: 0ab5b5b3 clmulh a1,a1,a1 + 80000370: 00000393 li t2,0 + 80000374: 30759463 bne a1,t2,8000067c + +0000000080000378 : + 80000378: 00b00193 li gp,11 + 8000037c: 00000213 li tp,0 + 80000380: 00d00093 li ra,13 + 80000384: 00b00113 li sp,11 + 80000388: 0a20b733 clmulh a4,ra,sp + 8000038c: 00070313 mv t1,a4 + 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000394: 00200293 li t0,2 + 80000398: fe5214e3 bne tp,t0,80000380 + 8000039c: 00000393 li t2,0 + 800003a0: 2c731e63 bne t1,t2,8000067c + +00000000800003a4 : + 800003a4: 00c00193 li gp,12 + 800003a8: 00000213 li tp,0 + 800003ac: 00e00093 li ra,14 + 800003b0: 00b00113 li sp,11 + 800003b4: 0a20b733 clmulh a4,ra,sp + 800003b8: 00000013 nop + 800003bc: 00070313 mv t1,a4 + 800003c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003c4: 00200293 li t0,2 + 800003c8: fe5212e3 bne tp,t0,800003ac + 800003cc: 00000393 li t2,0 + 800003d0: 2a731663 bne t1,t2,8000067c + +00000000800003d4 : + 800003d4: 00d00193 li gp,13 + 800003d8: 00000213 li tp,0 + 800003dc: 00f00093 li ra,15 + 800003e0: 00b00113 li sp,11 + 800003e4: 0a20b733 clmulh a4,ra,sp + 800003e8: 00000013 nop + 800003ec: 00000013 nop + 800003f0: 00070313 mv t1,a4 + 800003f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f8: 00200293 li t0,2 + 800003fc: fe5210e3 bne tp,t0,800003dc + 80000400: 00000393 li t2,0 + 80000404: 26731c63 bne t1,t2,8000067c + +0000000080000408 : + 80000408: 00e00193 li gp,14 + 8000040c: 00000213 li tp,0 + 80000410: 00d00093 li ra,13 + 80000414: 00b00113 li sp,11 + 80000418: 0a20b733 clmulh a4,ra,sp + 8000041c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000420: 00200293 li t0,2 + 80000424: fe5216e3 bne tp,t0,80000410 + 80000428: 00000393 li t2,0 + 8000042c: 24771863 bne a4,t2,8000067c + +0000000080000430 : + 80000430: 00f00193 li gp,15 + 80000434: 00000213 li tp,0 + 80000438: 00e00093 li ra,14 + 8000043c: 00b00113 li sp,11 + 80000440: 00000013 nop + 80000444: 0a20b733 clmulh a4,ra,sp + 80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000044c: 00200293 li t0,2 + 80000450: fe5214e3 bne tp,t0,80000438 + 80000454: 00000393 li t2,0 + 80000458: 22771263 bne a4,t2,8000067c + +000000008000045c : + 8000045c: 01000193 li gp,16 + 80000460: 00000213 li tp,0 + 80000464: 00f00093 li ra,15 + 80000468: 00b00113 li sp,11 + 8000046c: 00000013 nop + 80000470: 00000013 nop + 80000474: 0a20b733 clmulh a4,ra,sp + 80000478: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000047c: 00200293 li t0,2 + 80000480: fe5212e3 bne tp,t0,80000464 + 80000484: 00000393 li t2,0 + 80000488: 1e771a63 bne a4,t2,8000067c + +000000008000048c : + 8000048c: 01100193 li gp,17 + 80000490: 00000213 li tp,0 + 80000494: 00d00093 li ra,13 + 80000498: 00000013 nop + 8000049c: 00b00113 li sp,11 + 800004a0: 0a20b733 clmulh a4,ra,sp + 800004a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a8: 00200293 li t0,2 + 800004ac: fe5214e3 bne tp,t0,80000494 + 800004b0: 00000393 li t2,0 + 800004b4: 1c771463 bne a4,t2,8000067c + +00000000800004b8 : + 800004b8: 01200193 li gp,18 + 800004bc: 00000213 li tp,0 + 800004c0: 00e00093 li ra,14 + 800004c4: 00000013 nop + 800004c8: 00b00113 li sp,11 + 800004cc: 00000013 nop + 800004d0: 0a20b733 clmulh a4,ra,sp + 800004d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d8: 00200293 li t0,2 + 800004dc: fe5212e3 bne tp,t0,800004c0 + 800004e0: 00000393 li t2,0 + 800004e4: 18771c63 bne a4,t2,8000067c + +00000000800004e8 : + 800004e8: 01300193 li gp,19 + 800004ec: 00000213 li tp,0 + 800004f0: 00f00093 li ra,15 + 800004f4: 00000013 nop + 800004f8: 00000013 nop + 800004fc: 00b00113 li sp,11 + 80000500: 0a20b733 clmulh a4,ra,sp + 80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000508: 00200293 li t0,2 + 8000050c: fe5212e3 bne tp,t0,800004f0 + 80000510: 00000393 li t2,0 + 80000514: 16771463 bne a4,t2,8000067c + +0000000080000518 : + 80000518: 01400193 li gp,20 + 8000051c: 00000213 li tp,0 + 80000520: 00b00113 li sp,11 + 80000524: 00d00093 li ra,13 + 80000528: 0a20b733 clmulh a4,ra,sp + 8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000530: 00200293 li t0,2 + 80000534: fe5216e3 bne tp,t0,80000520 + 80000538: 00000393 li t2,0 + 8000053c: 14771063 bne a4,t2,8000067c + +0000000080000540 : + 80000540: 01500193 li gp,21 + 80000544: 00000213 li tp,0 + 80000548: 00b00113 li sp,11 + 8000054c: 00e00093 li ra,14 + 80000550: 00000013 nop + 80000554: 0a20b733 clmulh a4,ra,sp + 80000558: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000055c: 00200293 li t0,2 + 80000560: fe5214e3 bne tp,t0,80000548 + 80000564: 00000393 li t2,0 + 80000568: 10771a63 bne a4,t2,8000067c + +000000008000056c : + 8000056c: 01600193 li gp,22 + 80000570: 00000213 li tp,0 + 80000574: 00b00113 li sp,11 + 80000578: 00f00093 li ra,15 + 8000057c: 00000013 nop + 80000580: 00000013 nop + 80000584: 0a20b733 clmulh a4,ra,sp + 80000588: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000058c: 00200293 li t0,2 + 80000590: fe5212e3 bne tp,t0,80000574 + 80000594: 00000393 li t2,0 + 80000598: 0e771263 bne a4,t2,8000067c + +000000008000059c : + 8000059c: 01700193 li gp,23 + 800005a0: 00000213 li tp,0 + 800005a4: 00b00113 li sp,11 + 800005a8: 00000013 nop + 800005ac: 00d00093 li ra,13 + 800005b0: 0a20b733 clmulh a4,ra,sp + 800005b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005b8: 00200293 li t0,2 + 800005bc: fe5214e3 bne tp,t0,800005a4 + 800005c0: 00000393 li t2,0 + 800005c4: 0a771c63 bne a4,t2,8000067c + +00000000800005c8 : + 800005c8: 01800193 li gp,24 + 800005cc: 00000213 li tp,0 + 800005d0: 00b00113 li sp,11 + 800005d4: 00000013 nop + 800005d8: 00e00093 li ra,14 + 800005dc: 00000013 nop + 800005e0: 0a20b733 clmulh a4,ra,sp + 800005e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005e8: 00200293 li t0,2 + 800005ec: fe5212e3 bne tp,t0,800005d0 + 800005f0: 00000393 li t2,0 + 800005f4: 08771463 bne a4,t2,8000067c + +00000000800005f8 : + 800005f8: 01900193 li gp,25 + 800005fc: 00000213 li tp,0 + 80000600: 00b00113 li sp,11 + 80000604: 00000013 nop + 80000608: 00000013 nop + 8000060c: 00f00093 li ra,15 + 80000610: 0a20b733 clmulh a4,ra,sp + 80000614: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000618: 00200293 li t0,2 + 8000061c: fe5212e3 bne tp,t0,80000600 + 80000620: 00000393 li t2,0 + 80000624: 04771c63 bne a4,t2,8000067c + +0000000080000628 : + 80000628: 01a00193 li gp,26 + 8000062c: 01f00093 li ra,31 + 80000630: 0a103133 clmulh sp,zero,ra + 80000634: 00000393 li t2,0 + 80000638: 04711263 bne sp,t2,8000067c + +000000008000063c : + 8000063c: 01b00193 li gp,27 + 80000640: 02000093 li ra,32 + 80000644: 0a00b133 clmulh sp,ra,zero + 80000648: 00000393 li t2,0 + 8000064c: 02711863 bne sp,t2,8000067c + +0000000080000650 : + 80000650: 01c00193 li gp,28 + 80000654: 0a0030b3 clmulh ra,zero,zero + 80000658: 00000393 li t2,0 + 8000065c: 02709063 bne ra,t2,8000067c + +0000000080000660 : + 80000660: 01d00193 li gp,29 + 80000664: 02100093 li ra,33 + 80000668: 02200113 li sp,34 + 8000066c: 0a20b033 clmulh zero,ra,sp + 80000670: 00000393 li t2,0 + 80000674: 00701463 bne zero,t2,8000067c + 80000678: 02301063 bne zero,gp,80000698 + +000000008000067c : + 8000067c: 0ff0000f fence + 80000680: 00018063 beqz gp,80000680 + 80000684: 00119193 slli gp,gp,0x1 + 80000688: 0011e193 ori gp,gp,1 + 8000068c: 05d00893 li a7,93 + 80000690: 00018513 mv a0,gp + 80000694: 00000073 ecall + +0000000080000698 : + 80000698: 0ff0000f fence + 8000069c: 00100193 li gp,1 + 800006a0: 05d00893 li a7,93 + 800006a4: 00000513 li a0,0 + 800006a8: 00000073 ecall + 800006ac: c0001073 unimp + 800006b0: 0000 .insn 2, 0x + 800006b2: 0000 .insn 2, 0x + 800006b4: 0000 .insn 2, 0x + 800006b6: 0000 .insn 2, 0x + 800006b8: 0000 .insn 2, 0x + 800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulh.hex b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulh.hex new file mode 100644 index 0000000..2a475af --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulh.hex @@ -0,0 +1,811 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +000085b702000193 +06db7637e005859b +00c61613db76061b +00c61613db760613 +00c61613db760613 +0ac5b733db760613 +2003839b000013b7 +021001934a771663 +fc05859b000085b7 +db76061b06db7637 +db76061300c61613 +db76061300c61613 +db76061300c61613 +000013b70ac5b733 +467718632403839b +0000059300200193 +0ac5b73300000613 +44771c6300000393 +0010059300300193 +0ac5b73300100613 +4477106300000393 +0030059300400193 +0ac5b73300700613 +4277146300000393 +0000059300500193 +0ac5b733ffff8637 +4077186300000393 +800005b700600193 +0ac5b73300000613 +3e771c6300000393 +800005b700700193 +0ac5b733ffff8637 +aab3839b000ab3b7 +aab3839300c39393 +ffd3839301339393 +5553839300c39393 +01e001933c771263 +aab5859bfaaab5b7 +aab5859300c59593 +aab5859300c59593 +aab5859300c59593 +e7d6061b00030637 +000133b70ac5b733 +387714633cd3839b +000305b701f00193 +faaab637e7d5859b +00c61613aab6061b +00c61613aab60613 +00c61613aab60613 +0ac5b733aab60613 +3cd3839b000133b7 +0080019334771663 +00b0061300d00593 +000003930ac5b5b3 +0090019332759a63 +00b0061300e00593 +000003930ac5b633 +00a0019330761e63 +0ab5b5b300d00593 +3075946300000393 +0000021300b00193 +00b0011300d00093 +000703130a20b733 +0020029300120213 +00000393fe5214e3 +00c001932c731e63 +00e0009300000213 +0a20b73300b00113 +0007031300000013 +0020029300120213 +00000393fe5212e3 +00d001932a731663 +00f0009300000213 +0a20b73300b00113 +0000001300000013 +0012021300070313 +fe5210e300200293 +26731c6300000393 +0000021300e00193 +00b0011300d00093 +001202130a20b733 +fe5216e300200293 +2477186300000393 +0000021300f00193 +00b0011300e00093 +0a20b73300000013 +0020029300120213 +00000393fe5214e3 +0100019322771263 +00f0009300000213 +0000001300b00113 +0a20b73300000013 +0020029300120213 +00000393fe5212e3 +011001931e771a63 +00d0009300000213 +00b0011300000013 +001202130a20b733 +fe5214e300200293 +1c77146300000393 +0000021301200193 +0000001300e00093 +0000001300b00113 +001202130a20b733 +fe5212e300200293 +18771c6300000393 +0000021301300193 +0000001300f00093 +00b0011300000013 +001202130a20b733 +fe5212e300200293 +1677146300000393 +0000021301400193 +00d0009300b00113 +001202130a20b733 +fe5216e300200293 +1477106300000393 +0000021301500193 +00e0009300b00113 +0a20b73300000013 +0020029300120213 +00000393fe5214e3 +0160019310771a63 +00b0011300000213 +0000001300f00093 +0a20b73300000013 +0020029300120213 +00000393fe5212e3 +017001930e771263 +00b0011300000213 +00d0009300000013 +001202130a20b733 +fe5214e300200293 +0a771c6300000393 +0000021301800193 +0000001300b00113 +0000001300e00093 +001202130a20b733 +fe5212e300200293 +0877146300000393 +0000021301900193 +0000001300b00113 +00f0009300000013 +001202130a20b733 +fe5212e300200293 +04771c6300000393 +01f0009301a00193 +000003930a103133 +01b0019304711263 +0a00b13302000093 +0271186300000393 +0a0030b301c00193 +0270906300000393 +0210009301d00193 +0a20b03302200113 +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3163627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a4 +000000008000067c +0000000000000000 +00010000000000a9 +00000000800001d4 +0000000000000000 +00010000000000b1 +0000000080000210 +0000000000000000 +00010000000000b8 +0000000080000228 +0000000000000000 +00010000000000bf +0000000080000240 +0000000000000000 +00010000000000c6 +0000000080000258 +0000000000000000 +00010000000000cd +0000000080000270 +0000000000000000 +00010000000000d4 +0000000080000288 +0000000000000000 +00010000000000db +00000000800002bc +0000000000000000 +00010000000000e3 +00000000800002f8 +0000000000000000 +00010000000000eb +0000000080000334 +0000000000000000 +00010000000000f2 +000000008000034c +0000000000000000 +00010000000000f9 +0000000080000364 +0000000000000000 +0001000000000101 +0000000080000378 +0000000000000000 +0001000000000109 +00000000800003a4 +0000000000000000 +0001000000000111 +00000000800003d4 +0000000000000000 +0001000000000119 +0000000080000408 +0000000000000000 +0001000000000121 +0000000080000430 +0000000000000000 +0001000000000129 +000000008000045c +0000000000000000 +0001000000000131 +000000008000048c +0000000000000000 +0001000000000139 +00000000800004b8 +0000000000000000 +0001000000000141 +00000000800004e8 +0000000000000000 +0001000000000149 +0000000080000518 +0000000000000000 +0001000000000151 +0000000080000540 +0000000000000000 +0001000000000159 +000000008000056c +0000000000000000 +0001000000000161 +000000008000059c +0000000000000000 +0001000000000169 +00000000800005c8 +0000000000000000 +0001000000000171 +00000000800005f8 +0000000000000000 +0001000000000179 +0000000080000628 +0000000000000000 +0001000000000181 +000000008000063c +0000000000000000 +0001000000000189 +0000000080000650 +0000000000000000 +0001000000000191 +0000000080000660 +0000000000000000 +0001000000000199 +0000000080000698 +0000000000000000 +000200100000019e +0000000080002000 +0000000000000000 +00020010000001ac +0000000080002000 +0000000000000000 +00010010000001bc +0000000080000000 +0000000000000000 +00020010000001c3 +0000000080002000 +0000000000000000 +00020010000001c8 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +474c633434636300 +76727824006f2e42 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703163627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +6c6961660032335f +33335f7473657400 +00325f7473657400 +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +5f74736574003033 +5f74736574003133 +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006bc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +00000000000004e0 +0000002e00000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +0000000000002580 +00000000000001d1 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002751 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000 diff --git a/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulr.dump b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulr.dump new file mode 100644 index 0000000..41eafee --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulr.dump @@ -0,0 +1,521 @@ + +rv64uzbc-p-clmulr: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 0580006f j 80000058 + +0000000080000004 : + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0863 beq t5,t6,8000003c + 80000010: 00900f93 li t6,9 + 80000014: 03ff0463 beq t5,t6,8000003c + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0063 beq t5,t6,8000003c + 80000020: 00000f13 li t5,0 + 80000024: 000f0463 beqz t5,8000002c + 80000028: 000f0067 jr t5 + 8000002c: 34202f73 csrr t5,mcause + 80000030: 000f5463 bgez t5,80000038 + 80000034: 0040006f j 80000038 + +0000000080000038 : + 80000038: 5391e193 ori gp,gp,1337 + +000000008000003c : + 8000003c: 00001f17 auipc t5,0x1 + 80000040: fc3f2223 sw gp,-60(t5) # 80001000 + 80000044: 00001f17 auipc t5,0x1 + 80000048: fc0f2023 sw zero,-64(t5) # 80001004 + 8000004c: 0080006f j 80000054 + 80000050: fedff06f j 8000003c + +0000000080000054 : + 80000054: 0000006f j 80000054 + +0000000080000058 : + 80000058: 00000093 li ra,0 + 8000005c: 00000113 li sp,0 + 80000060: 00000193 li gp,0 + 80000064: 00000213 li tp,0 + 80000068: 00000293 li t0,0 + 8000006c: 00000313 li t1,0 + 80000070: 00000393 li t2,0 + 80000074: 00000413 li s0,0 + 80000078: 00000493 li s1,0 + 8000007c: 00000513 li a0,0 + 80000080: 00000593 li a1,0 + 80000084: 00000613 li a2,0 + 80000088: 00000693 li a3,0 + 8000008c: 00000713 li a4,0 + 80000090: 00000793 li a5,0 + 80000094: 00000813 li a6,0 + 80000098: 00000893 li a7,0 + 8000009c: 00000913 li s2,0 + 800000a0: 00000993 li s3,0 + 800000a4: 00000a13 li s4,0 + 800000a8: 00000a93 li s5,0 + 800000ac: 00000b13 li s6,0 + 800000b0: 00000b93 li s7,0 + 800000b4: 00000c13 li s8,0 + 800000b8: 00000c93 li s9,0 + 800000bc: 00000d13 li s10,0 + 800000c0: 00000d93 li s11,0 + 800000c4: 00000e13 li t3,0 + 800000c8: 00000e93 li t4,0 + 800000cc: 00000f13 li t5,0 + 800000d0: 00000f93 li t6,0 + 800000d4: f1402573 csrr a0,mhartid + 800000d8: 00051063 bnez a0,800000d8 + 800000dc: 00000297 auipc t0,0x0 + 800000e0: 01028293 addi t0,t0,16 # 800000ec + 800000e4: 30529073 csrw mtvec,t0 + 800000e8: 74445073 csrwi 0x744,8 + 800000ec: 00000297 auipc t0,0x0 + 800000f0: 01028293 addi t0,t0,16 # 800000fc + 800000f4: 30529073 csrw mtvec,t0 + 800000f8: 18005073 csrwi satp,0 + 800000fc: 00000297 auipc t0,0x0 + 80000100: 02428293 addi t0,t0,36 # 80000120 + 80000104: 30529073 csrw mtvec,t0 + 80000108: 0010029b addiw t0,zero,1 + 8000010c: 03529293 slli t0,t0,0x35 + 80000110: fff28293 addi t0,t0,-1 + 80000114: 3b029073 csrw pmpaddr0,t0 + 80000118: 01f00293 li t0,31 + 8000011c: 3a029073 csrw pmpcfg0,t0 + 80000120: 30405073 csrwi mie,0 + 80000124: 00000297 auipc t0,0x0 + 80000128: 01428293 addi t0,t0,20 # 80000138 + 8000012c: 30529073 csrw mtvec,t0 + 80000130: 30205073 csrwi medeleg,0 + 80000134: 30305073 csrwi mideleg,0 + 80000138: 00000193 li gp,0 + 8000013c: 00000297 auipc t0,0x0 + 80000140: ec828293 addi t0,t0,-312 # 80000004 + 80000144: 30529073 csrw mtvec,t0 + 80000148: 00100513 li a0,1 + 8000014c: 01f51513 slli a0,a0,0x1f + 80000150: 00055c63 bgez a0,80000168 + 80000154: 0ff0000f fence + 80000158: 00100193 li gp,1 + 8000015c: 05d00893 li a7,93 + 80000160: 00000513 li a0,0 + 80000164: 00000073 ecall + 80000168: 00000293 li t0,0 + 8000016c: 00028a63 beqz t0,80000180 + 80000170: 10529073 csrw stvec,t0 + 80000174: 0000b2b7 lui t0,0xb + 80000178: 1092829b addiw t0,t0,265 # b109 <_start-0x7fff4ef7> + 8000017c: 30229073 csrw medeleg,t0 + 80000180: 30005073 csrwi mstatus,0 + 80000184: 00000297 auipc t0,0x0 + 80000188: 01428293 addi t0,t0,20 # 80000198 + 8000018c: 34129073 csrw mepc,t0 + 80000190: f1402573 csrr a0,mhartid + 80000194: 30200073 mret + +0000000080000198 : + 80000198: 02000193 li gp,32 + 8000019c: 000085b7 lui a1,0x8 + 800001a0: e005859b addiw a1,a1,-512 # 7e00 <_start-0x7fff8200> + 800001a4: 06db7637 lui a2,0x6db7 + 800001a8: db76061b addiw a2,a2,-585 # 6db6db7 <_start-0x79249249> + 800001ac: 00c61613 slli a2,a2,0xc + 800001b0: db760613 addi a2,a2,-585 + 800001b4: 00c61613 slli a2,a2,0xc + 800001b8: db760613 addi a2,a2,-585 + 800001bc: 00c61613 slli a2,a2,0xc + 800001c0: db760613 addi a2,a2,-585 + 800001c4: 0ac5a733 clmulr a4,a1,a2 + 800001c8: 000023b7 lui t2,0x2 + 800001cc: 4003839b addiw t2,t2,1024 # 2400 <_start-0x7fffdc00> + 800001d0: 4a771263 bne a4,t2,80000674 + +00000000800001d4 : + 800001d4: 02100193 li gp,33 + 800001d8: 000085b7 lui a1,0x8 + 800001dc: fc05859b addiw a1,a1,-64 # 7fc0 <_start-0x7fff8040> + 800001e0: 06db7637 lui a2,0x6db7 + 800001e4: db76061b addiw a2,a2,-585 # 6db6db7 <_start-0x79249249> + 800001e8: 00c61613 slli a2,a2,0xc + 800001ec: db760613 addi a2,a2,-585 + 800001f0: 00c61613 slli a2,a2,0xc + 800001f4: db760613 addi a2,a2,-585 + 800001f8: 00c61613 slli a2,a2,0xc + 800001fc: db760613 addi a2,a2,-585 + 80000200: 0ac5a733 clmulr a4,a1,a2 + 80000204: 000023b7 lui t2,0x2 + 80000208: 4803839b addiw t2,t2,1152 # 2480 <_start-0x7fffdb80> + 8000020c: 46771463 bne a4,t2,80000674 + +0000000080000210 : + 80000210: 00200193 li gp,2 + 80000214: 00000593 li a1,0 + 80000218: 00000613 li a2,0 + 8000021c: 0ac5a733 clmulr a4,a1,a2 + 80000220: 00000393 li t2,0 + 80000224: 44771863 bne a4,t2,80000674 + +0000000080000228 : + 80000228: 00300193 li gp,3 + 8000022c: 00100593 li a1,1 + 80000230: 00100613 li a2,1 + 80000234: 0ac5a733 clmulr a4,a1,a2 + 80000238: 00000393 li t2,0 + 8000023c: 42771c63 bne a4,t2,80000674 + +0000000080000240 : + 80000240: 00400193 li gp,4 + 80000244: 00300593 li a1,3 + 80000248: 00700613 li a2,7 + 8000024c: 0ac5a733 clmulr a4,a1,a2 + 80000250: 00000393 li t2,0 + 80000254: 42771063 bne a4,t2,80000674 + +0000000080000258 : + 80000258: 00500193 li gp,5 + 8000025c: 00000593 li a1,0 + 80000260: ffff8637 lui a2,0xffff8 + 80000264: 0ac5a733 clmulr a4,a1,a2 + 80000268: 00000393 li t2,0 + 8000026c: 40771463 bne a4,t2,80000674 + +0000000080000270 : + 80000270: 00600193 li gp,6 + 80000274: 800005b7 lui a1,0x80000 + 80000278: 00000613 li a2,0 + 8000027c: 0ac5a733 clmulr a4,a1,a2 + 80000280: 00000393 li t2,0 + 80000284: 3e771863 bne a4,t2,80000674 + +0000000080000288 : + 80000288: 00700193 li gp,7 + 8000028c: 800005b7 lui a1,0x80000 + 80000290: ffff8637 lui a2,0xffff8 + 80000294: 0ac5a733 clmulr a4,a1,a2 + 80000298: aaaab3b7 lui t2,0xaaaab + 8000029c: aab3839b addiw t2,t2,-1365 # ffffffffaaaaaaab <_end+0xffffffff2aaa8aab> + 800002a0: 01439393 slli t2,t2,0x14 + 800002a4: ffb38393 addi t2,t2,-5 + 800002a8: 00c39393 slli t2,t2,0xc + 800002ac: aaa38393 addi t2,t2,-1366 + 800002b0: 3c771263 bne a4,t2,80000674 + +00000000800002b4 : + 800002b4: 01e00193 li gp,30 + 800002b8: faaab5b7 lui a1,0xfaaab + 800002bc: aab5859b addiw a1,a1,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab> + 800002c0: 00c59593 slli a1,a1,0xc + 800002c4: aab58593 addi a1,a1,-1365 + 800002c8: 00c59593 slli a1,a1,0xc + 800002cc: aab58593 addi a1,a1,-1365 + 800002d0: 00c59593 slli a1,a1,0xc + 800002d4: aab58593 addi a1,a1,-1365 + 800002d8: 00030637 lui a2,0x30 + 800002dc: e7d6061b addiw a2,a2,-387 # 2fe7d <_start-0x7ffd0183> + 800002e0: 0ac5a733 clmulr a4,a1,a2 + 800002e4: 000263b7 lui t2,0x26 + 800002e8: 79b3839b addiw t2,t2,1947 # 2679b <_start-0x7ffd9865> + 800002ec: 38771463 bne a4,t2,80000674 + +00000000800002f0 : + 800002f0: 01f00193 li gp,31 + 800002f4: 000305b7 lui a1,0x30 + 800002f8: e7d5859b addiw a1,a1,-387 # 2fe7d <_start-0x7ffd0183> + 800002fc: faaab637 lui a2,0xfaaab + 80000300: aab6061b addiw a2,a2,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab> + 80000304: 00c61613 slli a2,a2,0xc + 80000308: aab60613 addi a2,a2,-1365 + 8000030c: 00c61613 slli a2,a2,0xc + 80000310: aab60613 addi a2,a2,-1365 + 80000314: 00c61613 slli a2,a2,0xc + 80000318: aab60613 addi a2,a2,-1365 + 8000031c: 0ac5a733 clmulr a4,a1,a2 + 80000320: 000263b7 lui t2,0x26 + 80000324: 79b3839b addiw t2,t2,1947 # 2679b <_start-0x7ffd9865> + 80000328: 34771663 bne a4,t2,80000674 + +000000008000032c : + 8000032c: 00800193 li gp,8 + 80000330: 00d00593 li a1,13 + 80000334: 00b00613 li a2,11 + 80000338: 0ac5a5b3 clmulr a1,a1,a2 + 8000033c: 00000393 li t2,0 + 80000340: 32759a63 bne a1,t2,80000674 + +0000000080000344 : + 80000344: 00900193 li gp,9 + 80000348: 00e00593 li a1,14 + 8000034c: 00b00613 li a2,11 + 80000350: 0ac5a633 clmulr a2,a1,a2 + 80000354: 00000393 li t2,0 + 80000358: 30761e63 bne a2,t2,80000674 + +000000008000035c : + 8000035c: 00a00193 li gp,10 + 80000360: 00d00593 li a1,13 + 80000364: 0ab5a5b3 clmulr a1,a1,a1 + 80000368: 00000393 li t2,0 + 8000036c: 30759463 bne a1,t2,80000674 + +0000000080000370 : + 80000370: 00b00193 li gp,11 + 80000374: 00000213 li tp,0 + 80000378: 00d00093 li ra,13 + 8000037c: 00b00113 li sp,11 + 80000380: 0a20a733 clmulr a4,ra,sp + 80000384: 00070313 mv t1,a4 + 80000388: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 8000038c: 00200293 li t0,2 + 80000390: fe5214e3 bne tp,t0,80000378 + 80000394: 00000393 li t2,0 + 80000398: 2c731e63 bne t1,t2,80000674 + +000000008000039c : + 8000039c: 00c00193 li gp,12 + 800003a0: 00000213 li tp,0 + 800003a4: 00e00093 li ra,14 + 800003a8: 00b00113 li sp,11 + 800003ac: 0a20a733 clmulr a4,ra,sp + 800003b0: 00000013 nop + 800003b4: 00070313 mv t1,a4 + 800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003bc: 00200293 li t0,2 + 800003c0: fe5212e3 bne tp,t0,800003a4 + 800003c4: 00000393 li t2,0 + 800003c8: 2a731663 bne t1,t2,80000674 + +00000000800003cc : + 800003cc: 00d00193 li gp,13 + 800003d0: 00000213 li tp,0 + 800003d4: 00f00093 li ra,15 + 800003d8: 00b00113 li sp,11 + 800003dc: 0a20a733 clmulr a4,ra,sp + 800003e0: 00000013 nop + 800003e4: 00000013 nop + 800003e8: 00070313 mv t1,a4 + 800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800003f0: 00200293 li t0,2 + 800003f4: fe5210e3 bne tp,t0,800003d4 + 800003f8: 00000393 li t2,0 + 800003fc: 26731c63 bne t1,t2,80000674 + +0000000080000400 : + 80000400: 00e00193 li gp,14 + 80000404: 00000213 li tp,0 + 80000408: 00d00093 li ra,13 + 8000040c: 00b00113 li sp,11 + 80000410: 0a20a733 clmulr a4,ra,sp + 80000414: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000418: 00200293 li t0,2 + 8000041c: fe5216e3 bne tp,t0,80000408 + 80000420: 00000393 li t2,0 + 80000424: 24771863 bne a4,t2,80000674 + +0000000080000428 : + 80000428: 00f00193 li gp,15 + 8000042c: 00000213 li tp,0 + 80000430: 00e00093 li ra,14 + 80000434: 00b00113 li sp,11 + 80000438: 00000013 nop + 8000043c: 0a20a733 clmulr a4,ra,sp + 80000440: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000444: 00200293 li t0,2 + 80000448: fe5214e3 bne tp,t0,80000430 + 8000044c: 00000393 li t2,0 + 80000450: 22771263 bne a4,t2,80000674 + +0000000080000454 : + 80000454: 01000193 li gp,16 + 80000458: 00000213 li tp,0 + 8000045c: 00f00093 li ra,15 + 80000460: 00b00113 li sp,11 + 80000464: 00000013 nop + 80000468: 00000013 nop + 8000046c: 0a20a733 clmulr a4,ra,sp + 80000470: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000474: 00200293 li t0,2 + 80000478: fe5212e3 bne tp,t0,8000045c + 8000047c: 00000393 li t2,0 + 80000480: 1e771a63 bne a4,t2,80000674 + +0000000080000484 : + 80000484: 01100193 li gp,17 + 80000488: 00000213 li tp,0 + 8000048c: 00d00093 li ra,13 + 80000490: 00000013 nop + 80000494: 00b00113 li sp,11 + 80000498: 0a20a733 clmulr a4,ra,sp + 8000049c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004a0: 00200293 li t0,2 + 800004a4: fe5214e3 bne tp,t0,8000048c + 800004a8: 00000393 li t2,0 + 800004ac: 1c771463 bne a4,t2,80000674 + +00000000800004b0 : + 800004b0: 01200193 li gp,18 + 800004b4: 00000213 li tp,0 + 800004b8: 00e00093 li ra,14 + 800004bc: 00000013 nop + 800004c0: 00b00113 li sp,11 + 800004c4: 00000013 nop + 800004c8: 0a20a733 clmulr a4,ra,sp + 800004cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800004d0: 00200293 li t0,2 + 800004d4: fe5212e3 bne tp,t0,800004b8 + 800004d8: 00000393 li t2,0 + 800004dc: 18771c63 bne a4,t2,80000674 + +00000000800004e0 : + 800004e0: 01300193 li gp,19 + 800004e4: 00000213 li tp,0 + 800004e8: 00f00093 li ra,15 + 800004ec: 00000013 nop + 800004f0: 00000013 nop + 800004f4: 00b00113 li sp,11 + 800004f8: 0a20a733 clmulr a4,ra,sp + 800004fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000500: 00200293 li t0,2 + 80000504: fe5212e3 bne tp,t0,800004e8 + 80000508: 00000393 li t2,0 + 8000050c: 16771463 bne a4,t2,80000674 + +0000000080000510 : + 80000510: 01400193 li gp,20 + 80000514: 00000213 li tp,0 + 80000518: 00b00113 li sp,11 + 8000051c: 00d00093 li ra,13 + 80000520: 0a20a733 clmulr a4,ra,sp + 80000524: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000528: 00200293 li t0,2 + 8000052c: fe5216e3 bne tp,t0,80000518 + 80000530: 00000393 li t2,0 + 80000534: 14771063 bne a4,t2,80000674 + +0000000080000538 : + 80000538: 01500193 li gp,21 + 8000053c: 00000213 li tp,0 + 80000540: 00b00113 li sp,11 + 80000544: 00e00093 li ra,14 + 80000548: 00000013 nop + 8000054c: 0a20a733 clmulr a4,ra,sp + 80000550: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000554: 00200293 li t0,2 + 80000558: fe5214e3 bne tp,t0,80000540 + 8000055c: 00000393 li t2,0 + 80000560: 10771a63 bne a4,t2,80000674 + +0000000080000564 : + 80000564: 01600193 li gp,22 + 80000568: 00000213 li tp,0 + 8000056c: 00b00113 li sp,11 + 80000570: 00f00093 li ra,15 + 80000574: 00000013 nop + 80000578: 00000013 nop + 8000057c: 0a20a733 clmulr a4,ra,sp + 80000580: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000584: 00200293 li t0,2 + 80000588: fe5212e3 bne tp,t0,8000056c + 8000058c: 00000393 li t2,0 + 80000590: 0e771263 bne a4,t2,80000674 + +0000000080000594 : + 80000594: 01700193 li gp,23 + 80000598: 00000213 li tp,0 + 8000059c: 00b00113 li sp,11 + 800005a0: 00000013 nop + 800005a4: 00d00093 li ra,13 + 800005a8: 0a20a733 clmulr a4,ra,sp + 800005ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005b0: 00200293 li t0,2 + 800005b4: fe5214e3 bne tp,t0,8000059c + 800005b8: 00000393 li t2,0 + 800005bc: 0a771c63 bne a4,t2,80000674 + +00000000800005c0 : + 800005c0: 01800193 li gp,24 + 800005c4: 00000213 li tp,0 + 800005c8: 00b00113 li sp,11 + 800005cc: 00000013 nop + 800005d0: 00e00093 li ra,14 + 800005d4: 00000013 nop + 800005d8: 0a20a733 clmulr a4,ra,sp + 800005dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 800005e0: 00200293 li t0,2 + 800005e4: fe5212e3 bne tp,t0,800005c8 + 800005e8: 00000393 li t2,0 + 800005ec: 08771463 bne a4,t2,80000674 + +00000000800005f0 : + 800005f0: 01900193 li gp,25 + 800005f4: 00000213 li tp,0 + 800005f8: 00b00113 li sp,11 + 800005fc: 00000013 nop + 80000600: 00000013 nop + 80000604: 00f00093 li ra,15 + 80000608: 0a20a733 clmulr a4,ra,sp + 8000060c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> + 80000610: 00200293 li t0,2 + 80000614: fe5212e3 bne tp,t0,800005f8 + 80000618: 00000393 li t2,0 + 8000061c: 04771c63 bne a4,t2,80000674 + +0000000080000620 : + 80000620: 01a00193 li gp,26 + 80000624: 01f00093 li ra,31 + 80000628: 0a102133 clmulr sp,zero,ra + 8000062c: 00000393 li t2,0 + 80000630: 04711263 bne sp,t2,80000674 + +0000000080000634 : + 80000634: 01b00193 li gp,27 + 80000638: 02000093 li ra,32 + 8000063c: 0a00a133 clmulr sp,ra,zero + 80000640: 00000393 li t2,0 + 80000644: 02711863 bne sp,t2,80000674 + +0000000080000648 : + 80000648: 01c00193 li gp,28 + 8000064c: 0a0020b3 clmulr ra,zero,zero + 80000650: 00000393 li t2,0 + 80000654: 02709063 bne ra,t2,80000674 + +0000000080000658 : + 80000658: 01d00193 li gp,29 + 8000065c: 02100093 li ra,33 + 80000660: 02200113 li sp,34 + 80000664: 0a20a033 clmulr zero,ra,sp + 80000668: 00000393 li t2,0 + 8000066c: 00701463 bne zero,t2,80000674 + 80000670: 02301063 bne zero,gp,80000690 + +0000000080000674 : + 80000674: 0ff0000f fence + 80000678: 00018063 beqz gp,80000678 + 8000067c: 00119193 slli gp,gp,0x1 + 80000680: 0011e193 ori gp,gp,1 + 80000684: 05d00893 li a7,93 + 80000688: 00018513 mv a0,gp + 8000068c: 00000073 ecall + +0000000080000690 : + 80000690: 0ff0000f fence + 80000694: 00100193 li gp,1 + 80000698: 05d00893 li a7,93 + 8000069c: 00000513 li a0,0 + 800006a0: 00000073 ecall + 800006a4: c0001073 unimp + 800006a8: 0000 .insn 2, 0x + 800006aa: 0000 .insn 2, 0x + 800006ac: 0000 .insn 2, 0x + 800006ae: 0000 .insn 2, 0x + 800006b0: 0000 .insn 2, 0x + 800006b2: 0000 .insn 2, 0x + 800006b4: 0000 .insn 2, 0x + 800006b6: 0000 .insn 2, 0x + 800006b8: 0000 .insn 2, 0x + 800006ba: 0000 .insn 2, 0x diff --git a/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulr.hex b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulr.hex new file mode 100644 index 0000000..5e1ca59 --- /dev/null +++ b/testcase/riscv-tests-hex/rv64uzbc/rv64uzbc-clmulr.hex @@ -0,0 +1,811 @@ +34202f730580006f +03ff086300800f93 +03ff046300900f93 +03ff006300b00f93 +000f046300000f13 +34202f73000f0067 +0040006f000f5463 +00001f175391e193 +00001f17fc3f2223 +0080006ffc0f2023 +0000006ffedff06f +0000011300000093 +0000021300000193 +0000031300000293 +0000041300000393 +0000051300000493 +0000061300000593 +0000071300000693 +0000081300000793 +0000091300000893 +00000a1300000993 +00000b1300000a93 +00000c1300000b93 +00000d1300000c93 +00000e1300000d93 +00000f1300000e93 +f140257300000f93 +0000029700051063 +3052907301028293 +0000029774445073 +3052907301028293 +0000029718005073 +3052907302428293 +035292930010029b +3b029073fff28293 +3a02907301f00293 +0000029730405073 +3052907301428293 +3030507330205073 +0000029700000193 +30529073ec828293 +01f5151300100513 +0ff0000f00055c63 +05d0089300100193 +0000007300000513 +00028a6300000293 +0000b2b710529073 +302290731092829b +0000029730005073 +3412907301428293 +30200073f1402573 +000085b702000193 +06db7637e005859b +00c61613db76061b +00c61613db760613 +00c61613db760613 +0ac5a733db760613 +4003839b000023b7 +021001934a771263 +fc05859b000085b7 +db76061b06db7637 +db76061300c61613 +db76061300c61613 +db76061300c61613 +000023b70ac5a733 +467714634803839b +0000059300200193 +0ac5a73300000613 +4477186300000393 +0010059300300193 +0ac5a73300100613 +42771c6300000393 +0030059300400193 +0ac5a73300700613 +4277106300000393 +0000059300500193 +0ac5a733ffff8637 +4077146300000393 +800005b700600193 +0ac5a73300000613 +3e77186300000393 +800005b700700193 +0ac5a733ffff8637 +aab3839baaaab3b7 +ffb3839301439393 +aaa3839300c39393 +01e001933c771263 +aab5859bfaaab5b7 +aab5859300c59593 +aab5859300c59593 +aab5859300c59593 +e7d6061b00030637 +000263b70ac5a733 +3877146379b3839b +000305b701f00193 +faaab637e7d5859b +00c61613aab6061b +00c61613aab60613 +00c61613aab60613 +0ac5a733aab60613 +79b3839b000263b7 +0080019334771663 +00b0061300d00593 +000003930ac5a5b3 +0090019332759a63 +00b0061300e00593 +000003930ac5a633 +00a0019330761e63 +0ab5a5b300d00593 +3075946300000393 +0000021300b00193 +00b0011300d00093 +000703130a20a733 +0020029300120213 +00000393fe5214e3 +00c001932c731e63 +00e0009300000213 +0a20a73300b00113 +0007031300000013 +0020029300120213 +00000393fe5212e3 +00d001932a731663 +00f0009300000213 +0a20a73300b00113 +0000001300000013 +0012021300070313 +fe5210e300200293 +26731c6300000393 +0000021300e00193 +00b0011300d00093 +001202130a20a733 +fe5216e300200293 +2477186300000393 +0000021300f00193 +00b0011300e00093 +0a20a73300000013 +0020029300120213 +00000393fe5214e3 +0100019322771263 +00f0009300000213 +0000001300b00113 +0a20a73300000013 +0020029300120213 +00000393fe5212e3 +011001931e771a63 +00d0009300000213 +00b0011300000013 +001202130a20a733 +fe5214e300200293 +1c77146300000393 +0000021301200193 +0000001300e00093 +0000001300b00113 +001202130a20a733 +fe5212e300200293 +18771c6300000393 +0000021301300193 +0000001300f00093 +00b0011300000013 +001202130a20a733 +fe5212e300200293 +1677146300000393 +0000021301400193 +00d0009300b00113 +001202130a20a733 +fe5216e300200293 +1477106300000393 +0000021301500193 +00e0009300b00113 +0a20a73300000013 +0020029300120213 +00000393fe5214e3 +0160019310771a63 +00b0011300000213 +0000001300f00093 +0a20a73300000013 +0020029300120213 +00000393fe5212e3 +017001930e771263 +00b0011300000213 +00d0009300000013 +001202130a20a733 +fe5214e300200293 +0a771c6300000393 +0000021301800193 +0000001300b00113 +0000001300e00093 +001202130a20a733 +fe5212e300200293 +0877146300000393 +0000021301900193 +0000001300b00113 +00f0009300000013 +001202130a20a733 +fe5212e300200293 +04771c6300000393 +01f0009301a00193 +000003930a102133 +01b0019304711263 +0a00a13302000093 +0271186300000393 +0a0020b301c00193 +0270906300000393 +0210009301d00193 +0a20a03302200113 +0070146300000393 +0ff0000f02301063 +0011919300018063 +05d008930011e193 +0000007300018513 +001001930ff0000f +0000051305d00893 +c000107300000073 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +7369720000005641 +0000004c01007663 +7032693436767205 +615f3070326d5f31 +327032665f317032 +697a5f327032645f +7a5f307032727363 +326965636e656669 +6c756d6d7a5f3070 +3163627a5f307031 +000b0a0108003070 +0000000000000000 +0000000000000000 +0000000000000000 +0001000300000000 +0000000080000000 +0000000000000000 +0002000300000000 +0000000080001000 +0000000000000000 +0003000300000000 +0000000000000000 +0000000000000000 +fff1000400000001 +0000000000000000 +0000000000000000 +000100000000000c +0000000080000000 +0000000000000000 +0001000000000050 +0000000080000058 +0000000000000000 +000100000000005d +0000000080000004 +0000000000000000 +0001000000000069 +000000008000003c +0000000000000000 +0001000000000076 +0000000080000038 +0000000000000000 +0001000000000087 +0000000080000038 +0000000000000000 +0001000000000097 +0000000080000054 +0000000000000000 +000100000000009c +0000000080000198 +0000000000000000 +00010000000000a4 +0000000080000674 +0000000000000000 +00010000000000a9 +00000000800001d4 +0000000000000000 +00010000000000b1 +0000000080000210 +0000000000000000 +00010000000000b8 +0000000080000228 +0000000000000000 +00010000000000bf +0000000080000240 +0000000000000000 +00010000000000c6 +0000000080000258 +0000000000000000 +00010000000000cd +0000000080000270 +0000000000000000 +00010000000000d4 +0000000080000288 +0000000000000000 +00010000000000db +00000000800002b4 +0000000000000000 +00010000000000e3 +00000000800002f0 +0000000000000000 +00010000000000eb +000000008000032c +0000000000000000 +00010000000000f2 +0000000080000344 +0000000000000000 +00010000000000f9 +000000008000035c +0000000000000000 +0001000000000101 +0000000080000370 +0000000000000000 +0001000000000109 +000000008000039c +0000000000000000 +0001000000000111 +00000000800003cc +0000000000000000 +0001000000000119 +0000000080000400 +0000000000000000 +0001000000000121 +0000000080000428 +0000000000000000 +0001000000000129 +0000000080000454 +0000000000000000 +0001000000000131 +0000000080000484 +0000000000000000 +0001000000000139 +00000000800004b0 +0000000000000000 +0001000000000141 +00000000800004e0 +0000000000000000 +0001000000000149 +0000000080000510 +0000000000000000 +0001000000000151 +0000000080000538 +0000000000000000 +0001000000000159 +0000000080000564 +0000000000000000 +0001000000000161 +0000000080000594 +0000000000000000 +0001000000000169 +00000000800005c0 +0000000000000000 +0001000000000171 +00000000800005f0 +0000000000000000 +0001000000000179 +0000000080000620 +0000000000000000 +0001000000000181 +0000000080000634 +0000000000000000 +0001000000000189 +0000000080000648 +0000000000000000 +0001000000000191 +0000000080000658 +0000000000000000 +0001000000000199 +0000000080000690 +0000000000000000 +000200100000019e +0000000080002000 +0000000000000000 +00020010000001ac +0000000080002000 +0000000000000000 +00010010000001bc +0000000080000000 +0000000000000000 +00020010000001c3 +0000000080002000 +0000000000000000 +00020010000001c8 +0000000080001040 +0000000000000008 +000200100000006f +0000000080001000 +0000000000000008 +36444b4b61636300 +76727824006f2e45 +6d5f317032693436 +317032615f307032 +32645f327032665f +727363697a5f3270 +6566697a5f307032 +5f3070326965636e +3070316c756d6d7a +0030703163627a5f +65765f7465736572 +61727400726f7463 +726f746365765f70 +745f657469727700 +61680074736f686f +6378655f656c646e +6f006e6f69747065 +6378655f72656874 +68006e6f69747065 +7473657400746c61 +6c6961660032335f +33335f7473657400 +00325f7473657400 +7400335f74736574 +657400345f747365 +73657400355f7473 +7473657400365f74 +5f7473657400375f +5f74736574003033 +5f74736574003133 +395f747365740038 +30315f7473657400 +31315f7473657400 +32315f7473657400 +33315f7473657400 +34315f7473657400 +35315f7473657400 +36315f7473657400 +37315f7473657400 +38315f7473657400 +39315f7473657400 +30325f7473657400 +31325f7473657400 +32325f7473657400 +33325f7473657400 +34325f7473657400 +35325f7473657400 +36325f7473657400 +37325f7473657400 +38325f7473657400 +39325f7473657400 +6e65007373617000 +74616e6769735f64 +6967656200657275 +74616e6769735f6e +6174735f00657275 +00646e655f007472 +74736f686d6f7266 +61746d79732e0000 +61747274732e0062 +72747368732e0062 +7865742e00626174 +2e0074696e692e74 +2e0074736f686f74 +74612e7663736972 +7365747562697274 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +000000010000001b +0000000000000006 +0000000080000000 +0000000000001000 +00000000000006bc +0000000000000000 +0000000000000040 +0000000000000000 +0000000100000026 +0000000000000003 +0000000080001000 +0000000000002000 +0000000000000048 +0000000000000000 +0000000000000040 +0000000000000000 +700000030000002e +0000000000000000 +0000000000000000 +0000000000002048 +0000000000000057 +0000000000000000 +0000000000000001 +0000000000000000 +0000000200000001 +0000000000000000 +0000000000000000 +00000000000020a0 +00000000000004e0 +0000002e00000005 +0000000000000008 +0000000000000018 +0000000300000009 +0000000000000000 +0000000000000000 +0000000000002580 +00000000000001d1 +0000000000000000 +0000000000000001 +0000000000000000 +0000000300000011 +0000000000000000 +0000000000000000 +0000000000002751 +0000000000000040 +0000000000000000 +0000000000000001 +0000000000000000