summaryrefslogtreecommitdiff
path: root/test/riscv
diff options
context:
space:
mode:
authorRobert Norton2018-01-31 10:54:48 +0000
committerRobert Norton2018-01-31 10:54:54 +0000
commitd4f33092406cbed65d98f4c342579f617ad8a99c (patch)
treeaf1204a500e74359efe7aeb84636dfc45da580da /test/riscv
parentdb53b49174c98ee488117b28089f349c8df4a560 (diff)
add some elf files from riscv test suite and run them on riscv model.
Diffstat (limited to 'test/riscv')
-rwxr-xr-xtest/riscv/run_tests.sh17
-rw-r--r--test/riscv/tests/README27
-rw-r--r--test/riscv/tests/rv64ua-p-amoadd_d.dump153
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amoadd_d.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amoadd_w.dump124
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amoadd_w.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amoand_d.dump124
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amoand_d.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amoand_w.dump125
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amoand_w.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amomax_d.dump125
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amomax_d.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amomax_w.dump125
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amomax_w.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amomaxu_d.dump125
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amomaxu_d.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amomaxu_w.dump125
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amomaxu_w.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amomin_d.dump125
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amomin_d.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amomin_w.dump125
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amomin_w.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amominu_d.dump125
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amominu_d.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amominu_w.dump125
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amominu_w.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amoor_d.dump126
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amoor_d.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amoor_w.dump126
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amoor_w.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amoswap_d.dump124
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amoswap_d.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amoswap_w.dump125
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amoswap_w.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amoxor_d.dump155
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amoxor_d.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-amoxor_w.dump153
-rwxr-xr-xtest/riscv/tests/rv64ua-p-amoxor_w.elfbin0 -> 9504 bytes
-rw-r--r--test/riscv/tests/rv64ua-p-lrsc.dump178
-rwxr-xr-xtest/riscv/tests/rv64ua-p-lrsc.elfbin0 -> 13576 bytes
-rw-r--r--test/riscv/tests/rv64uc-p-rvc.dump4878
-rwxr-xr-xtest/riscv/tests/rv64uc-p-rvc.elfbin0 -> 18392 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-add.dump506
-rwxr-xr-xtest/riscv/tests/rv64ui-p-add.elfbin0 -> 10432 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-addi.dump312
-rwxr-xr-xtest/riscv/tests/rv64ui-p-addi.elfbin0 -> 10016 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-addiw.dump315
-rwxr-xr-xtest/riscv/tests/rv64ui-p-addiw.elfbin0 -> 10016 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-addw.dump479
-rwxr-xr-xtest/riscv/tests/rv64ui-p-addw.elfbin0 -> 10432 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-and.dump491
-rwxr-xr-xtest/riscv/tests/rv64ui-p-and.elfbin0 -> 10080 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-andi.dump265
-rwxr-xr-xtest/riscv/tests/rv64ui-p-andi.elfbin0 -> 9664 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-auipc.dump125
-rwxr-xr-xtest/riscv/tests/rv64ui-p-auipc.elfbin0 -> 9320 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-beq.dump325
-rwxr-xr-xtest/riscv/tests/rv64ui-p-beq.elfbin0 -> 9888 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-bge.dump339
-rwxr-xr-xtest/riscv/tests/rv64ui-p-bge.elfbin0 -> 9984 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-bgeu.dump413
-rwxr-xr-xtest/riscv/tests/rv64ui-p-bgeu.elfbin0 -> 9984 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-blt.dump325
-rwxr-xr-xtest/riscv/tests/rv64ui-p-blt.elfbin0 -> 9888 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-bltu.dump371
-rwxr-xr-xtest/riscv/tests/rv64ui-p-bltu.elfbin0 -> 9888 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-bne.dump324
-rwxr-xr-xtest/riscv/tests/rv64ui-p-bne.elfbin0 -> 9888 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-fence_i.dump189
-rwxr-xr-xtest/riscv/tests/rv64ui-p-fence_i.elfbin0 -> 13480 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-jal.dump128
-rwxr-xr-xtest/riscv/tests/rv64ui-p-jal.elfbin0 -> 9384 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-jalr.dump166
-rwxr-xr-xtest/riscv/tests/rv64ui-p-jalr.elfbin0 -> 9480 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-lb.dump306
-rwxr-xr-xtest/riscv/tests/rv64ui-p-lb.elfbin0 -> 14104 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-lbu.dump306
-rwxr-xr-xtest/riscv/tests/rv64ui-p-lbu.elfbin0 -> 14104 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-ld.dump406
-rwxr-xr-xtest/riscv/tests/rv64ui-p-ld.elfbin0 -> 14120 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-lh.dump327
-rwxr-xr-xtest/riscv/tests/rv64ui-p-lh.elfbin0 -> 14104 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-lhu.dump322
-rwxr-xr-xtest/riscv/tests/rv64ui-p-lhu.elfbin0 -> 14104 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-lui.dump127
-rwxr-xr-xtest/riscv/tests/rv64ui-p-lui.elfbin0 -> 9408 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-lw.dump319
-rwxr-xr-xtest/riscv/tests/rv64ui-p-lw.elfbin0 -> 14104 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-lwu.dump333
-rwxr-xr-xtest/riscv/tests/rv64ui-p-lwu.elfbin0 -> 14104 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-or.dump522
-rwxr-xr-xtest/riscv/tests/rv64ui-p-or.elfbin0 -> 10080 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-ori.dump268
-rwxr-xr-xtest/riscv/tests/rv64ui-p-ori.elfbin0 -> 9664 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sb.dump447
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sb.elfbin0 -> 14416 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sd.dump594
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sd.elfbin0 -> 14480 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sh.dump480
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sh.elfbin0 -> 14432 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-simple.dump110
-rwxr-xr-xtest/riscv/tests/rv64ui-p-simple.elfbin0 -> 9200 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sll.dump580
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sll.elfbin0 -> 10688 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-slli.dump354
-rwxr-xr-xtest/riscv/tests/rv64ui-p-slli.elfbin0 -> 10112 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-slliw.dump316
-rwxr-xr-xtest/riscv/tests/rv64ui-p-slliw.elfbin0 -> 10016 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sllw.dump550
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sllw.elfbin0 -> 10592 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-slt.dump485
-rwxr-xr-xtest/riscv/tests/rv64ui-p-slt.elfbin0 -> 10432 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-slti.dump320
-rwxr-xr-xtest/riscv/tests/rv64ui-p-slti.elfbin0 -> 10016 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sltiu.dump320
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sltiu.elfbin0 -> 10016 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sltu.dump500
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sltu.elfbin0 -> 10432 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sra.dump538
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sra.elfbin0 -> 10592 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-srai.dump333
-rwxr-xr-xtest/riscv/tests/rv64ui-p-srai.elfbin0 -> 10016 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sraiw.dump359
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sraiw.elfbin0 -> 10080 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sraw.dump538
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sraw.elfbin0 -> 10592 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-srl.dump575
-rwxr-xr-xtest/riscv/tests/rv64ui-p-srl.elfbin0 -> 10592 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-srli.dump350
-rwxr-xr-xtest/riscv/tests/rv64ui-p-srli.elfbin0 -> 10016 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-srliw.dump309
-rwxr-xr-xtest/riscv/tests/rv64ui-p-srliw.elfbin0 -> 10016 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-srlw.dump544
-rwxr-xr-xtest/riscv/tests/rv64ui-p-srlw.elfbin0 -> 10592 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sub.dump481
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sub.elfbin0 -> 10400 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-subw.dump485
-rwxr-xr-xtest/riscv/tests/rv64ui-p-subw.elfbin0 -> 10400 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-sw.dump476
-rwxr-xr-xtest/riscv/tests/rv64ui-p-sw.elfbin0 -> 14448 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-xor.dump527
-rwxr-xr-xtest/riscv/tests/rv64ui-p-xor.elfbin0 -> 10080 bytes
-rw-r--r--test/riscv/tests/rv64ui-p-xori.dump238
-rwxr-xr-xtest/riscv/tests/rv64ui-p-xori.elfbin0 -> 9664 bytes
-rw-r--r--test/riscv/tests/rv64um-p-div.dump195
-rwxr-xr-xtest/riscv/tests/rv64um-p-div.elfbin0 -> 9536 bytes
-rw-r--r--test/riscv/tests/rv64um-p-divu.dump189
-rwxr-xr-xtest/riscv/tests/rv64um-p-divu.elfbin0 -> 9536 bytes
-rw-r--r--test/riscv/tests/rv64um-p-divuw.dump197
-rwxr-xr-xtest/riscv/tests/rv64um-p-divuw.elfbin0 -> 9536 bytes
-rw-r--r--test/riscv/tests/rv64um-p-divw.dump168
-rwxr-xr-xtest/riscv/tests/rv64um-p-divw.elfbin0 -> 9536 bytes
-rw-r--r--test/riscv/tests/rv64um-p-mul.dump474
-rwxr-xr-xtest/riscv/tests/rv64um-p-mul.elfbin0 -> 10272 bytes
-rw-r--r--test/riscv/tests/rv64um-p-mulh.dump456
-rwxr-xr-xtest/riscv/tests/rv64um-p-mulh.elfbin0 -> 10144 bytes
-rw-r--r--test/riscv/tests/rv64um-p-mulhsu.dump456
-rwxr-xr-xtest/riscv/tests/rv64um-p-mulhsu.elfbin0 -> 10144 bytes
-rw-r--r--test/riscv/tests/rv64um-p-mulhu.dump492
-rwxr-xr-xtest/riscv/tests/rv64um-p-mulhu.elfbin0 -> 10208 bytes
-rw-r--r--test/riscv/tests/rv64um-p-mulw.dump399
-rwxr-xr-xtest/riscv/tests/rv64um-p-mulw.elfbin0 -> 10144 bytes
-rw-r--r--test/riscv/tests/rv64um-p-rem.dump196
-rwxr-xr-xtest/riscv/tests/rv64um-p-rem.elfbin0 -> 9536 bytes
-rw-r--r--test/riscv/tests/rv64um-p-remu.dump195
-rwxr-xr-xtest/riscv/tests/rv64um-p-remu.elfbin0 -> 9536 bytes
-rw-r--r--test/riscv/tests/rv64um-p-remuw.dump168
-rwxr-xr-xtest/riscv/tests/rv64um-p-remuw.elfbin0 -> 9536 bytes
-rw-r--r--test/riscv/tests/rv64um-p-remw.dump196
-rwxr-xr-xtest/riscv/tests/rv64um-p-remw.elfbin0 -> 9568 bytes
170 files changed, 30330 insertions, 4 deletions
diff --git a/test/riscv/run_tests.sh b/test/riscv/run_tests.sh
index d52caeb4..dd19bd72 100755
--- a/test/riscv/run_tests.sh
+++ b/test/riscv/run_tests.sh
@@ -49,15 +49,24 @@ printf "<testsuites>\n" >> $DIR/tests.xml
cd $SAILDIR/riscv
-printf "Checking specification...\n"
+printf "Building RISCV specification...\n"
-if make -C $SAILDIR/riscv check;
+if make -C $SAILDIR/riscv riscv ;
then
- green "checked RISCV specification" "ok"
+ green "Building RISCV specification" "ok"
else
- red "checking RISCV specification" "fail"
+ red "Building RISCV specification" "fail"
fi
+for test in $DIR/tests/*.elf; do
+ if $SAILDIR/riscv/riscv "$test" >"${test/.elf/.out}" 2>&1 && grep -q SUCCESS "${test/.elf/.out}"
+ then
+ green "$test" "ok"
+ else
+ red "$test" "fail"
+ fi
+done
+
finish_suite "RISCV tests"
printf "</testsuites>\n" >> $DIR/tests.xml
diff --git a/test/riscv/tests/README b/test/riscv/tests/README
new file mode 100644
index 00000000..4dcfeb11
--- /dev/null
+++ b/test/riscv/tests/README
@@ -0,0 +1,27 @@
+Copyright (c) 2012-2015, The Regents of the University of California (Regents).
+All Rights Reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. Neither the name of the Regents nor the
+ names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING
+OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS
+BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED
+HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE
+MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+The tests in this directory were built from
+https://github.com/riscv/riscv-tools commit 98682995dc4a1ab8777ff45ba673cf2658e54ae2 .
diff --git a/test/riscv/tests/rv64ua-p-amoadd_d.dump b/test/riscv/tests/rv64ua-p-amoadd_d.dump
new file mode 100644
index 00000000..e90473bb
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoadd_d.dump
@@ -0,0 +1,153 @@
+
+rv64ua-p-amoadd_d: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6b023 sd a0,0(a3)
+ 80000110: 00b6b72f amoadd.d a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71863 bne a4,t4,8000016c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006b783 ld a5,0(a3)
+ 80000124: fff00e9b addiw t4,zero,-1
+ 80000128: 01fe9e93 slli t4,t4,0x1f
+ 8000012c: 800e8e93 addi t4,t4,-2048 # ffffffff7ffff800 <_end+0xfffffffeffffd7f8>
+ 80000130: 00300193 li gp,3
+ 80000134: 03d79c63 bne a5,t4,8000016c <fail>
+
+0000000080000138 <test_4>:
+ 80000138: 00b6b72f amoadd.d a4,a1,(a3)
+ 8000013c: fff00e9b addiw t4,zero,-1
+ 80000140: 01fe9e93 slli t4,t4,0x1f
+ 80000144: 800e8e93 addi t4,t4,-2048
+ 80000148: 00400193 li gp,4
+ 8000014c: 03d71063 bne a4,t4,8000016c <fail>
+
+0000000080000150 <test_5>:
+ 80000150: 0006b783 ld a5,0(a3)
+ 80000154: fff80eb7 lui t4,0xfff80
+ 80000158: fffe8e9b addiw t4,t4,-1
+ 8000015c: 00ce9e93 slli t4,t4,0xc
+ 80000160: 00500193 li gp,5
+ 80000164: 01d79463 bne a5,t4,8000016c <fail>
+ 80000168: 00301c63 bne zero,gp,80000180 <pass>
+
+000000008000016c <fail>:
+ 8000016c: 0ff0000f fence
+ 80000170: 00018063 beqz gp,80000170 <fail+0x4>
+ 80000174: 00119193 slli gp,gp,0x1
+ 80000178: 0011e193 ori gp,gp,1
+ 8000017c: 00000073 ecall
+
+0000000080000180 <pass>:
+ 80000180: 0ff0000f fence
+ 80000184: 00100193 li gp,1
+ 80000188: 00000073 ecall
+ 8000018c: c0001073 unimp
+ 80000190: 0000 unimp
+ 80000192: 0000 unimp
+ 80000194: 0000 unimp
+ 80000196: 0000 unimp
+ 80000198: 0000 unimp
+ 8000019a: 0000 unimp
+ 8000019c: 0000 unimp
+ 8000019e: 0000 unimp
+ 800001a0: 0000 unimp
+ 800001a2: 0000 unimp
+ 800001a4: 0000 unimp
+ 800001a6: 0000 unimp
+ 800001a8: 0000 unimp
+ 800001aa: 0000 unimp
+ 800001ac: 0000 unimp
+ 800001ae: 0000 unimp
+ 800001b0: 0000 unimp
+ 800001b2: 0000 unimp
+ 800001b4: 0000 unimp
+ 800001b6: 0000 unimp
+ 800001b8: 0000 unimp
+ 800001ba: 0000 unimp
+ 800001bc: 0000 unimp
+ 800001be: 0000 unimp
+ 800001c0: 0000 unimp
+ 800001c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amoadd_d.elf b/test/riscv/tests/rv64ua-p-amoadd_d.elf
new file mode 100755
index 00000000..f4fac374
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoadd_d.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amoadd_w.dump b/test/riscv/tests/rv64ua-p-amoadd_w.dump
new file mode 100644
index 00000000..a0bc84ef
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoadd_w.dump
@@ -0,0 +1,124 @@
+
+rv64ua-p-amoadd_w: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6a023 sw a0,0(a3)
+ 80000110: 00b6a72f amoadd.w a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71263 bne a4,t4,80000160 <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006a783 lw a5,0(a3)
+ 80000124: 80000eb7 lui t4,0x80000
+ 80000128: 800e8e9b addiw t4,t4,-2048
+ 8000012c: 00300193 li gp,3
+ 80000130: 03d79863 bne a5,t4,80000160 <fail>
+
+0000000080000134 <test_4>:
+ 80000134: 800005b7 lui a1,0x80000
+ 80000138: 00b6a72f amoadd.w a4,a1,(a3)
+ 8000013c: 80000eb7 lui t4,0x80000
+ 80000140: 800e8e9b addiw t4,t4,-2048
+ 80000144: 00400193 li gp,4
+ 80000148: 01d71c63 bne a4,t4,80000160 <fail>
+
+000000008000014c <test_5>:
+ 8000014c: 0006a783 lw a5,0(a3)
+ 80000150: 80000e93 li t4,-2048
+ 80000154: 00500193 li gp,5
+ 80000158: 01d79463 bne a5,t4,80000160 <fail>
+ 8000015c: 00301c63 bne zero,gp,80000174 <pass>
+
+0000000080000160 <fail>:
+ 80000160: 0ff0000f fence
+ 80000164: 00018063 beqz gp,80000164 <fail+0x4>
+ 80000168: 00119193 slli gp,gp,0x1
+ 8000016c: 0011e193 ori gp,gp,1
+ 80000170: 00000073 ecall
+
+0000000080000174 <pass>:
+ 80000174: 0ff0000f fence
+ 80000178: 00100193 li gp,1
+ 8000017c: 00000073 ecall
+ 80000180: c0001073 unimp
diff --git a/test/riscv/tests/rv64ua-p-amoadd_w.elf b/test/riscv/tests/rv64ua-p-amoadd_w.elf
new file mode 100755
index 00000000..4b3457d8
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoadd_w.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amoand_d.dump b/test/riscv/tests/rv64ua-p-amoand_d.dump
new file mode 100644
index 00000000..cb398f8d
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoand_d.dump
@@ -0,0 +1,124 @@
+
+rv64ua-p-amoand_d: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6b023 sd a0,0(a3)
+ 80000110: 60b6b72f amoand.d a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71263 bne a4,t4,80000160 <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006b783 ld a5,0(a3)
+ 80000124: 80000eb7 lui t4,0x80000
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79a63 bne a5,t4,80000160 <fail>
+
+0000000080000130 <test_4>:
+ 80000130: 0010059b addiw a1,zero,1
+ 80000134: 01f59593 slli a1,a1,0x1f
+ 80000138: 60b6b72f amoand.d a4,a1,(a3)
+ 8000013c: 80000eb7 lui t4,0x80000
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71e63 bne a4,t4,80000160 <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006b783 ld a5,0(a3)
+ 8000014c: 00100e9b addiw t4,zero,1
+ 80000150: 01fe9e93 slli t4,t4,0x1f
+ 80000154: 00500193 li gp,5
+ 80000158: 01d79463 bne a5,t4,80000160 <fail>
+ 8000015c: 00301c63 bne zero,gp,80000174 <pass>
+
+0000000080000160 <fail>:
+ 80000160: 0ff0000f fence
+ 80000164: 00018063 beqz gp,80000164 <fail+0x4>
+ 80000168: 00119193 slli gp,gp,0x1
+ 8000016c: 0011e193 ori gp,gp,1
+ 80000170: 00000073 ecall
+
+0000000080000174 <pass>:
+ 80000174: 0ff0000f fence
+ 80000178: 00100193 li gp,1
+ 8000017c: 00000073 ecall
+ 80000180: c0001073 unimp
diff --git a/test/riscv/tests/rv64ua-p-amoand_d.elf b/test/riscv/tests/rv64ua-p-amoand_d.elf
new file mode 100755
index 00000000..47e8b321
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoand_d.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amoand_w.dump b/test/riscv/tests/rv64ua-p-amoand_w.dump
new file mode 100644
index 00000000..83ce206d
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoand_w.dump
@@ -0,0 +1,125 @@
+
+rv64ua-p-amoand_w: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6a023 sw a0,0(a3)
+ 80000110: 60b6a72f amoand.w a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71063 bne a4,t4,8000015c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006a783 lw a5,0(a3)
+ 80000124: 80000eb7 lui t4,0x80000
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79863 bne a5,t4,8000015c <fail>
+
+0000000080000130 <test_4>:
+ 80000130: 0010059b addiw a1,zero,1
+ 80000134: 01f59593 slli a1,a1,0x1f
+ 80000138: 60b6a72f amoand.w a4,a1,(a3)
+ 8000013c: 80000eb7 lui t4,0x80000
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71c63 bne a4,t4,8000015c <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006a783 lw a5,0(a3)
+ 8000014c: 80000eb7 lui t4,0x80000
+ 80000150: 00500193 li gp,5
+ 80000154: 01d79463 bne a5,t4,8000015c <fail>
+ 80000158: 00301c63 bne zero,gp,80000170 <pass>
+
+000000008000015c <fail>:
+ 8000015c: 0ff0000f fence
+ 80000160: 00018063 beqz gp,80000160 <fail+0x4>
+ 80000164: 00119193 slli gp,gp,0x1
+ 80000168: 0011e193 ori gp,gp,1
+ 8000016c: 00000073 ecall
+
+0000000080000170 <pass>:
+ 80000170: 0ff0000f fence
+ 80000174: 00100193 li gp,1
+ 80000178: 00000073 ecall
+ 8000017c: c0001073 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amoand_w.elf b/test/riscv/tests/rv64ua-p-amoand_w.elf
new file mode 100755
index 00000000..06c29f8b
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoand_w.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amomax_d.dump b/test/riscv/tests/rv64ua-p-amomax_d.dump
new file mode 100644
index 00000000..c91c2c8a
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomax_d.dump
@@ -0,0 +1,125 @@
+
+rv64ua-p-amomax_d: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6b023 sd a0,0(a3)
+ 80000110: a0b6b72f amomax.d a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71063 bne a4,t4,8000015c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006b783 ld a5,0(a3)
+ 80000124: 80000e93 li t4,-2048
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79863 bne a5,t4,8000015c <fail>
+
+0000000080000130 <test_4>:
+ 80000130: 00100593 li a1,1
+ 80000134: 0006b023 sd zero,0(a3)
+ 80000138: a0b6b72f amomax.d a4,a1,(a3)
+ 8000013c: 00000e93 li t4,0
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71c63 bne a4,t4,8000015c <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006b783 ld a5,0(a3)
+ 8000014c: 00100e93 li t4,1
+ 80000150: 00500193 li gp,5
+ 80000154: 01d79463 bne a5,t4,8000015c <fail>
+ 80000158: 00301c63 bne zero,gp,80000170 <pass>
+
+000000008000015c <fail>:
+ 8000015c: 0ff0000f fence
+ 80000160: 00018063 beqz gp,80000160 <fail+0x4>
+ 80000164: 00119193 slli gp,gp,0x1
+ 80000168: 0011e193 ori gp,gp,1
+ 8000016c: 00000073 ecall
+
+0000000080000170 <pass>:
+ 80000170: 0ff0000f fence
+ 80000174: 00100193 li gp,1
+ 80000178: 00000073 ecall
+ 8000017c: c0001073 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amomax_d.elf b/test/riscv/tests/rv64ua-p-amomax_d.elf
new file mode 100755
index 00000000..4828a226
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomax_d.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amomax_w.dump b/test/riscv/tests/rv64ua-p-amomax_w.dump
new file mode 100644
index 00000000..5de2185e
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomax_w.dump
@@ -0,0 +1,125 @@
+
+rv64ua-p-amomax_w: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6a023 sw a0,0(a3)
+ 80000110: a0b6a72f amomax.w a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71063 bne a4,t4,8000015c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006a783 lw a5,0(a3)
+ 80000124: 80000e93 li t4,-2048
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79863 bne a5,t4,8000015c <fail>
+
+0000000080000130 <test_4>:
+ 80000130: 00100593 li a1,1
+ 80000134: 0006a023 sw zero,0(a3)
+ 80000138: a0b6a72f amomax.w a4,a1,(a3)
+ 8000013c: 00000e93 li t4,0
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71c63 bne a4,t4,8000015c <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006a783 lw a5,0(a3)
+ 8000014c: 00100e93 li t4,1
+ 80000150: 00500193 li gp,5
+ 80000154: 01d79463 bne a5,t4,8000015c <fail>
+ 80000158: 00301c63 bne zero,gp,80000170 <pass>
+
+000000008000015c <fail>:
+ 8000015c: 0ff0000f fence
+ 80000160: 00018063 beqz gp,80000160 <fail+0x4>
+ 80000164: 00119193 slli gp,gp,0x1
+ 80000168: 0011e193 ori gp,gp,1
+ 8000016c: 00000073 ecall
+
+0000000080000170 <pass>:
+ 80000170: 0ff0000f fence
+ 80000174: 00100193 li gp,1
+ 80000178: 00000073 ecall
+ 8000017c: c0001073 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amomax_w.elf b/test/riscv/tests/rv64ua-p-amomax_w.elf
new file mode 100755
index 00000000..1336c9c7
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomax_w.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amomaxu_d.dump b/test/riscv/tests/rv64ua-p-amomaxu_d.dump
new file mode 100644
index 00000000..8492cd4d
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomaxu_d.dump
@@ -0,0 +1,125 @@
+
+rv64ua-p-amomaxu_d: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6b023 sd a0,0(a3)
+ 80000110: e0b6b72f amomaxu.d a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71063 bne a4,t4,8000015c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006b783 ld a5,0(a3)
+ 80000124: 80000e93 li t4,-2048
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79863 bne a5,t4,8000015c <fail>
+
+0000000080000130 <test_4>:
+ 80000130: fff00593 li a1,-1
+ 80000134: 0006b023 sd zero,0(a3)
+ 80000138: e0b6b72f amomaxu.d a4,a1,(a3)
+ 8000013c: 00000e93 li t4,0
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71c63 bne a4,t4,8000015c <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006b783 ld a5,0(a3)
+ 8000014c: fff00e93 li t4,-1
+ 80000150: 00500193 li gp,5
+ 80000154: 01d79463 bne a5,t4,8000015c <fail>
+ 80000158: 00301c63 bne zero,gp,80000170 <pass>
+
+000000008000015c <fail>:
+ 8000015c: 0ff0000f fence
+ 80000160: 00018063 beqz gp,80000160 <fail+0x4>
+ 80000164: 00119193 slli gp,gp,0x1
+ 80000168: 0011e193 ori gp,gp,1
+ 8000016c: 00000073 ecall
+
+0000000080000170 <pass>:
+ 80000170: 0ff0000f fence
+ 80000174: 00100193 li gp,1
+ 80000178: 00000073 ecall
+ 8000017c: c0001073 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amomaxu_d.elf b/test/riscv/tests/rv64ua-p-amomaxu_d.elf
new file mode 100755
index 00000000..04a36aad
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomaxu_d.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amomaxu_w.dump b/test/riscv/tests/rv64ua-p-amomaxu_w.dump
new file mode 100644
index 00000000..1f01067b
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomaxu_w.dump
@@ -0,0 +1,125 @@
+
+rv64ua-p-amomaxu_w: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6a023 sw a0,0(a3)
+ 80000110: e0b6a72f amomaxu.w a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71063 bne a4,t4,8000015c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006a783 lw a5,0(a3)
+ 80000124: 80000e93 li t4,-2048
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79863 bne a5,t4,8000015c <fail>
+
+0000000080000130 <test_4>:
+ 80000130: fff00593 li a1,-1
+ 80000134: 0006a023 sw zero,0(a3)
+ 80000138: e0b6a72f amomaxu.w a4,a1,(a3)
+ 8000013c: 00000e93 li t4,0
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71c63 bne a4,t4,8000015c <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006a783 lw a5,0(a3)
+ 8000014c: fff00e93 li t4,-1
+ 80000150: 00500193 li gp,5
+ 80000154: 01d79463 bne a5,t4,8000015c <fail>
+ 80000158: 00301c63 bne zero,gp,80000170 <pass>
+
+000000008000015c <fail>:
+ 8000015c: 0ff0000f fence
+ 80000160: 00018063 beqz gp,80000160 <fail+0x4>
+ 80000164: 00119193 slli gp,gp,0x1
+ 80000168: 0011e193 ori gp,gp,1
+ 8000016c: 00000073 ecall
+
+0000000080000170 <pass>:
+ 80000170: 0ff0000f fence
+ 80000174: 00100193 li gp,1
+ 80000178: 00000073 ecall
+ 8000017c: c0001073 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amomaxu_w.elf b/test/riscv/tests/rv64ua-p-amomaxu_w.elf
new file mode 100755
index 00000000..37b392f4
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomaxu_w.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amomin_d.dump b/test/riscv/tests/rv64ua-p-amomin_d.dump
new file mode 100644
index 00000000..a45ab4fd
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomin_d.dump
@@ -0,0 +1,125 @@
+
+rv64ua-p-amomin_d: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6b023 sd a0,0(a3)
+ 80000110: 80b6b72f amomin.d a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71063 bne a4,t4,8000015c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006b783 ld a5,0(a3)
+ 80000124: 80000eb7 lui t4,0x80000
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79863 bne a5,t4,8000015c <fail>
+
+0000000080000130 <test_4>:
+ 80000130: fff00593 li a1,-1
+ 80000134: 0006b023 sd zero,0(a3)
+ 80000138: 80b6b72f amomin.d a4,a1,(a3)
+ 8000013c: 00000e93 li t4,0
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71c63 bne a4,t4,8000015c <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006b783 ld a5,0(a3)
+ 8000014c: fff00e93 li t4,-1
+ 80000150: 00500193 li gp,5
+ 80000154: 01d79463 bne a5,t4,8000015c <fail>
+ 80000158: 00301c63 bne zero,gp,80000170 <pass>
+
+000000008000015c <fail>:
+ 8000015c: 0ff0000f fence
+ 80000160: 00018063 beqz gp,80000160 <fail+0x4>
+ 80000164: 00119193 slli gp,gp,0x1
+ 80000168: 0011e193 ori gp,gp,1
+ 8000016c: 00000073 ecall
+
+0000000080000170 <pass>:
+ 80000170: 0ff0000f fence
+ 80000174: 00100193 li gp,1
+ 80000178: 00000073 ecall
+ 8000017c: c0001073 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amomin_d.elf b/test/riscv/tests/rv64ua-p-amomin_d.elf
new file mode 100755
index 00000000..87a28983
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomin_d.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amomin_w.dump b/test/riscv/tests/rv64ua-p-amomin_w.dump
new file mode 100644
index 00000000..b97ec5a8
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomin_w.dump
@@ -0,0 +1,125 @@
+
+rv64ua-p-amomin_w: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6a023 sw a0,0(a3)
+ 80000110: 80b6a72f amomin.w a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71063 bne a4,t4,8000015c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006a783 lw a5,0(a3)
+ 80000124: 80000eb7 lui t4,0x80000
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79863 bne a5,t4,8000015c <fail>
+
+0000000080000130 <test_4>:
+ 80000130: fff00593 li a1,-1
+ 80000134: 0006a023 sw zero,0(a3)
+ 80000138: 80b6a72f amomin.w a4,a1,(a3)
+ 8000013c: 00000e93 li t4,0
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71c63 bne a4,t4,8000015c <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006a783 lw a5,0(a3)
+ 8000014c: fff00e93 li t4,-1
+ 80000150: 00500193 li gp,5
+ 80000154: 01d79463 bne a5,t4,8000015c <fail>
+ 80000158: 00301c63 bne zero,gp,80000170 <pass>
+
+000000008000015c <fail>:
+ 8000015c: 0ff0000f fence
+ 80000160: 00018063 beqz gp,80000160 <fail+0x4>
+ 80000164: 00119193 slli gp,gp,0x1
+ 80000168: 0011e193 ori gp,gp,1
+ 8000016c: 00000073 ecall
+
+0000000080000170 <pass>:
+ 80000170: 0ff0000f fence
+ 80000174: 00100193 li gp,1
+ 80000178: 00000073 ecall
+ 8000017c: c0001073 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amomin_w.elf b/test/riscv/tests/rv64ua-p-amomin_w.elf
new file mode 100755
index 00000000..201e7deb
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amomin_w.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amominu_d.dump b/test/riscv/tests/rv64ua-p-amominu_d.dump
new file mode 100644
index 00000000..c4b90c66
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amominu_d.dump
@@ -0,0 +1,125 @@
+
+rv64ua-p-amominu_d: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6b023 sd a0,0(a3)
+ 80000110: c0b6b72f amominu.d a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71063 bne a4,t4,8000015c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006b783 ld a5,0(a3)
+ 80000124: 80000eb7 lui t4,0x80000
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79863 bne a5,t4,8000015c <fail>
+
+0000000080000130 <test_4>:
+ 80000130: fff00593 li a1,-1
+ 80000134: 0006b023 sd zero,0(a3)
+ 80000138: c0b6b72f amominu.d a4,a1,(a3)
+ 8000013c: 00000e93 li t4,0
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71c63 bne a4,t4,8000015c <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006b783 ld a5,0(a3)
+ 8000014c: 00000e93 li t4,0
+ 80000150: 00500193 li gp,5
+ 80000154: 01d79463 bne a5,t4,8000015c <fail>
+ 80000158: 00301c63 bne zero,gp,80000170 <pass>
+
+000000008000015c <fail>:
+ 8000015c: 0ff0000f fence
+ 80000160: 00018063 beqz gp,80000160 <fail+0x4>
+ 80000164: 00119193 slli gp,gp,0x1
+ 80000168: 0011e193 ori gp,gp,1
+ 8000016c: 00000073 ecall
+
+0000000080000170 <pass>:
+ 80000170: 0ff0000f fence
+ 80000174: 00100193 li gp,1
+ 80000178: 00000073 ecall
+ 8000017c: c0001073 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amominu_d.elf b/test/riscv/tests/rv64ua-p-amominu_d.elf
new file mode 100755
index 00000000..a5cee277
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amominu_d.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amominu_w.dump b/test/riscv/tests/rv64ua-p-amominu_w.dump
new file mode 100644
index 00000000..7a80790f
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amominu_w.dump
@@ -0,0 +1,125 @@
+
+rv64ua-p-amominu_w: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6a023 sw a0,0(a3)
+ 80000110: c0b6a72f amominu.w a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71063 bne a4,t4,8000015c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006a783 lw a5,0(a3)
+ 80000124: 80000eb7 lui t4,0x80000
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79863 bne a5,t4,8000015c <fail>
+
+0000000080000130 <test_4>:
+ 80000130: fff00593 li a1,-1
+ 80000134: 0006a023 sw zero,0(a3)
+ 80000138: c0b6a72f amominu.w a4,a1,(a3)
+ 8000013c: 00000e93 li t4,0
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71c63 bne a4,t4,8000015c <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006a783 lw a5,0(a3)
+ 8000014c: 00000e93 li t4,0
+ 80000150: 00500193 li gp,5
+ 80000154: 01d79463 bne a5,t4,8000015c <fail>
+ 80000158: 00301c63 bne zero,gp,80000170 <pass>
+
+000000008000015c <fail>:
+ 8000015c: 0ff0000f fence
+ 80000160: 00018063 beqz gp,80000160 <fail+0x4>
+ 80000164: 00119193 slli gp,gp,0x1
+ 80000168: 0011e193 ori gp,gp,1
+ 8000016c: 00000073 ecall
+
+0000000080000170 <pass>:
+ 80000170: 0ff0000f fence
+ 80000174: 00100193 li gp,1
+ 80000178: 00000073 ecall
+ 8000017c: c0001073 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amominu_w.elf b/test/riscv/tests/rv64ua-p-amominu_w.elf
new file mode 100755
index 00000000..a2b0bfdd
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amominu_w.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amoor_d.dump b/test/riscv/tests/rv64ua-p-amoor_d.dump
new file mode 100644
index 00000000..0248704e
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoor_d.dump
@@ -0,0 +1,126 @@
+
+rv64ua-p-amoor_d: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6b023 sd a0,0(a3)
+ 80000110: 40b6b72f amoor.d a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 03d71e63 bne a4,t4,80000158 <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006b783 ld a5,0(a3)
+ 80000124: 80000e93 li t4,-2048
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79663 bne a5,t4,80000158 <fail>
+
+0000000080000130 <test_4>:
+ 80000130: 00100593 li a1,1
+ 80000134: 40b6b72f amoor.d a4,a1,(a3)
+ 80000138: 80000e93 li t4,-2048
+ 8000013c: 00400193 li gp,4
+ 80000140: 01d71c63 bne a4,t4,80000158 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 0006b783 ld a5,0(a3)
+ 80000148: 80100e93 li t4,-2047
+ 8000014c: 00500193 li gp,5
+ 80000150: 01d79463 bne a5,t4,80000158 <fail>
+ 80000154: 00301c63 bne zero,gp,8000016c <pass>
+
+0000000080000158 <fail>:
+ 80000158: 0ff0000f fence
+ 8000015c: 00018063 beqz gp,8000015c <fail+0x4>
+ 80000160: 00119193 slli gp,gp,0x1
+ 80000164: 0011e193 ori gp,gp,1
+ 80000168: 00000073 ecall
+
+000000008000016c <pass>:
+ 8000016c: 0ff0000f fence
+ 80000170: 00100193 li gp,1
+ 80000174: 00000073 ecall
+ 80000178: c0001073 unimp
+ 8000017c: 0000 unimp
+ 8000017e: 0000 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amoor_d.elf b/test/riscv/tests/rv64ua-p-amoor_d.elf
new file mode 100755
index 00000000..3549d35f
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoor_d.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amoor_w.dump b/test/riscv/tests/rv64ua-p-amoor_w.dump
new file mode 100644
index 00000000..d20d20a6
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoor_w.dump
@@ -0,0 +1,126 @@
+
+rv64ua-p-amoor_w: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6a023 sw a0,0(a3)
+ 80000110: 40b6a72f amoor.w a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 03d71e63 bne a4,t4,80000158 <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006a783 lw a5,0(a3)
+ 80000124: 80000e93 li t4,-2048
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79663 bne a5,t4,80000158 <fail>
+
+0000000080000130 <test_4>:
+ 80000130: 00100593 li a1,1
+ 80000134: 40b6a72f amoor.w a4,a1,(a3)
+ 80000138: 80000e93 li t4,-2048
+ 8000013c: 00400193 li gp,4
+ 80000140: 01d71c63 bne a4,t4,80000158 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 0006a783 lw a5,0(a3)
+ 80000148: 80100e93 li t4,-2047
+ 8000014c: 00500193 li gp,5
+ 80000150: 01d79463 bne a5,t4,80000158 <fail>
+ 80000154: 00301c63 bne zero,gp,8000016c <pass>
+
+0000000080000158 <fail>:
+ 80000158: 0ff0000f fence
+ 8000015c: 00018063 beqz gp,8000015c <fail+0x4>
+ 80000160: 00119193 slli gp,gp,0x1
+ 80000164: 0011e193 ori gp,gp,1
+ 80000168: 00000073 ecall
+
+000000008000016c <pass>:
+ 8000016c: 0ff0000f fence
+ 80000170: 00100193 li gp,1
+ 80000174: 00000073 ecall
+ 80000178: c0001073 unimp
+ 8000017c: 0000 unimp
+ 8000017e: 0000 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amoor_w.elf b/test/riscv/tests/rv64ua-p-amoor_w.elf
new file mode 100755
index 00000000..4e408f28
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoor_w.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amoswap_d.dump b/test/riscv/tests/rv64ua-p-amoswap_d.dump
new file mode 100644
index 00000000..f61e23bd
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoswap_d.dump
@@ -0,0 +1,124 @@
+
+rv64ua-p-amoswap_d: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6b023 sd a0,0(a3)
+ 80000110: 08b6b72f amoswap.d a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71263 bne a4,t4,80000160 <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006b783 ld a5,0(a3)
+ 80000124: 80000e93 li t4,-2048
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79a63 bne a5,t4,80000160 <fail>
+
+0000000080000130 <test_4>:
+ 80000130: 0010059b addiw a1,zero,1
+ 80000134: 01f59593 slli a1,a1,0x1f
+ 80000138: 08b6b72f amoswap.d a4,a1,(a3)
+ 8000013c: 80000e93 li t4,-2048
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71e63 bne a4,t4,80000160 <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006b783 ld a5,0(a3)
+ 8000014c: 00100e9b addiw t4,zero,1
+ 80000150: 01fe9e93 slli t4,t4,0x1f
+ 80000154: 00500193 li gp,5
+ 80000158: 01d79463 bne a5,t4,80000160 <fail>
+ 8000015c: 00301c63 bne zero,gp,80000174 <pass>
+
+0000000080000160 <fail>:
+ 80000160: 0ff0000f fence
+ 80000164: 00018063 beqz gp,80000164 <fail+0x4>
+ 80000168: 00119193 slli gp,gp,0x1
+ 8000016c: 0011e193 ori gp,gp,1
+ 80000170: 00000073 ecall
+
+0000000080000174 <pass>:
+ 80000174: 0ff0000f fence
+ 80000178: 00100193 li gp,1
+ 8000017c: 00000073 ecall
+ 80000180: c0001073 unimp
diff --git a/test/riscv/tests/rv64ua-p-amoswap_d.elf b/test/riscv/tests/rv64ua-p-amoswap_d.elf
new file mode 100755
index 00000000..642c648d
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoswap_d.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amoswap_w.dump b/test/riscv/tests/rv64ua-p-amoswap_w.dump
new file mode 100644
index 00000000..e43f3820
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoswap_w.dump
@@ -0,0 +1,125 @@
+
+rv64ua-p-amoswap_w: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6a023 sw a0,0(a3)
+ 80000110: 08b6a72f amoswap.w a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71063 bne a4,t4,8000015c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006a783 lw a5,0(a3)
+ 80000124: 80000e93 li t4,-2048
+ 80000128: 00300193 li gp,3
+ 8000012c: 03d79863 bne a5,t4,8000015c <fail>
+
+0000000080000130 <test_4>:
+ 80000130: 0010059b addiw a1,zero,1
+ 80000134: 01f59593 slli a1,a1,0x1f
+ 80000138: 08b6a72f amoswap.w a4,a1,(a3)
+ 8000013c: 80000e93 li t4,-2048
+ 80000140: 00400193 li gp,4
+ 80000144: 01d71c63 bne a4,t4,8000015c <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 0006a783 lw a5,0(a3)
+ 8000014c: 80000eb7 lui t4,0x80000
+ 80000150: 00500193 li gp,5
+ 80000154: 01d79463 bne a5,t4,8000015c <fail>
+ 80000158: 00301c63 bne zero,gp,80000170 <pass>
+
+000000008000015c <fail>:
+ 8000015c: 0ff0000f fence
+ 80000160: 00018063 beqz gp,80000160 <fail+0x4>
+ 80000164: 00119193 slli gp,gp,0x1
+ 80000168: 0011e193 ori gp,gp,1
+ 8000016c: 00000073 ecall
+
+0000000080000170 <pass>:
+ 80000170: 0ff0000f fence
+ 80000174: 00100193 li gp,1
+ 80000178: 00000073 ecall
+ 8000017c: c0001073 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amoswap_w.elf b/test/riscv/tests/rv64ua-p-amoswap_w.elf
new file mode 100755
index 00000000..e0b9e58e
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoswap_w.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amoxor_d.dump b/test/riscv/tests/rv64ua-p-amoxor_d.dump
new file mode 100644
index 00000000..992a22e1
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoxor_d.dump
@@ -0,0 +1,155 @@
+
+rv64ua-p-amoxor_d: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6b023 sd a0,0(a3)
+ 80000110: 20b6b72f amoxor.d a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71463 bne a4,t4,80000164 <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006b783 ld a5,0(a3)
+ 80000124: 80000eb7 lui t4,0x80000
+ 80000128: 800e8e9b addiw t4,t4,-2048
+ 8000012c: 00300193 li gp,3
+ 80000130: 03d79a63 bne a5,t4,80000164 <fail>
+
+0000000080000134 <test_4>:
+ 80000134: 00100593 li a1,1
+ 80000138: 20b6b72f amoxor.d a4,a1,(a3)
+ 8000013c: 80000eb7 lui t4,0x80000
+ 80000140: 800e8e9b addiw t4,t4,-2048
+ 80000144: 00400193 li gp,4
+ 80000148: 01d71e63 bne a4,t4,80000164 <fail>
+
+000000008000014c <test_5>:
+ 8000014c: 0006b783 ld a5,0(a3)
+ 80000150: 80000eb7 lui t4,0x80000
+ 80000154: 801e8e9b addiw t4,t4,-2047
+ 80000158: 00500193 li gp,5
+ 8000015c: 01d79463 bne a5,t4,80000164 <fail>
+ 80000160: 00301c63 bne zero,gp,80000178 <pass>
+
+0000000080000164 <fail>:
+ 80000164: 0ff0000f fence
+ 80000168: 00018063 beqz gp,80000168 <fail+0x4>
+ 8000016c: 00119193 slli gp,gp,0x1
+ 80000170: 0011e193 ori gp,gp,1
+ 80000174: 00000073 ecall
+
+0000000080000178 <pass>:
+ 80000178: 0ff0000f fence
+ 8000017c: 00100193 li gp,1
+ 80000180: 00000073 ecall
+ 80000184: c0001073 unimp
+ 80000188: 0000 unimp
+ 8000018a: 0000 unimp
+ 8000018c: 0000 unimp
+ 8000018e: 0000 unimp
+ 80000190: 0000 unimp
+ 80000192: 0000 unimp
+ 80000194: 0000 unimp
+ 80000196: 0000 unimp
+ 80000198: 0000 unimp
+ 8000019a: 0000 unimp
+ 8000019c: 0000 unimp
+ 8000019e: 0000 unimp
+ 800001a0: 0000 unimp
+ 800001a2: 0000 unimp
+ 800001a4: 0000 unimp
+ 800001a6: 0000 unimp
+ 800001a8: 0000 unimp
+ 800001aa: 0000 unimp
+ 800001ac: 0000 unimp
+ 800001ae: 0000 unimp
+ 800001b0: 0000 unimp
+ 800001b2: 0000 unimp
+ 800001b4: 0000 unimp
+ 800001b6: 0000 unimp
+ 800001b8: 0000 unimp
+ 800001ba: 0000 unimp
+ 800001bc: 0000 unimp
+ 800001be: 0000 unimp
+ 800001c0: 0000 unimp
+ 800001c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amoxor_d.elf b/test/riscv/tests/rv64ua-p-amoxor_d.elf
new file mode 100755
index 00000000..a04e1f1c
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoxor_d.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-amoxor_w.dump b/test/riscv/tests/rv64ua-p-amoxor_w.dump
new file mode 100644
index 00000000..6bca3f65
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoxor_w.dump
@@ -0,0 +1,153 @@
+
+rv64ua-p-amoxor_w: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 80000537 lui a0,0x80000
+ 80000100: 80000593 li a1,-2048
+ 80000104: 00002697 auipc a3,0x2
+ 80000108: efc68693 addi a3,a3,-260 # 80002000 <begin_signature>
+ 8000010c: 00a6a023 sw a0,0(a3)
+ 80000110: 20b6a72f amoxor.w a4,a1,(a3)
+ 80000114: 80000eb7 lui t4,0x80000
+ 80000118: 00200193 li gp,2
+ 8000011c: 05d71863 bne a4,t4,8000016c <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 0006a783 lw a5,0(a3)
+ 80000124: 80000eb7 lui t4,0x80000
+ 80000128: 800e8e9b addiw t4,t4,-2048
+ 8000012c: 00300193 li gp,3
+ 80000130: 03d79e63 bne a5,t4,8000016c <fail>
+
+0000000080000134 <test_4>:
+ 80000134: 0030059b addiw a1,zero,3
+ 80000138: 01e59593 slli a1,a1,0x1e
+ 8000013c: 00158593 addi a1,a1,1
+ 80000140: 20b6a72f amoxor.w a4,a1,(a3)
+ 80000144: 80000eb7 lui t4,0x80000
+ 80000148: 800e8e9b addiw t4,t4,-2048
+ 8000014c: 00400193 li gp,4
+ 80000150: 01d71e63 bne a4,t4,8000016c <fail>
+
+0000000080000154 <test_5>:
+ 80000154: 0006a783 lw a5,0(a3)
+ 80000158: c0000eb7 lui t4,0xc0000
+ 8000015c: 801e8e9b addiw t4,t4,-2047
+ 80000160: 00500193 li gp,5
+ 80000164: 01d79463 bne a5,t4,8000016c <fail>
+ 80000168: 00301c63 bne zero,gp,80000180 <pass>
+
+000000008000016c <fail>:
+ 8000016c: 0ff0000f fence
+ 80000170: 00018063 beqz gp,80000170 <fail+0x4>
+ 80000174: 00119193 slli gp,gp,0x1
+ 80000178: 0011e193 ori gp,gp,1
+ 8000017c: 00000073 ecall
+
+0000000080000180 <pass>:
+ 80000180: 0ff0000f fence
+ 80000184: 00100193 li gp,1
+ 80000188: 00000073 ecall
+ 8000018c: c0001073 unimp
+ 80000190: 0000 unimp
+ 80000192: 0000 unimp
+ 80000194: 0000 unimp
+ 80000196: 0000 unimp
+ 80000198: 0000 unimp
+ 8000019a: 0000 unimp
+ 8000019c: 0000 unimp
+ 8000019e: 0000 unimp
+ 800001a0: 0000 unimp
+ 800001a2: 0000 unimp
+ 800001a4: 0000 unimp
+ 800001a6: 0000 unimp
+ 800001a8: 0000 unimp
+ 800001aa: 0000 unimp
+ 800001ac: 0000 unimp
+ 800001ae: 0000 unimp
+ 800001b0: 0000 unimp
+ 800001b2: 0000 unimp
+ 800001b4: 0000 unimp
+ 800001b6: 0000 unimp
+ 800001b8: 0000 unimp
+ 800001ba: 0000 unimp
+ 800001bc: 0000 unimp
+ 800001be: 0000 unimp
+ 800001c0: 0000 unimp
+ 800001c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-amoxor_w.elf b/test/riscv/tests/rv64ua-p-amoxor_w.elf
new file mode 100755
index 00000000..fc27683f
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-amoxor_w.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ua-p-lrsc.dump b/test/riscv/tests/rv64ua-p-lrsc.dump
new file mode 100644
index 00000000..4aec511e
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-lrsc.dump
@@ -0,0 +1,178 @@
+
+rv64ua-p-lrsc: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <reset_vector+0xb0>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+ 800000fc: 00002517 auipc a0,0x2
+ 80000100: f0450513 addi a0,a0,-252 # 80002000 <begin_signature>
+ 80000104: 00100593 li a1,1
+ 80000108: 00b5262f amoadd.w a2,a1,(a0)
+ 8000010c: 00100693 li a3,1
+ 80000110: fed67ee3 bleu a3,a2,8000010c <reset_vector+0xc0>
+ 80000114: 00052583 lw a1,0(a0)
+ 80000118: fed5eee3 bltu a1,a3,80000114 <reset_vector+0xc8>
+
+000000008000011c <test_2>:
+ 8000011c: 00002517 auipc a0,0x2
+ 80000120: eec50513 addi a0,a0,-276 # 80002008 <foo>
+ 80000124: 1805272f sc.w a4,zero,(a0)
+ 80000128: 00100e93 li t4,1
+ 8000012c: 00200193 li gp,2
+ 80000130: 09d71863 bne a4,t4,800001c0 <fail>
+
+0000000080000134 <test_3>:
+ 80000134: 00002517 auipc a0,0x2
+ 80000138: ed450513 addi a0,a0,-300 # 80002008 <foo>
+ 8000013c: 40050593 addi a1,a0,1024
+ 80000140: 1005a5af lr.w a1,(a1)
+ 80000144: 18b5272f sc.w a4,a1,(a0)
+ 80000148: 00100e93 li t4,1
+ 8000014c: 00300193 li gp,3
+ 80000150: 07d71863 bne a4,t4,800001c0 <fail>
+ 80000154: 00002517 auipc a0,0x2
+ 80000158: eb450513 addi a0,a0,-332 # 80002008 <foo>
+ 8000015c: 40000593 li a1,1024
+ 80000160: 00160613 addi a2,a2,1
+ 80000164: 1005272f lr.w a4,(a0)
+ 80000168: 00c70733 add a4,a4,a2
+ 8000016c: 18e5272f sc.w a4,a4,(a0)
+ 80000170: fe071ae3 bnez a4,80000164 <test_3+0x30>
+ 80000174: fff58593 addi a1,a1,-1
+ 80000178: fe0596e3 bnez a1,80000164 <test_3+0x30>
+ 8000017c: 00002517 auipc a0,0x2
+ 80000180: e8850513 addi a0,a0,-376 # 80002004 <barrier>
+ 80000184: 00100593 li a1,1
+ 80000188: 00b5202f amoadd.w zero,a1,(a0)
+ 8000018c: 00052583 lw a1,0(a0)
+ 80000190: fed5cee3 blt a1,a3,8000018c <test_3+0x58>
+ 80000194: 0ff0000f fence
+
+0000000080000198 <test_4>:
+ 80000198: 00002517 auipc a0,0x2
+ 8000019c: e7052503 lw a0,-400(a0) # 80002008 <foo>
+ 800001a0: 00969593 slli a1,a3,0x9
+ 800001a4: 40b50533 sub a0,a0,a1
+ 800001a8: fff68693 addi a3,a3,-1
+ 800001ac: fe06dce3 bgez a3,800001a4 <test_4+0xc>
+ 800001b0: 00000e93 li t4,0
+ 800001b4: 00400193 li gp,4
+ 800001b8: 01d51463 bne a0,t4,800001c0 <fail>
+ 800001bc: 00301c63 bne zero,gp,800001d4 <pass>
+
+00000000800001c0 <fail>:
+ 800001c0: 0ff0000f fence
+ 800001c4: 00018063 beqz gp,800001c4 <fail+0x4>
+ 800001c8: 00119193 slli gp,gp,0x1
+ 800001cc: 0011e193 ori gp,gp,1
+ 800001d0: 00000073 ecall
+
+00000000800001d4 <pass>:
+ 800001d4: 0ff0000f fence
+ 800001d8: 00100193 li gp,1
+ 800001dc: 00000073 ecall
+ 800001e0: c0001073 unimp
+ 800001e4: 0000 unimp
+ 800001e6: 0000 unimp
+ 800001e8: 0000 unimp
+ 800001ea: 0000 unimp
+ 800001ec: 0000 unimp
+ 800001ee: 0000 unimp
+ 800001f0: 0000 unimp
+ 800001f2: 0000 unimp
+ 800001f4: 0000 unimp
+ 800001f6: 0000 unimp
+ 800001f8: 0000 unimp
+ 800001fa: 0000 unimp
+ 800001fc: 0000 unimp
+ 800001fe: 0000 unimp
+ 80000200: 0000 unimp
+ 80000202: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: 0000 unimp
+ 80002002: 0000 unimp
+
+0000000080002004 <barrier>:
+ 80002004: 0000 unimp
+ 80002006: 0000 unimp
+
+0000000080002008 <foo>:
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: 0000 unimp
+ 8000200e: 0000 unimp
diff --git a/test/riscv/tests/rv64ua-p-lrsc.elf b/test/riscv/tests/rv64ua-p-lrsc.elf
new file mode 100755
index 00000000..f9b7fc2e
--- /dev/null
+++ b/test/riscv/tests/rv64ua-p-lrsc.elf
Binary files differ
diff --git a/test/riscv/tests/rv64uc-p-rvc.dump b/test/riscv/tests/rv64uc-p-rvc.dump
new file mode 100644
index 00000000..616e38fe
--- /dev/null
+++ b/test/riscv/tests/rv64uc-p-rvc.dump
@@ -0,0 +1,4878 @@
+
+rv64uc-p-rvc: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00003f17 auipc t5,0x3
+ 80000044: fc3f2023 sw gp,-64(t5) # 80003000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <reset_vector+0xb0>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+ 800000fc: 00200193 li gp,2
+ 80000100: 29a00593 li a1,666
+
+0000000080000104 <test_2>:
+ 80000104: 6fb0106f j 80001ffe <data+0x1ef6>
+
+0000000080000108 <data>:
+ 80000108: 3210 fld fa2,32(a2)
+ 8000010a: 7654 ld a3,168(a2)
+ 8000010c: ba98 fsd fa4,48(a3)
+ 8000010e: fedc sd a5,184(a3)
+ 80000110: 3210 fld fa2,32(a2)
+ 80000112: 7654 ld a3,168(a2)
+ 80000114: ba98 fsd fa4,48(a3)
+ 80000116: fedc sd a5,184(a3)
+ 80000118: 00000013 nop
+ 8000011c: 00000013 nop
+ 80000120: 00000013 nop
+ 80000124: 00000013 nop
+ 80000128: 00000013 nop
+ 8000012c: 00000013 nop
+ 80000130: 00000013 nop
+ 80000134: 00000013 nop
+ 80000138: 00000013 nop
+ 8000013c: 00000013 nop
+ 80000140: 00000013 nop
+ 80000144: 00000013 nop
+ 80000148: 00000013 nop
+ 8000014c: 00000013 nop
+ 80000150: 00000013 nop
+ 80000154: 00000013 nop
+ 80000158: 00000013 nop
+ 8000015c: 00000013 nop
+ 80000160: 00000013 nop
+ 80000164: 00000013 nop
+ 80000168: 00000013 nop
+ 8000016c: 00000013 nop
+ 80000170: 00000013 nop
+ 80000174: 00000013 nop
+ 80000178: 00000013 nop
+ 8000017c: 00000013 nop
+ 80000180: 00000013 nop
+ 80000184: 00000013 nop
+ 80000188: 00000013 nop
+ 8000018c: 00000013 nop
+ 80000190: 00000013 nop
+ 80000194: 00000013 nop
+ 80000198: 00000013 nop
+ 8000019c: 00000013 nop
+ 800001a0: 00000013 nop
+ 800001a4: 00000013 nop
+ 800001a8: 00000013 nop
+ 800001ac: 00000013 nop
+ 800001b0: 00000013 nop
+ 800001b4: 00000013 nop
+ 800001b8: 00000013 nop
+ 800001bc: 00000013 nop
+ 800001c0: 00000013 nop
+ 800001c4: 00000013 nop
+ 800001c8: 00000013 nop
+ 800001cc: 00000013 nop
+ 800001d0: 00000013 nop
+ 800001d4: 00000013 nop
+ 800001d8: 00000013 nop
+ 800001dc: 00000013 nop
+ 800001e0: 00000013 nop
+ 800001e4: 00000013 nop
+ 800001e8: 00000013 nop
+ 800001ec: 00000013 nop
+ 800001f0: 00000013 nop
+ 800001f4: 00000013 nop
+ 800001f8: 00000013 nop
+ 800001fc: 00000013 nop
+ 80000200: 00000013 nop
+ 80000204: 00000013 nop
+ 80000208: 00000013 nop
+ 8000020c: 00000013 nop
+ 80000210: 00000013 nop
+ 80000214: 00000013 nop
+ 80000218: 00000013 nop
+ 8000021c: 00000013 nop
+ 80000220: 00000013 nop
+ 80000224: 00000013 nop
+ 80000228: 00000013 nop
+ 8000022c: 00000013 nop
+ 80000230: 00000013 nop
+ 80000234: 00000013 nop
+ 80000238: 00000013 nop
+ 8000023c: 00000013 nop
+ 80000240: 00000013 nop
+ 80000244: 00000013 nop
+ 80000248: 00000013 nop
+ 8000024c: 00000013 nop
+ 80000250: 00000013 nop
+ 80000254: 00000013 nop
+ 80000258: 00000013 nop
+ 8000025c: 00000013 nop
+ 80000260: 00000013 nop
+ 80000264: 00000013 nop
+ 80000268: 00000013 nop
+ 8000026c: 00000013 nop
+ 80000270: 00000013 nop
+ 80000274: 00000013 nop
+ 80000278: 00000013 nop
+ 8000027c: 00000013 nop
+ 80000280: 00000013 nop
+ 80000284: 00000013 nop
+ 80000288: 00000013 nop
+ 8000028c: 00000013 nop
+ 80000290: 00000013 nop
+ 80000294: 00000013 nop
+ 80000298: 00000013 nop
+ 8000029c: 00000013 nop
+ 800002a0: 00000013 nop
+ 800002a4: 00000013 nop
+ 800002a8: 00000013 nop
+ 800002ac: 00000013 nop
+ 800002b0: 00000013 nop
+ 800002b4: 00000013 nop
+ 800002b8: 00000013 nop
+ 800002bc: 00000013 nop
+ 800002c0: 00000013 nop
+ 800002c4: 00000013 nop
+ 800002c8: 00000013 nop
+ 800002cc: 00000013 nop
+ 800002d0: 00000013 nop
+ 800002d4: 00000013 nop
+ 800002d8: 00000013 nop
+ 800002dc: 00000013 nop
+ 800002e0: 00000013 nop
+ 800002e4: 00000013 nop
+ 800002e8: 00000013 nop
+ 800002ec: 00000013 nop
+ 800002f0: 00000013 nop
+ 800002f4: 00000013 nop
+ 800002f8: 00000013 nop
+ 800002fc: 00000013 nop
+ 80000300: 00000013 nop
+ 80000304: 00000013 nop
+ 80000308: 00000013 nop
+ 8000030c: 00000013 nop
+ 80000310: 00000013 nop
+ 80000314: 00000013 nop
+ 80000318: 00000013 nop
+ 8000031c: 00000013 nop
+ 80000320: 00000013 nop
+ 80000324: 00000013 nop
+ 80000328: 00000013 nop
+ 8000032c: 00000013 nop
+ 80000330: 00000013 nop
+ 80000334: 00000013 nop
+ 80000338: 00000013 nop
+ 8000033c: 00000013 nop
+ 80000340: 00000013 nop
+ 80000344: 00000013 nop
+ 80000348: 00000013 nop
+ 8000034c: 00000013 nop
+ 80000350: 00000013 nop
+ 80000354: 00000013 nop
+ 80000358: 00000013 nop
+ 8000035c: 00000013 nop
+ 80000360: 00000013 nop
+ 80000364: 00000013 nop
+ 80000368: 00000013 nop
+ 8000036c: 00000013 nop
+ 80000370: 00000013 nop
+ 80000374: 00000013 nop
+ 80000378: 00000013 nop
+ 8000037c: 00000013 nop
+ 80000380: 00000013 nop
+ 80000384: 00000013 nop
+ 80000388: 00000013 nop
+ 8000038c: 00000013 nop
+ 80000390: 00000013 nop
+ 80000394: 00000013 nop
+ 80000398: 00000013 nop
+ 8000039c: 00000013 nop
+ 800003a0: 00000013 nop
+ 800003a4: 00000013 nop
+ 800003a8: 00000013 nop
+ 800003ac: 00000013 nop
+ 800003b0: 00000013 nop
+ 800003b4: 00000013 nop
+ 800003b8: 00000013 nop
+ 800003bc: 00000013 nop
+ 800003c0: 00000013 nop
+ 800003c4: 00000013 nop
+ 800003c8: 00000013 nop
+ 800003cc: 00000013 nop
+ 800003d0: 00000013 nop
+ 800003d4: 00000013 nop
+ 800003d8: 00000013 nop
+ 800003dc: 00000013 nop
+ 800003e0: 00000013 nop
+ 800003e4: 00000013 nop
+ 800003e8: 00000013 nop
+ 800003ec: 00000013 nop
+ 800003f0: 00000013 nop
+ 800003f4: 00000013 nop
+ 800003f8: 00000013 nop
+ 800003fc: 00000013 nop
+ 80000400: 00000013 nop
+ 80000404: 00000013 nop
+ 80000408: 00000013 nop
+ 8000040c: 00000013 nop
+ 80000410: 00000013 nop
+ 80000414: 00000013 nop
+ 80000418: 00000013 nop
+ 8000041c: 00000013 nop
+ 80000420: 00000013 nop
+ 80000424: 00000013 nop
+ 80000428: 00000013 nop
+ 8000042c: 00000013 nop
+ 80000430: 00000013 nop
+ 80000434: 00000013 nop
+ 80000438: 00000013 nop
+ 8000043c: 00000013 nop
+ 80000440: 00000013 nop
+ 80000444: 00000013 nop
+ 80000448: 00000013 nop
+ 8000044c: 00000013 nop
+ 80000450: 00000013 nop
+ 80000454: 00000013 nop
+ 80000458: 00000013 nop
+ 8000045c: 00000013 nop
+ 80000460: 00000013 nop
+ 80000464: 00000013 nop
+ 80000468: 00000013 nop
+ 8000046c: 00000013 nop
+ 80000470: 00000013 nop
+ 80000474: 00000013 nop
+ 80000478: 00000013 nop
+ 8000047c: 00000013 nop
+ 80000480: 00000013 nop
+ 80000484: 00000013 nop
+ 80000488: 00000013 nop
+ 8000048c: 00000013 nop
+ 80000490: 00000013 nop
+ 80000494: 00000013 nop
+ 80000498: 00000013 nop
+ 8000049c: 00000013 nop
+ 800004a0: 00000013 nop
+ 800004a4: 00000013 nop
+ 800004a8: 00000013 nop
+ 800004ac: 00000013 nop
+ 800004b0: 00000013 nop
+ 800004b4: 00000013 nop
+ 800004b8: 00000013 nop
+ 800004bc: 00000013 nop
+ 800004c0: 00000013 nop
+ 800004c4: 00000013 nop
+ 800004c8: 00000013 nop
+ 800004cc: 00000013 nop
+ 800004d0: 00000013 nop
+ 800004d4: 00000013 nop
+ 800004d8: 00000013 nop
+ 800004dc: 00000013 nop
+ 800004e0: 00000013 nop
+ 800004e4: 00000013 nop
+ 800004e8: 00000013 nop
+ 800004ec: 00000013 nop
+ 800004f0: 00000013 nop
+ 800004f4: 00000013 nop
+ 800004f8: 00000013 nop
+ 800004fc: 00000013 nop
+ 80000500: 00000013 nop
+ 80000504: 00000013 nop
+ 80000508: 00000013 nop
+ 8000050c: 00000013 nop
+ 80000510: 00000013 nop
+ 80000514: 00000013 nop
+ 80000518: 00000013 nop
+ 8000051c: 00000013 nop
+ 80000520: 00000013 nop
+ 80000524: 00000013 nop
+ 80000528: 00000013 nop
+ 8000052c: 00000013 nop
+ 80000530: 00000013 nop
+ 80000534: 00000013 nop
+ 80000538: 00000013 nop
+ 8000053c: 00000013 nop
+ 80000540: 00000013 nop
+ 80000544: 00000013 nop
+ 80000548: 00000013 nop
+ 8000054c: 00000013 nop
+ 80000550: 00000013 nop
+ 80000554: 00000013 nop
+ 80000558: 00000013 nop
+ 8000055c: 00000013 nop
+ 80000560: 00000013 nop
+ 80000564: 00000013 nop
+ 80000568: 00000013 nop
+ 8000056c: 00000013 nop
+ 80000570: 00000013 nop
+ 80000574: 00000013 nop
+ 80000578: 00000013 nop
+ 8000057c: 00000013 nop
+ 80000580: 00000013 nop
+ 80000584: 00000013 nop
+ 80000588: 00000013 nop
+ 8000058c: 00000013 nop
+ 80000590: 00000013 nop
+ 80000594: 00000013 nop
+ 80000598: 00000013 nop
+ 8000059c: 00000013 nop
+ 800005a0: 00000013 nop
+ 800005a4: 00000013 nop
+ 800005a8: 00000013 nop
+ 800005ac: 00000013 nop
+ 800005b0: 00000013 nop
+ 800005b4: 00000013 nop
+ 800005b8: 00000013 nop
+ 800005bc: 00000013 nop
+ 800005c0: 00000013 nop
+ 800005c4: 00000013 nop
+ 800005c8: 00000013 nop
+ 800005cc: 00000013 nop
+ 800005d0: 00000013 nop
+ 800005d4: 00000013 nop
+ 800005d8: 00000013 nop
+ 800005dc: 00000013 nop
+ 800005e0: 00000013 nop
+ 800005e4: 00000013 nop
+ 800005e8: 00000013 nop
+ 800005ec: 00000013 nop
+ 800005f0: 00000013 nop
+ 800005f4: 00000013 nop
+ 800005f8: 00000013 nop
+ 800005fc: 00000013 nop
+ 80000600: 00000013 nop
+ 80000604: 00000013 nop
+ 80000608: 00000013 nop
+ 8000060c: 00000013 nop
+ 80000610: 00000013 nop
+ 80000614: 00000013 nop
+ 80000618: 00000013 nop
+ 8000061c: 00000013 nop
+ 80000620: 00000013 nop
+ 80000624: 00000013 nop
+ 80000628: 00000013 nop
+ 8000062c: 00000013 nop
+ 80000630: 00000013 nop
+ 80000634: 00000013 nop
+ 80000638: 00000013 nop
+ 8000063c: 00000013 nop
+ 80000640: 00000013 nop
+ 80000644: 00000013 nop
+ 80000648: 00000013 nop
+ 8000064c: 00000013 nop
+ 80000650: 00000013 nop
+ 80000654: 00000013 nop
+ 80000658: 00000013 nop
+ 8000065c: 00000013 nop
+ 80000660: 00000013 nop
+ 80000664: 00000013 nop
+ 80000668: 00000013 nop
+ 8000066c: 00000013 nop
+ 80000670: 00000013 nop
+ 80000674: 00000013 nop
+ 80000678: 00000013 nop
+ 8000067c: 00000013 nop
+ 80000680: 00000013 nop
+ 80000684: 00000013 nop
+ 80000688: 00000013 nop
+ 8000068c: 00000013 nop
+ 80000690: 00000013 nop
+ 80000694: 00000013 nop
+ 80000698: 00000013 nop
+ 8000069c: 00000013 nop
+ 800006a0: 00000013 nop
+ 800006a4: 00000013 nop
+ 800006a8: 00000013 nop
+ 800006ac: 00000013 nop
+ 800006b0: 00000013 nop
+ 800006b4: 00000013 nop
+ 800006b8: 00000013 nop
+ 800006bc: 00000013 nop
+ 800006c0: 00000013 nop
+ 800006c4: 00000013 nop
+ 800006c8: 00000013 nop
+ 800006cc: 00000013 nop
+ 800006d0: 00000013 nop
+ 800006d4: 00000013 nop
+ 800006d8: 00000013 nop
+ 800006dc: 00000013 nop
+ 800006e0: 00000013 nop
+ 800006e4: 00000013 nop
+ 800006e8: 00000013 nop
+ 800006ec: 00000013 nop
+ 800006f0: 00000013 nop
+ 800006f4: 00000013 nop
+ 800006f8: 00000013 nop
+ 800006fc: 00000013 nop
+ 80000700: 00000013 nop
+ 80000704: 00000013 nop
+ 80000708: 00000013 nop
+ 8000070c: 00000013 nop
+ 80000710: 00000013 nop
+ 80000714: 00000013 nop
+ 80000718: 00000013 nop
+ 8000071c: 00000013 nop
+ 80000720: 00000013 nop
+ 80000724: 00000013 nop
+ 80000728: 00000013 nop
+ 8000072c: 00000013 nop
+ 80000730: 00000013 nop
+ 80000734: 00000013 nop
+ 80000738: 00000013 nop
+ 8000073c: 00000013 nop
+ 80000740: 00000013 nop
+ 80000744: 00000013 nop
+ 80000748: 00000013 nop
+ 8000074c: 00000013 nop
+ 80000750: 00000013 nop
+ 80000754: 00000013 nop
+ 80000758: 00000013 nop
+ 8000075c: 00000013 nop
+ 80000760: 00000013 nop
+ 80000764: 00000013 nop
+ 80000768: 00000013 nop
+ 8000076c: 00000013 nop
+ 80000770: 00000013 nop
+ 80000774: 00000013 nop
+ 80000778: 00000013 nop
+ 8000077c: 00000013 nop
+ 80000780: 00000013 nop
+ 80000784: 00000013 nop
+ 80000788: 00000013 nop
+ 8000078c: 00000013 nop
+ 80000790: 00000013 nop
+ 80000794: 00000013 nop
+ 80000798: 00000013 nop
+ 8000079c: 00000013 nop
+ 800007a0: 00000013 nop
+ 800007a4: 00000013 nop
+ 800007a8: 00000013 nop
+ 800007ac: 00000013 nop
+ 800007b0: 00000013 nop
+ 800007b4: 00000013 nop
+ 800007b8: 00000013 nop
+ 800007bc: 00000013 nop
+ 800007c0: 00000013 nop
+ 800007c4: 00000013 nop
+ 800007c8: 00000013 nop
+ 800007cc: 00000013 nop
+ 800007d0: 00000013 nop
+ 800007d4: 00000013 nop
+ 800007d8: 00000013 nop
+ 800007dc: 00000013 nop
+ 800007e0: 00000013 nop
+ 800007e4: 00000013 nop
+ 800007e8: 00000013 nop
+ 800007ec: 00000013 nop
+ 800007f0: 00000013 nop
+ 800007f4: 00000013 nop
+ 800007f8: 00000013 nop
+ 800007fc: 00000013 nop
+ 80000800: 00000013 nop
+ 80000804: 00000013 nop
+ 80000808: 00000013 nop
+ 8000080c: 00000013 nop
+ 80000810: 00000013 nop
+ 80000814: 00000013 nop
+ 80000818: 00000013 nop
+ 8000081c: 00000013 nop
+ 80000820: 00000013 nop
+ 80000824: 00000013 nop
+ 80000828: 00000013 nop
+ 8000082c: 00000013 nop
+ 80000830: 00000013 nop
+ 80000834: 00000013 nop
+ 80000838: 00000013 nop
+ 8000083c: 00000013 nop
+ 80000840: 00000013 nop
+ 80000844: 00000013 nop
+ 80000848: 00000013 nop
+ 8000084c: 00000013 nop
+ 80000850: 00000013 nop
+ 80000854: 00000013 nop
+ 80000858: 00000013 nop
+ 8000085c: 00000013 nop
+ 80000860: 00000013 nop
+ 80000864: 00000013 nop
+ 80000868: 00000013 nop
+ 8000086c: 00000013 nop
+ 80000870: 00000013 nop
+ 80000874: 00000013 nop
+ 80000878: 00000013 nop
+ 8000087c: 00000013 nop
+ 80000880: 00000013 nop
+ 80000884: 00000013 nop
+ 80000888: 00000013 nop
+ 8000088c: 00000013 nop
+ 80000890: 00000013 nop
+ 80000894: 00000013 nop
+ 80000898: 00000013 nop
+ 8000089c: 00000013 nop
+ 800008a0: 00000013 nop
+ 800008a4: 00000013 nop
+ 800008a8: 00000013 nop
+ 800008ac: 00000013 nop
+ 800008b0: 00000013 nop
+ 800008b4: 00000013 nop
+ 800008b8: 00000013 nop
+ 800008bc: 00000013 nop
+ 800008c0: 00000013 nop
+ 800008c4: 00000013 nop
+ 800008c8: 00000013 nop
+ 800008cc: 00000013 nop
+ 800008d0: 00000013 nop
+ 800008d4: 00000013 nop
+ 800008d8: 00000013 nop
+ 800008dc: 00000013 nop
+ 800008e0: 00000013 nop
+ 800008e4: 00000013 nop
+ 800008e8: 00000013 nop
+ 800008ec: 00000013 nop
+ 800008f0: 00000013 nop
+ 800008f4: 00000013 nop
+ 800008f8: 00000013 nop
+ 800008fc: 00000013 nop
+ 80000900: 00000013 nop
+ 80000904: 00000013 nop
+ 80000908: 00000013 nop
+ 8000090c: 00000013 nop
+ 80000910: 00000013 nop
+ 80000914: 00000013 nop
+ 80000918: 00000013 nop
+ 8000091c: 00000013 nop
+ 80000920: 00000013 nop
+ 80000924: 00000013 nop
+ 80000928: 00000013 nop
+ 8000092c: 00000013 nop
+ 80000930: 00000013 nop
+ 80000934: 00000013 nop
+ 80000938: 00000013 nop
+ 8000093c: 00000013 nop
+ 80000940: 00000013 nop
+ 80000944: 00000013 nop
+ 80000948: 00000013 nop
+ 8000094c: 00000013 nop
+ 80000950: 00000013 nop
+ 80000954: 00000013 nop
+ 80000958: 00000013 nop
+ 8000095c: 00000013 nop
+ 80000960: 00000013 nop
+ 80000964: 00000013 nop
+ 80000968: 00000013 nop
+ 8000096c: 00000013 nop
+ 80000970: 00000013 nop
+ 80000974: 00000013 nop
+ 80000978: 00000013 nop
+ 8000097c: 00000013 nop
+ 80000980: 00000013 nop
+ 80000984: 00000013 nop
+ 80000988: 00000013 nop
+ 8000098c: 00000013 nop
+ 80000990: 00000013 nop
+ 80000994: 00000013 nop
+ 80000998: 00000013 nop
+ 8000099c: 00000013 nop
+ 800009a0: 00000013 nop
+ 800009a4: 00000013 nop
+ 800009a8: 00000013 nop
+ 800009ac: 00000013 nop
+ 800009b0: 00000013 nop
+ 800009b4: 00000013 nop
+ 800009b8: 00000013 nop
+ 800009bc: 00000013 nop
+ 800009c0: 00000013 nop
+ 800009c4: 00000013 nop
+ 800009c8: 00000013 nop
+ 800009cc: 00000013 nop
+ 800009d0: 00000013 nop
+ 800009d4: 00000013 nop
+ 800009d8: 00000013 nop
+ 800009dc: 00000013 nop
+ 800009e0: 00000013 nop
+ 800009e4: 00000013 nop
+ 800009e8: 00000013 nop
+ 800009ec: 00000013 nop
+ 800009f0: 00000013 nop
+ 800009f4: 00000013 nop
+ 800009f8: 00000013 nop
+ 800009fc: 00000013 nop
+ 80000a00: 00000013 nop
+ 80000a04: 00000013 nop
+ 80000a08: 00000013 nop
+ 80000a0c: 00000013 nop
+ 80000a10: 00000013 nop
+ 80000a14: 00000013 nop
+ 80000a18: 00000013 nop
+ 80000a1c: 00000013 nop
+ 80000a20: 00000013 nop
+ 80000a24: 00000013 nop
+ 80000a28: 00000013 nop
+ 80000a2c: 00000013 nop
+ 80000a30: 00000013 nop
+ 80000a34: 00000013 nop
+ 80000a38: 00000013 nop
+ 80000a3c: 00000013 nop
+ 80000a40: 00000013 nop
+ 80000a44: 00000013 nop
+ 80000a48: 00000013 nop
+ 80000a4c: 00000013 nop
+ 80000a50: 00000013 nop
+ 80000a54: 00000013 nop
+ 80000a58: 00000013 nop
+ 80000a5c: 00000013 nop
+ 80000a60: 00000013 nop
+ 80000a64: 00000013 nop
+ 80000a68: 00000013 nop
+ 80000a6c: 00000013 nop
+ 80000a70: 00000013 nop
+ 80000a74: 00000013 nop
+ 80000a78: 00000013 nop
+ 80000a7c: 00000013 nop
+ 80000a80: 00000013 nop
+ 80000a84: 00000013 nop
+ 80000a88: 00000013 nop
+ 80000a8c: 00000013 nop
+ 80000a90: 00000013 nop
+ 80000a94: 00000013 nop
+ 80000a98: 00000013 nop
+ 80000a9c: 00000013 nop
+ 80000aa0: 00000013 nop
+ 80000aa4: 00000013 nop
+ 80000aa8: 00000013 nop
+ 80000aac: 00000013 nop
+ 80000ab0: 00000013 nop
+ 80000ab4: 00000013 nop
+ 80000ab8: 00000013 nop
+ 80000abc: 00000013 nop
+ 80000ac0: 00000013 nop
+ 80000ac4: 00000013 nop
+ 80000ac8: 00000013 nop
+ 80000acc: 00000013 nop
+ 80000ad0: 00000013 nop
+ 80000ad4: 00000013 nop
+ 80000ad8: 00000013 nop
+ 80000adc: 00000013 nop
+ 80000ae0: 00000013 nop
+ 80000ae4: 00000013 nop
+ 80000ae8: 00000013 nop
+ 80000aec: 00000013 nop
+ 80000af0: 00000013 nop
+ 80000af4: 00000013 nop
+ 80000af8: 00000013 nop
+ 80000afc: 00000013 nop
+ 80000b00: 00000013 nop
+ 80000b04: 00000013 nop
+ 80000b08: 00000013 nop
+ 80000b0c: 00000013 nop
+ 80000b10: 00000013 nop
+ 80000b14: 00000013 nop
+ 80000b18: 00000013 nop
+ 80000b1c: 00000013 nop
+ 80000b20: 00000013 nop
+ 80000b24: 00000013 nop
+ 80000b28: 00000013 nop
+ 80000b2c: 00000013 nop
+ 80000b30: 00000013 nop
+ 80000b34: 00000013 nop
+ 80000b38: 00000013 nop
+ 80000b3c: 00000013 nop
+ 80000b40: 00000013 nop
+ 80000b44: 00000013 nop
+ 80000b48: 00000013 nop
+ 80000b4c: 00000013 nop
+ 80000b50: 00000013 nop
+ 80000b54: 00000013 nop
+ 80000b58: 00000013 nop
+ 80000b5c: 00000013 nop
+ 80000b60: 00000013 nop
+ 80000b64: 00000013 nop
+ 80000b68: 00000013 nop
+ 80000b6c: 00000013 nop
+ 80000b70: 00000013 nop
+ 80000b74: 00000013 nop
+ 80000b78: 00000013 nop
+ 80000b7c: 00000013 nop
+ 80000b80: 00000013 nop
+ 80000b84: 00000013 nop
+ 80000b88: 00000013 nop
+ 80000b8c: 00000013 nop
+ 80000b90: 00000013 nop
+ 80000b94: 00000013 nop
+ 80000b98: 00000013 nop
+ 80000b9c: 00000013 nop
+ 80000ba0: 00000013 nop
+ 80000ba4: 00000013 nop
+ 80000ba8: 00000013 nop
+ 80000bac: 00000013 nop
+ 80000bb0: 00000013 nop
+ 80000bb4: 00000013 nop
+ 80000bb8: 00000013 nop
+ 80000bbc: 00000013 nop
+ 80000bc0: 00000013 nop
+ 80000bc4: 00000013 nop
+ 80000bc8: 00000013 nop
+ 80000bcc: 00000013 nop
+ 80000bd0: 00000013 nop
+ 80000bd4: 00000013 nop
+ 80000bd8: 00000013 nop
+ 80000bdc: 00000013 nop
+ 80000be0: 00000013 nop
+ 80000be4: 00000013 nop
+ 80000be8: 00000013 nop
+ 80000bec: 00000013 nop
+ 80000bf0: 00000013 nop
+ 80000bf4: 00000013 nop
+ 80000bf8: 00000013 nop
+ 80000bfc: 00000013 nop
+ 80000c00: 00000013 nop
+ 80000c04: 00000013 nop
+ 80000c08: 00000013 nop
+ 80000c0c: 00000013 nop
+ 80000c10: 00000013 nop
+ 80000c14: 00000013 nop
+ 80000c18: 00000013 nop
+ 80000c1c: 00000013 nop
+ 80000c20: 00000013 nop
+ 80000c24: 00000013 nop
+ 80000c28: 00000013 nop
+ 80000c2c: 00000013 nop
+ 80000c30: 00000013 nop
+ 80000c34: 00000013 nop
+ 80000c38: 00000013 nop
+ 80000c3c: 00000013 nop
+ 80000c40: 00000013 nop
+ 80000c44: 00000013 nop
+ 80000c48: 00000013 nop
+ 80000c4c: 00000013 nop
+ 80000c50: 00000013 nop
+ 80000c54: 00000013 nop
+ 80000c58: 00000013 nop
+ 80000c5c: 00000013 nop
+ 80000c60: 00000013 nop
+ 80000c64: 00000013 nop
+ 80000c68: 00000013 nop
+ 80000c6c: 00000013 nop
+ 80000c70: 00000013 nop
+ 80000c74: 00000013 nop
+ 80000c78: 00000013 nop
+ 80000c7c: 00000013 nop
+ 80000c80: 00000013 nop
+ 80000c84: 00000013 nop
+ 80000c88: 00000013 nop
+ 80000c8c: 00000013 nop
+ 80000c90: 00000013 nop
+ 80000c94: 00000013 nop
+ 80000c98: 00000013 nop
+ 80000c9c: 00000013 nop
+ 80000ca0: 00000013 nop
+ 80000ca4: 00000013 nop
+ 80000ca8: 00000013 nop
+ 80000cac: 00000013 nop
+ 80000cb0: 00000013 nop
+ 80000cb4: 00000013 nop
+ 80000cb8: 00000013 nop
+ 80000cbc: 00000013 nop
+ 80000cc0: 00000013 nop
+ 80000cc4: 00000013 nop
+ 80000cc8: 00000013 nop
+ 80000ccc: 00000013 nop
+ 80000cd0: 00000013 nop
+ 80000cd4: 00000013 nop
+ 80000cd8: 00000013 nop
+ 80000cdc: 00000013 nop
+ 80000ce0: 00000013 nop
+ 80000ce4: 00000013 nop
+ 80000ce8: 00000013 nop
+ 80000cec: 00000013 nop
+ 80000cf0: 00000013 nop
+ 80000cf4: 00000013 nop
+ 80000cf8: 00000013 nop
+ 80000cfc: 00000013 nop
+ 80000d00: 00000013 nop
+ 80000d04: 00000013 nop
+ 80000d08: 00000013 nop
+ 80000d0c: 00000013 nop
+ 80000d10: 00000013 nop
+ 80000d14: 00000013 nop
+ 80000d18: 00000013 nop
+ 80000d1c: 00000013 nop
+ 80000d20: 00000013 nop
+ 80000d24: 00000013 nop
+ 80000d28: 00000013 nop
+ 80000d2c: 00000013 nop
+ 80000d30: 00000013 nop
+ 80000d34: 00000013 nop
+ 80000d38: 00000013 nop
+ 80000d3c: 00000013 nop
+ 80000d40: 00000013 nop
+ 80000d44: 00000013 nop
+ 80000d48: 00000013 nop
+ 80000d4c: 00000013 nop
+ 80000d50: 00000013 nop
+ 80000d54: 00000013 nop
+ 80000d58: 00000013 nop
+ 80000d5c: 00000013 nop
+ 80000d60: 00000013 nop
+ 80000d64: 00000013 nop
+ 80000d68: 00000013 nop
+ 80000d6c: 00000013 nop
+ 80000d70: 00000013 nop
+ 80000d74: 00000013 nop
+ 80000d78: 00000013 nop
+ 80000d7c: 00000013 nop
+ 80000d80: 00000013 nop
+ 80000d84: 00000013 nop
+ 80000d88: 00000013 nop
+ 80000d8c: 00000013 nop
+ 80000d90: 00000013 nop
+ 80000d94: 00000013 nop
+ 80000d98: 00000013 nop
+ 80000d9c: 00000013 nop
+ 80000da0: 00000013 nop
+ 80000da4: 00000013 nop
+ 80000da8: 00000013 nop
+ 80000dac: 00000013 nop
+ 80000db0: 00000013 nop
+ 80000db4: 00000013 nop
+ 80000db8: 00000013 nop
+ 80000dbc: 00000013 nop
+ 80000dc0: 00000013 nop
+ 80000dc4: 00000013 nop
+ 80000dc8: 00000013 nop
+ 80000dcc: 00000013 nop
+ 80000dd0: 00000013 nop
+ 80000dd4: 00000013 nop
+ 80000dd8: 00000013 nop
+ 80000ddc: 00000013 nop
+ 80000de0: 00000013 nop
+ 80000de4: 00000013 nop
+ 80000de8: 00000013 nop
+ 80000dec: 00000013 nop
+ 80000df0: 00000013 nop
+ 80000df4: 00000013 nop
+ 80000df8: 00000013 nop
+ 80000dfc: 00000013 nop
+ 80000e00: 00000013 nop
+ 80000e04: 00000013 nop
+ 80000e08: 00000013 nop
+ 80000e0c: 00000013 nop
+ 80000e10: 00000013 nop
+ 80000e14: 00000013 nop
+ 80000e18: 00000013 nop
+ 80000e1c: 00000013 nop
+ 80000e20: 00000013 nop
+ 80000e24: 00000013 nop
+ 80000e28: 00000013 nop
+ 80000e2c: 00000013 nop
+ 80000e30: 00000013 nop
+ 80000e34: 00000013 nop
+ 80000e38: 00000013 nop
+ 80000e3c: 00000013 nop
+ 80000e40: 00000013 nop
+ 80000e44: 00000013 nop
+ 80000e48: 00000013 nop
+ 80000e4c: 00000013 nop
+ 80000e50: 00000013 nop
+ 80000e54: 00000013 nop
+ 80000e58: 00000013 nop
+ 80000e5c: 00000013 nop
+ 80000e60: 00000013 nop
+ 80000e64: 00000013 nop
+ 80000e68: 00000013 nop
+ 80000e6c: 00000013 nop
+ 80000e70: 00000013 nop
+ 80000e74: 00000013 nop
+ 80000e78: 00000013 nop
+ 80000e7c: 00000013 nop
+ 80000e80: 00000013 nop
+ 80000e84: 00000013 nop
+ 80000e88: 00000013 nop
+ 80000e8c: 00000013 nop
+ 80000e90: 00000013 nop
+ 80000e94: 00000013 nop
+ 80000e98: 00000013 nop
+ 80000e9c: 00000013 nop
+ 80000ea0: 00000013 nop
+ 80000ea4: 00000013 nop
+ 80000ea8: 00000013 nop
+ 80000eac: 00000013 nop
+ 80000eb0: 00000013 nop
+ 80000eb4: 00000013 nop
+ 80000eb8: 00000013 nop
+ 80000ebc: 00000013 nop
+ 80000ec0: 00000013 nop
+ 80000ec4: 00000013 nop
+ 80000ec8: 00000013 nop
+ 80000ecc: 00000013 nop
+ 80000ed0: 00000013 nop
+ 80000ed4: 00000013 nop
+ 80000ed8: 00000013 nop
+ 80000edc: 00000013 nop
+ 80000ee0: 00000013 nop
+ 80000ee4: 00000013 nop
+ 80000ee8: 00000013 nop
+ 80000eec: 00000013 nop
+ 80000ef0: 00000013 nop
+ 80000ef4: 00000013 nop
+ 80000ef8: 00000013 nop
+ 80000efc: 00000013 nop
+ 80000f00: 00000013 nop
+ 80000f04: 00000013 nop
+ 80000f08: 00000013 nop
+ 80000f0c: 00000013 nop
+ 80000f10: 00000013 nop
+ 80000f14: 00000013 nop
+ 80000f18: 00000013 nop
+ 80000f1c: 00000013 nop
+ 80000f20: 00000013 nop
+ 80000f24: 00000013 nop
+ 80000f28: 00000013 nop
+ 80000f2c: 00000013 nop
+ 80000f30: 00000013 nop
+ 80000f34: 00000013 nop
+ 80000f38: 00000013 nop
+ 80000f3c: 00000013 nop
+ 80000f40: 00000013 nop
+ 80000f44: 00000013 nop
+ 80000f48: 00000013 nop
+ 80000f4c: 00000013 nop
+ 80000f50: 00000013 nop
+ 80000f54: 00000013 nop
+ 80000f58: 00000013 nop
+ 80000f5c: 00000013 nop
+ 80000f60: 00000013 nop
+ 80000f64: 00000013 nop
+ 80000f68: 00000013 nop
+ 80000f6c: 00000013 nop
+ 80000f70: 00000013 nop
+ 80000f74: 00000013 nop
+ 80000f78: 00000013 nop
+ 80000f7c: 00000013 nop
+ 80000f80: 00000013 nop
+ 80000f84: 00000013 nop
+ 80000f88: 00000013 nop
+ 80000f8c: 00000013 nop
+ 80000f90: 00000013 nop
+ 80000f94: 00000013 nop
+ 80000f98: 00000013 nop
+ 80000f9c: 00000013 nop
+ 80000fa0: 00000013 nop
+ 80000fa4: 00000013 nop
+ 80000fa8: 00000013 nop
+ 80000fac: 00000013 nop
+ 80000fb0: 00000013 nop
+ 80000fb4: 00000013 nop
+ 80000fb8: 00000013 nop
+ 80000fbc: 00000013 nop
+ 80000fc0: 00000013 nop
+ 80000fc4: 00000013 nop
+ 80000fc8: 00000013 nop
+ 80000fcc: 00000013 nop
+ 80000fd0: 00000013 nop
+ 80000fd4: 00000013 nop
+ 80000fd8: 00000013 nop
+ 80000fdc: 00000013 nop
+ 80000fe0: 00000013 nop
+ 80000fe4: 00000013 nop
+ 80000fe8: 00000013 nop
+ 80000fec: 00000013 nop
+ 80000ff0: 00000013 nop
+ 80000ff4: 00000013 nop
+ 80000ff8: 00000013 nop
+ 80000ffc: 00000013 nop
+ 80001000: 0000 unimp
+ 80001002: 0000 unimp
+ 80001004: 0000 unimp
+ 80001006: 0000 unimp
+ 80001008: 0000 unimp
+ 8000100a: 0000 unimp
+ 8000100c: 0000 unimp
+ 8000100e: 0000 unimp
+ 80001010: 0000 unimp
+ 80001012: 0000 unimp
+ 80001014: 0000 unimp
+ 80001016: 0000 unimp
+ 80001018: 0000 unimp
+ 8000101a: 0000 unimp
+ 8000101c: 0000 unimp
+ 8000101e: 0000 unimp
+ 80001020: 0000 unimp
+ 80001022: 0000 unimp
+ 80001024: 0000 unimp
+ 80001026: 0000 unimp
+ 80001028: 0000 unimp
+ 8000102a: 0000 unimp
+ 8000102c: 0000 unimp
+ 8000102e: 0000 unimp
+ 80001030: 0000 unimp
+ 80001032: 0000 unimp
+ 80001034: 0000 unimp
+ 80001036: 0000 unimp
+ 80001038: 0000 unimp
+ 8000103a: 0000 unimp
+ 8000103c: 0000 unimp
+ 8000103e: 0000 unimp
+ 80001040: 0000 unimp
+ 80001042: 0000 unimp
+ 80001044: 0000 unimp
+ 80001046: 0000 unimp
+ 80001048: 0000 unimp
+ 8000104a: 0000 unimp
+ 8000104c: 0000 unimp
+ 8000104e: 0000 unimp
+ 80001050: 0000 unimp
+ 80001052: 0000 unimp
+ 80001054: 0000 unimp
+ 80001056: 0000 unimp
+ 80001058: 0000 unimp
+ 8000105a: 0000 unimp
+ 8000105c: 0000 unimp
+ 8000105e: 0000 unimp
+ 80001060: 0000 unimp
+ 80001062: 0000 unimp
+ 80001064: 0000 unimp
+ 80001066: 0000 unimp
+ 80001068: 0000 unimp
+ 8000106a: 0000 unimp
+ 8000106c: 0000 unimp
+ 8000106e: 0000 unimp
+ 80001070: 0000 unimp
+ 80001072: 0000 unimp
+ 80001074: 0000 unimp
+ 80001076: 0000 unimp
+ 80001078: 0000 unimp
+ 8000107a: 0000 unimp
+ 8000107c: 0000 unimp
+ 8000107e: 0000 unimp
+ 80001080: 0000 unimp
+ 80001082: 0000 unimp
+ 80001084: 0000 unimp
+ 80001086: 0000 unimp
+ 80001088: 0000 unimp
+ 8000108a: 0000 unimp
+ 8000108c: 0000 unimp
+ 8000108e: 0000 unimp
+ 80001090: 0000 unimp
+ 80001092: 0000 unimp
+ 80001094: 0000 unimp
+ 80001096: 0000 unimp
+ 80001098: 0000 unimp
+ 8000109a: 0000 unimp
+ 8000109c: 0000 unimp
+ 8000109e: 0000 unimp
+ 800010a0: 0000 unimp
+ 800010a2: 0000 unimp
+ 800010a4: 0000 unimp
+ 800010a6: 0000 unimp
+ 800010a8: 0000 unimp
+ 800010aa: 0000 unimp
+ 800010ac: 0000 unimp
+ 800010ae: 0000 unimp
+ 800010b0: 0000 unimp
+ 800010b2: 0000 unimp
+ 800010b4: 0000 unimp
+ 800010b6: 0000 unimp
+ 800010b8: 0000 unimp
+ 800010ba: 0000 unimp
+ 800010bc: 0000 unimp
+ 800010be: 0000 unimp
+ 800010c0: 0000 unimp
+ 800010c2: 0000 unimp
+ 800010c4: 0000 unimp
+ 800010c6: 0000 unimp
+ 800010c8: 0000 unimp
+ 800010ca: 0000 unimp
+ 800010cc: 0000 unimp
+ 800010ce: 0000 unimp
+ 800010d0: 0000 unimp
+ 800010d2: 0000 unimp
+ 800010d4: 0000 unimp
+ 800010d6: 0000 unimp
+ 800010d8: 0000 unimp
+ 800010da: 0000 unimp
+ 800010dc: 0000 unimp
+ 800010de: 0000 unimp
+ 800010e0: 0000 unimp
+ 800010e2: 0000 unimp
+ 800010e4: 0000 unimp
+ 800010e6: 0000 unimp
+ 800010e8: 0000 unimp
+ 800010ea: 0000 unimp
+ 800010ec: 0000 unimp
+ 800010ee: 0000 unimp
+ 800010f0: 0000 unimp
+ 800010f2: 0000 unimp
+ 800010f4: 0000 unimp
+ 800010f6: 0000 unimp
+ 800010f8: 0000 unimp
+ 800010fa: 0000 unimp
+ 800010fc: 0000 unimp
+ 800010fe: 0000 unimp
+ 80001100: 0000 unimp
+ 80001102: 0000 unimp
+ 80001104: 0000 unimp
+ 80001106: 0000 unimp
+ 80001108: 0000 unimp
+ 8000110a: 0000 unimp
+ 8000110c: 0000 unimp
+ 8000110e: 0000 unimp
+ 80001110: 0000 unimp
+ 80001112: 0000 unimp
+ 80001114: 0000 unimp
+ 80001116: 0000 unimp
+ 80001118: 0000 unimp
+ 8000111a: 0000 unimp
+ 8000111c: 0000 unimp
+ 8000111e: 0000 unimp
+ 80001120: 0000 unimp
+ 80001122: 0000 unimp
+ 80001124: 0000 unimp
+ 80001126: 0000 unimp
+ 80001128: 0000 unimp
+ 8000112a: 0000 unimp
+ 8000112c: 0000 unimp
+ 8000112e: 0000 unimp
+ 80001130: 0000 unimp
+ 80001132: 0000 unimp
+ 80001134: 0000 unimp
+ 80001136: 0000 unimp
+ 80001138: 0000 unimp
+ 8000113a: 0000 unimp
+ 8000113c: 0000 unimp
+ 8000113e: 0000 unimp
+ 80001140: 0000 unimp
+ 80001142: 0000 unimp
+ 80001144: 0000 unimp
+ 80001146: 0000 unimp
+ 80001148: 0000 unimp
+ 8000114a: 0000 unimp
+ 8000114c: 0000 unimp
+ 8000114e: 0000 unimp
+ 80001150: 0000 unimp
+ 80001152: 0000 unimp
+ 80001154: 0000 unimp
+ 80001156: 0000 unimp
+ 80001158: 0000 unimp
+ 8000115a: 0000 unimp
+ 8000115c: 0000 unimp
+ 8000115e: 0000 unimp
+ 80001160: 0000 unimp
+ 80001162: 0000 unimp
+ 80001164: 0000 unimp
+ 80001166: 0000 unimp
+ 80001168: 0000 unimp
+ 8000116a: 0000 unimp
+ 8000116c: 0000 unimp
+ 8000116e: 0000 unimp
+ 80001170: 0000 unimp
+ 80001172: 0000 unimp
+ 80001174: 0000 unimp
+ 80001176: 0000 unimp
+ 80001178: 0000 unimp
+ 8000117a: 0000 unimp
+ 8000117c: 0000 unimp
+ 8000117e: 0000 unimp
+ 80001180: 0000 unimp
+ 80001182: 0000 unimp
+ 80001184: 0000 unimp
+ 80001186: 0000 unimp
+ 80001188: 0000 unimp
+ 8000118a: 0000 unimp
+ 8000118c: 0000 unimp
+ 8000118e: 0000 unimp
+ 80001190: 0000 unimp
+ 80001192: 0000 unimp
+ 80001194: 0000 unimp
+ 80001196: 0000 unimp
+ 80001198: 0000 unimp
+ 8000119a: 0000 unimp
+ 8000119c: 0000 unimp
+ 8000119e: 0000 unimp
+ 800011a0: 0000 unimp
+ 800011a2: 0000 unimp
+ 800011a4: 0000 unimp
+ 800011a6: 0000 unimp
+ 800011a8: 0000 unimp
+ 800011aa: 0000 unimp
+ 800011ac: 0000 unimp
+ 800011ae: 0000 unimp
+ 800011b0: 0000 unimp
+ 800011b2: 0000 unimp
+ 800011b4: 0000 unimp
+ 800011b6: 0000 unimp
+ 800011b8: 0000 unimp
+ 800011ba: 0000 unimp
+ 800011bc: 0000 unimp
+ 800011be: 0000 unimp
+ 800011c0: 0000 unimp
+ 800011c2: 0000 unimp
+ 800011c4: 0000 unimp
+ 800011c6: 0000 unimp
+ 800011c8: 0000 unimp
+ 800011ca: 0000 unimp
+ 800011cc: 0000 unimp
+ 800011ce: 0000 unimp
+ 800011d0: 0000 unimp
+ 800011d2: 0000 unimp
+ 800011d4: 0000 unimp
+ 800011d6: 0000 unimp
+ 800011d8: 0000 unimp
+ 800011da: 0000 unimp
+ 800011dc: 0000 unimp
+ 800011de: 0000 unimp
+ 800011e0: 0000 unimp
+ 800011e2: 0000 unimp
+ 800011e4: 0000 unimp
+ 800011e6: 0000 unimp
+ 800011e8: 0000 unimp
+ 800011ea: 0000 unimp
+ 800011ec: 0000 unimp
+ 800011ee: 0000 unimp
+ 800011f0: 0000 unimp
+ 800011f2: 0000 unimp
+ 800011f4: 0000 unimp
+ 800011f6: 0000 unimp
+ 800011f8: 0000 unimp
+ 800011fa: 0000 unimp
+ 800011fc: 0000 unimp
+ 800011fe: 0000 unimp
+ 80001200: 0000 unimp
+ 80001202: 0000 unimp
+ 80001204: 0000 unimp
+ 80001206: 0000 unimp
+ 80001208: 0000 unimp
+ 8000120a: 0000 unimp
+ 8000120c: 0000 unimp
+ 8000120e: 0000 unimp
+ 80001210: 0000 unimp
+ 80001212: 0000 unimp
+ 80001214: 0000 unimp
+ 80001216: 0000 unimp
+ 80001218: 0000 unimp
+ 8000121a: 0000 unimp
+ 8000121c: 0000 unimp
+ 8000121e: 0000 unimp
+ 80001220: 0000 unimp
+ 80001222: 0000 unimp
+ 80001224: 0000 unimp
+ 80001226: 0000 unimp
+ 80001228: 0000 unimp
+ 8000122a: 0000 unimp
+ 8000122c: 0000 unimp
+ 8000122e: 0000 unimp
+ 80001230: 0000 unimp
+ 80001232: 0000 unimp
+ 80001234: 0000 unimp
+ 80001236: 0000 unimp
+ 80001238: 0000 unimp
+ 8000123a: 0000 unimp
+ 8000123c: 0000 unimp
+ 8000123e: 0000 unimp
+ 80001240: 0000 unimp
+ 80001242: 0000 unimp
+ 80001244: 0000 unimp
+ 80001246: 0000 unimp
+ 80001248: 0000 unimp
+ 8000124a: 0000 unimp
+ 8000124c: 0000 unimp
+ 8000124e: 0000 unimp
+ 80001250: 0000 unimp
+ 80001252: 0000 unimp
+ 80001254: 0000 unimp
+ 80001256: 0000 unimp
+ 80001258: 0000 unimp
+ 8000125a: 0000 unimp
+ 8000125c: 0000 unimp
+ 8000125e: 0000 unimp
+ 80001260: 0000 unimp
+ 80001262: 0000 unimp
+ 80001264: 0000 unimp
+ 80001266: 0000 unimp
+ 80001268: 0000 unimp
+ 8000126a: 0000 unimp
+ 8000126c: 0000 unimp
+ 8000126e: 0000 unimp
+ 80001270: 0000 unimp
+ 80001272: 0000 unimp
+ 80001274: 0000 unimp
+ 80001276: 0000 unimp
+ 80001278: 0000 unimp
+ 8000127a: 0000 unimp
+ 8000127c: 0000 unimp
+ 8000127e: 0000 unimp
+ 80001280: 0000 unimp
+ 80001282: 0000 unimp
+ 80001284: 0000 unimp
+ 80001286: 0000 unimp
+ 80001288: 0000 unimp
+ 8000128a: 0000 unimp
+ 8000128c: 0000 unimp
+ 8000128e: 0000 unimp
+ 80001290: 0000 unimp
+ 80001292: 0000 unimp
+ 80001294: 0000 unimp
+ 80001296: 0000 unimp
+ 80001298: 0000 unimp
+ 8000129a: 0000 unimp
+ 8000129c: 0000 unimp
+ 8000129e: 0000 unimp
+ 800012a0: 0000 unimp
+ 800012a2: 0000 unimp
+ 800012a4: 0000 unimp
+ 800012a6: 0000 unimp
+ 800012a8: 0000 unimp
+ 800012aa: 0000 unimp
+ 800012ac: 0000 unimp
+ 800012ae: 0000 unimp
+ 800012b0: 0000 unimp
+ 800012b2: 0000 unimp
+ 800012b4: 0000 unimp
+ 800012b6: 0000 unimp
+ 800012b8: 0000 unimp
+ 800012ba: 0000 unimp
+ 800012bc: 0000 unimp
+ 800012be: 0000 unimp
+ 800012c0: 0000 unimp
+ 800012c2: 0000 unimp
+ 800012c4: 0000 unimp
+ 800012c6: 0000 unimp
+ 800012c8: 0000 unimp
+ 800012ca: 0000 unimp
+ 800012cc: 0000 unimp
+ 800012ce: 0000 unimp
+ 800012d0: 0000 unimp
+ 800012d2: 0000 unimp
+ 800012d4: 0000 unimp
+ 800012d6: 0000 unimp
+ 800012d8: 0000 unimp
+ 800012da: 0000 unimp
+ 800012dc: 0000 unimp
+ 800012de: 0000 unimp
+ 800012e0: 0000 unimp
+ 800012e2: 0000 unimp
+ 800012e4: 0000 unimp
+ 800012e6: 0000 unimp
+ 800012e8: 0000 unimp
+ 800012ea: 0000 unimp
+ 800012ec: 0000 unimp
+ 800012ee: 0000 unimp
+ 800012f0: 0000 unimp
+ 800012f2: 0000 unimp
+ 800012f4: 0000 unimp
+ 800012f6: 0000 unimp
+ 800012f8: 0000 unimp
+ 800012fa: 0000 unimp
+ 800012fc: 0000 unimp
+ 800012fe: 0000 unimp
+ 80001300: 0000 unimp
+ 80001302: 0000 unimp
+ 80001304: 0000 unimp
+ 80001306: 0000 unimp
+ 80001308: 0000 unimp
+ 8000130a: 0000 unimp
+ 8000130c: 0000 unimp
+ 8000130e: 0000 unimp
+ 80001310: 0000 unimp
+ 80001312: 0000 unimp
+ 80001314: 0000 unimp
+ 80001316: 0000 unimp
+ 80001318: 0000 unimp
+ 8000131a: 0000 unimp
+ 8000131c: 0000 unimp
+ 8000131e: 0000 unimp
+ 80001320: 0000 unimp
+ 80001322: 0000 unimp
+ 80001324: 0000 unimp
+ 80001326: 0000 unimp
+ 80001328: 0000 unimp
+ 8000132a: 0000 unimp
+ 8000132c: 0000 unimp
+ 8000132e: 0000 unimp
+ 80001330: 0000 unimp
+ 80001332: 0000 unimp
+ 80001334: 0000 unimp
+ 80001336: 0000 unimp
+ 80001338: 0000 unimp
+ 8000133a: 0000 unimp
+ 8000133c: 0000 unimp
+ 8000133e: 0000 unimp
+ 80001340: 0000 unimp
+ 80001342: 0000 unimp
+ 80001344: 0000 unimp
+ 80001346: 0000 unimp
+ 80001348: 0000 unimp
+ 8000134a: 0000 unimp
+ 8000134c: 0000 unimp
+ 8000134e: 0000 unimp
+ 80001350: 0000 unimp
+ 80001352: 0000 unimp
+ 80001354: 0000 unimp
+ 80001356: 0000 unimp
+ 80001358: 0000 unimp
+ 8000135a: 0000 unimp
+ 8000135c: 0000 unimp
+ 8000135e: 0000 unimp
+ 80001360: 0000 unimp
+ 80001362: 0000 unimp
+ 80001364: 0000 unimp
+ 80001366: 0000 unimp
+ 80001368: 0000 unimp
+ 8000136a: 0000 unimp
+ 8000136c: 0000 unimp
+ 8000136e: 0000 unimp
+ 80001370: 0000 unimp
+ 80001372: 0000 unimp
+ 80001374: 0000 unimp
+ 80001376: 0000 unimp
+ 80001378: 0000 unimp
+ 8000137a: 0000 unimp
+ 8000137c: 0000 unimp
+ 8000137e: 0000 unimp
+ 80001380: 0000 unimp
+ 80001382: 0000 unimp
+ 80001384: 0000 unimp
+ 80001386: 0000 unimp
+ 80001388: 0000 unimp
+ 8000138a: 0000 unimp
+ 8000138c: 0000 unimp
+ 8000138e: 0000 unimp
+ 80001390: 0000 unimp
+ 80001392: 0000 unimp
+ 80001394: 0000 unimp
+ 80001396: 0000 unimp
+ 80001398: 0000 unimp
+ 8000139a: 0000 unimp
+ 8000139c: 0000 unimp
+ 8000139e: 0000 unimp
+ 800013a0: 0000 unimp
+ 800013a2: 0000 unimp
+ 800013a4: 0000 unimp
+ 800013a6: 0000 unimp
+ 800013a8: 0000 unimp
+ 800013aa: 0000 unimp
+ 800013ac: 0000 unimp
+ 800013ae: 0000 unimp
+ 800013b0: 0000 unimp
+ 800013b2: 0000 unimp
+ 800013b4: 0000 unimp
+ 800013b6: 0000 unimp
+ 800013b8: 0000 unimp
+ 800013ba: 0000 unimp
+ 800013bc: 0000 unimp
+ 800013be: 0000 unimp
+ 800013c0: 0000 unimp
+ 800013c2: 0000 unimp
+ 800013c4: 0000 unimp
+ 800013c6: 0000 unimp
+ 800013c8: 0000 unimp
+ 800013ca: 0000 unimp
+ 800013cc: 0000 unimp
+ 800013ce: 0000 unimp
+ 800013d0: 0000 unimp
+ 800013d2: 0000 unimp
+ 800013d4: 0000 unimp
+ 800013d6: 0000 unimp
+ 800013d8: 0000 unimp
+ 800013da: 0000 unimp
+ 800013dc: 0000 unimp
+ 800013de: 0000 unimp
+ 800013e0: 0000 unimp
+ 800013e2: 0000 unimp
+ 800013e4: 0000 unimp
+ 800013e6: 0000 unimp
+ 800013e8: 0000 unimp
+ 800013ea: 0000 unimp
+ 800013ec: 0000 unimp
+ 800013ee: 0000 unimp
+ 800013f0: 0000 unimp
+ 800013f2: 0000 unimp
+ 800013f4: 0000 unimp
+ 800013f6: 0000 unimp
+ 800013f8: 0000 unimp
+ 800013fa: 0000 unimp
+ 800013fc: 0000 unimp
+ 800013fe: 0000 unimp
+ 80001400: 0000 unimp
+ 80001402: 0000 unimp
+ 80001404: 0000 unimp
+ 80001406: 0000 unimp
+ 80001408: 0000 unimp
+ 8000140a: 0000 unimp
+ 8000140c: 0000 unimp
+ 8000140e: 0000 unimp
+ 80001410: 0000 unimp
+ 80001412: 0000 unimp
+ 80001414: 0000 unimp
+ 80001416: 0000 unimp
+ 80001418: 0000 unimp
+ 8000141a: 0000 unimp
+ 8000141c: 0000 unimp
+ 8000141e: 0000 unimp
+ 80001420: 0000 unimp
+ 80001422: 0000 unimp
+ 80001424: 0000 unimp
+ 80001426: 0000 unimp
+ 80001428: 0000 unimp
+ 8000142a: 0000 unimp
+ 8000142c: 0000 unimp
+ 8000142e: 0000 unimp
+ 80001430: 0000 unimp
+ 80001432: 0000 unimp
+ 80001434: 0000 unimp
+ 80001436: 0000 unimp
+ 80001438: 0000 unimp
+ 8000143a: 0000 unimp
+ 8000143c: 0000 unimp
+ 8000143e: 0000 unimp
+ 80001440: 0000 unimp
+ 80001442: 0000 unimp
+ 80001444: 0000 unimp
+ 80001446: 0000 unimp
+ 80001448: 0000 unimp
+ 8000144a: 0000 unimp
+ 8000144c: 0000 unimp
+ 8000144e: 0000 unimp
+ 80001450: 0000 unimp
+ 80001452: 0000 unimp
+ 80001454: 0000 unimp
+ 80001456: 0000 unimp
+ 80001458: 0000 unimp
+ 8000145a: 0000 unimp
+ 8000145c: 0000 unimp
+ 8000145e: 0000 unimp
+ 80001460: 0000 unimp
+ 80001462: 0000 unimp
+ 80001464: 0000 unimp
+ 80001466: 0000 unimp
+ 80001468: 0000 unimp
+ 8000146a: 0000 unimp
+ 8000146c: 0000 unimp
+ 8000146e: 0000 unimp
+ 80001470: 0000 unimp
+ 80001472: 0000 unimp
+ 80001474: 0000 unimp
+ 80001476: 0000 unimp
+ 80001478: 0000 unimp
+ 8000147a: 0000 unimp
+ 8000147c: 0000 unimp
+ 8000147e: 0000 unimp
+ 80001480: 0000 unimp
+ 80001482: 0000 unimp
+ 80001484: 0000 unimp
+ 80001486: 0000 unimp
+ 80001488: 0000 unimp
+ 8000148a: 0000 unimp
+ 8000148c: 0000 unimp
+ 8000148e: 0000 unimp
+ 80001490: 0000 unimp
+ 80001492: 0000 unimp
+ 80001494: 0000 unimp
+ 80001496: 0000 unimp
+ 80001498: 0000 unimp
+ 8000149a: 0000 unimp
+ 8000149c: 0000 unimp
+ 8000149e: 0000 unimp
+ 800014a0: 0000 unimp
+ 800014a2: 0000 unimp
+ 800014a4: 0000 unimp
+ 800014a6: 0000 unimp
+ 800014a8: 0000 unimp
+ 800014aa: 0000 unimp
+ 800014ac: 0000 unimp
+ 800014ae: 0000 unimp
+ 800014b0: 0000 unimp
+ 800014b2: 0000 unimp
+ 800014b4: 0000 unimp
+ 800014b6: 0000 unimp
+ 800014b8: 0000 unimp
+ 800014ba: 0000 unimp
+ 800014bc: 0000 unimp
+ 800014be: 0000 unimp
+ 800014c0: 0000 unimp
+ 800014c2: 0000 unimp
+ 800014c4: 0000 unimp
+ 800014c6: 0000 unimp
+ 800014c8: 0000 unimp
+ 800014ca: 0000 unimp
+ 800014cc: 0000 unimp
+ 800014ce: 0000 unimp
+ 800014d0: 0000 unimp
+ 800014d2: 0000 unimp
+ 800014d4: 0000 unimp
+ 800014d6: 0000 unimp
+ 800014d8: 0000 unimp
+ 800014da: 0000 unimp
+ 800014dc: 0000 unimp
+ 800014de: 0000 unimp
+ 800014e0: 0000 unimp
+ 800014e2: 0000 unimp
+ 800014e4: 0000 unimp
+ 800014e6: 0000 unimp
+ 800014e8: 0000 unimp
+ 800014ea: 0000 unimp
+ 800014ec: 0000 unimp
+ 800014ee: 0000 unimp
+ 800014f0: 0000 unimp
+ 800014f2: 0000 unimp
+ 800014f4: 0000 unimp
+ 800014f6: 0000 unimp
+ 800014f8: 0000 unimp
+ 800014fa: 0000 unimp
+ 800014fc: 0000 unimp
+ 800014fe: 0000 unimp
+ 80001500: 0000 unimp
+ 80001502: 0000 unimp
+ 80001504: 0000 unimp
+ 80001506: 0000 unimp
+ 80001508: 0000 unimp
+ 8000150a: 0000 unimp
+ 8000150c: 0000 unimp
+ 8000150e: 0000 unimp
+ 80001510: 0000 unimp
+ 80001512: 0000 unimp
+ 80001514: 0000 unimp
+ 80001516: 0000 unimp
+ 80001518: 0000 unimp
+ 8000151a: 0000 unimp
+ 8000151c: 0000 unimp
+ 8000151e: 0000 unimp
+ 80001520: 0000 unimp
+ 80001522: 0000 unimp
+ 80001524: 0000 unimp
+ 80001526: 0000 unimp
+ 80001528: 0000 unimp
+ 8000152a: 0000 unimp
+ 8000152c: 0000 unimp
+ 8000152e: 0000 unimp
+ 80001530: 0000 unimp
+ 80001532: 0000 unimp
+ 80001534: 0000 unimp
+ 80001536: 0000 unimp
+ 80001538: 0000 unimp
+ 8000153a: 0000 unimp
+ 8000153c: 0000 unimp
+ 8000153e: 0000 unimp
+ 80001540: 0000 unimp
+ 80001542: 0000 unimp
+ 80001544: 0000 unimp
+ 80001546: 0000 unimp
+ 80001548: 0000 unimp
+ 8000154a: 0000 unimp
+ 8000154c: 0000 unimp
+ 8000154e: 0000 unimp
+ 80001550: 0000 unimp
+ 80001552: 0000 unimp
+ 80001554: 0000 unimp
+ 80001556: 0000 unimp
+ 80001558: 0000 unimp
+ 8000155a: 0000 unimp
+ 8000155c: 0000 unimp
+ 8000155e: 0000 unimp
+ 80001560: 0000 unimp
+ 80001562: 0000 unimp
+ 80001564: 0000 unimp
+ 80001566: 0000 unimp
+ 80001568: 0000 unimp
+ 8000156a: 0000 unimp
+ 8000156c: 0000 unimp
+ 8000156e: 0000 unimp
+ 80001570: 0000 unimp
+ 80001572: 0000 unimp
+ 80001574: 0000 unimp
+ 80001576: 0000 unimp
+ 80001578: 0000 unimp
+ 8000157a: 0000 unimp
+ 8000157c: 0000 unimp
+ 8000157e: 0000 unimp
+ 80001580: 0000 unimp
+ 80001582: 0000 unimp
+ 80001584: 0000 unimp
+ 80001586: 0000 unimp
+ 80001588: 0000 unimp
+ 8000158a: 0000 unimp
+ 8000158c: 0000 unimp
+ 8000158e: 0000 unimp
+ 80001590: 0000 unimp
+ 80001592: 0000 unimp
+ 80001594: 0000 unimp
+ 80001596: 0000 unimp
+ 80001598: 0000 unimp
+ 8000159a: 0000 unimp
+ 8000159c: 0000 unimp
+ 8000159e: 0000 unimp
+ 800015a0: 0000 unimp
+ 800015a2: 0000 unimp
+ 800015a4: 0000 unimp
+ 800015a6: 0000 unimp
+ 800015a8: 0000 unimp
+ 800015aa: 0000 unimp
+ 800015ac: 0000 unimp
+ 800015ae: 0000 unimp
+ 800015b0: 0000 unimp
+ 800015b2: 0000 unimp
+ 800015b4: 0000 unimp
+ 800015b6: 0000 unimp
+ 800015b8: 0000 unimp
+ 800015ba: 0000 unimp
+ 800015bc: 0000 unimp
+ 800015be: 0000 unimp
+ 800015c0: 0000 unimp
+ 800015c2: 0000 unimp
+ 800015c4: 0000 unimp
+ 800015c6: 0000 unimp
+ 800015c8: 0000 unimp
+ 800015ca: 0000 unimp
+ 800015cc: 0000 unimp
+ 800015ce: 0000 unimp
+ 800015d0: 0000 unimp
+ 800015d2: 0000 unimp
+ 800015d4: 0000 unimp
+ 800015d6: 0000 unimp
+ 800015d8: 0000 unimp
+ 800015da: 0000 unimp
+ 800015dc: 0000 unimp
+ 800015de: 0000 unimp
+ 800015e0: 0000 unimp
+ 800015e2: 0000 unimp
+ 800015e4: 0000 unimp
+ 800015e6: 0000 unimp
+ 800015e8: 0000 unimp
+ 800015ea: 0000 unimp
+ 800015ec: 0000 unimp
+ 800015ee: 0000 unimp
+ 800015f0: 0000 unimp
+ 800015f2: 0000 unimp
+ 800015f4: 0000 unimp
+ 800015f6: 0000 unimp
+ 800015f8: 0000 unimp
+ 800015fa: 0000 unimp
+ 800015fc: 0000 unimp
+ 800015fe: 0000 unimp
+ 80001600: 0000 unimp
+ 80001602: 0000 unimp
+ 80001604: 0000 unimp
+ 80001606: 0000 unimp
+ 80001608: 0000 unimp
+ 8000160a: 0000 unimp
+ 8000160c: 0000 unimp
+ 8000160e: 0000 unimp
+ 80001610: 0000 unimp
+ 80001612: 0000 unimp
+ 80001614: 0000 unimp
+ 80001616: 0000 unimp
+ 80001618: 0000 unimp
+ 8000161a: 0000 unimp
+ 8000161c: 0000 unimp
+ 8000161e: 0000 unimp
+ 80001620: 0000 unimp
+ 80001622: 0000 unimp
+ 80001624: 0000 unimp
+ 80001626: 0000 unimp
+ 80001628: 0000 unimp
+ 8000162a: 0000 unimp
+ 8000162c: 0000 unimp
+ 8000162e: 0000 unimp
+ 80001630: 0000 unimp
+ 80001632: 0000 unimp
+ 80001634: 0000 unimp
+ 80001636: 0000 unimp
+ 80001638: 0000 unimp
+ 8000163a: 0000 unimp
+ 8000163c: 0000 unimp
+ 8000163e: 0000 unimp
+ 80001640: 0000 unimp
+ 80001642: 0000 unimp
+ 80001644: 0000 unimp
+ 80001646: 0000 unimp
+ 80001648: 0000 unimp
+ 8000164a: 0000 unimp
+ 8000164c: 0000 unimp
+ 8000164e: 0000 unimp
+ 80001650: 0000 unimp
+ 80001652: 0000 unimp
+ 80001654: 0000 unimp
+ 80001656: 0000 unimp
+ 80001658: 0000 unimp
+ 8000165a: 0000 unimp
+ 8000165c: 0000 unimp
+ 8000165e: 0000 unimp
+ 80001660: 0000 unimp
+ 80001662: 0000 unimp
+ 80001664: 0000 unimp
+ 80001666: 0000 unimp
+ 80001668: 0000 unimp
+ 8000166a: 0000 unimp
+ 8000166c: 0000 unimp
+ 8000166e: 0000 unimp
+ 80001670: 0000 unimp
+ 80001672: 0000 unimp
+ 80001674: 0000 unimp
+ 80001676: 0000 unimp
+ 80001678: 0000 unimp
+ 8000167a: 0000 unimp
+ 8000167c: 0000 unimp
+ 8000167e: 0000 unimp
+ 80001680: 0000 unimp
+ 80001682: 0000 unimp
+ 80001684: 0000 unimp
+ 80001686: 0000 unimp
+ 80001688: 0000 unimp
+ 8000168a: 0000 unimp
+ 8000168c: 0000 unimp
+ 8000168e: 0000 unimp
+ 80001690: 0000 unimp
+ 80001692: 0000 unimp
+ 80001694: 0000 unimp
+ 80001696: 0000 unimp
+ 80001698: 0000 unimp
+ 8000169a: 0000 unimp
+ 8000169c: 0000 unimp
+ 8000169e: 0000 unimp
+ 800016a0: 0000 unimp
+ 800016a2: 0000 unimp
+ 800016a4: 0000 unimp
+ 800016a6: 0000 unimp
+ 800016a8: 0000 unimp
+ 800016aa: 0000 unimp
+ 800016ac: 0000 unimp
+ 800016ae: 0000 unimp
+ 800016b0: 0000 unimp
+ 800016b2: 0000 unimp
+ 800016b4: 0000 unimp
+ 800016b6: 0000 unimp
+ 800016b8: 0000 unimp
+ 800016ba: 0000 unimp
+ 800016bc: 0000 unimp
+ 800016be: 0000 unimp
+ 800016c0: 0000 unimp
+ 800016c2: 0000 unimp
+ 800016c4: 0000 unimp
+ 800016c6: 0000 unimp
+ 800016c8: 0000 unimp
+ 800016ca: 0000 unimp
+ 800016cc: 0000 unimp
+ 800016ce: 0000 unimp
+ 800016d0: 0000 unimp
+ 800016d2: 0000 unimp
+ 800016d4: 0000 unimp
+ 800016d6: 0000 unimp
+ 800016d8: 0000 unimp
+ 800016da: 0000 unimp
+ 800016dc: 0000 unimp
+ 800016de: 0000 unimp
+ 800016e0: 0000 unimp
+ 800016e2: 0000 unimp
+ 800016e4: 0000 unimp
+ 800016e6: 0000 unimp
+ 800016e8: 0000 unimp
+ 800016ea: 0000 unimp
+ 800016ec: 0000 unimp
+ 800016ee: 0000 unimp
+ 800016f0: 0000 unimp
+ 800016f2: 0000 unimp
+ 800016f4: 0000 unimp
+ 800016f6: 0000 unimp
+ 800016f8: 0000 unimp
+ 800016fa: 0000 unimp
+ 800016fc: 0000 unimp
+ 800016fe: 0000 unimp
+ 80001700: 0000 unimp
+ 80001702: 0000 unimp
+ 80001704: 0000 unimp
+ 80001706: 0000 unimp
+ 80001708: 0000 unimp
+ 8000170a: 0000 unimp
+ 8000170c: 0000 unimp
+ 8000170e: 0000 unimp
+ 80001710: 0000 unimp
+ 80001712: 0000 unimp
+ 80001714: 0000 unimp
+ 80001716: 0000 unimp
+ 80001718: 0000 unimp
+ 8000171a: 0000 unimp
+ 8000171c: 0000 unimp
+ 8000171e: 0000 unimp
+ 80001720: 0000 unimp
+ 80001722: 0000 unimp
+ 80001724: 0000 unimp
+ 80001726: 0000 unimp
+ 80001728: 0000 unimp
+ 8000172a: 0000 unimp
+ 8000172c: 0000 unimp
+ 8000172e: 0000 unimp
+ 80001730: 0000 unimp
+ 80001732: 0000 unimp
+ 80001734: 0000 unimp
+ 80001736: 0000 unimp
+ 80001738: 0000 unimp
+ 8000173a: 0000 unimp
+ 8000173c: 0000 unimp
+ 8000173e: 0000 unimp
+ 80001740: 0000 unimp
+ 80001742: 0000 unimp
+ 80001744: 0000 unimp
+ 80001746: 0000 unimp
+ 80001748: 0000 unimp
+ 8000174a: 0000 unimp
+ 8000174c: 0000 unimp
+ 8000174e: 0000 unimp
+ 80001750: 0000 unimp
+ 80001752: 0000 unimp
+ 80001754: 0000 unimp
+ 80001756: 0000 unimp
+ 80001758: 0000 unimp
+ 8000175a: 0000 unimp
+ 8000175c: 0000 unimp
+ 8000175e: 0000 unimp
+ 80001760: 0000 unimp
+ 80001762: 0000 unimp
+ 80001764: 0000 unimp
+ 80001766: 0000 unimp
+ 80001768: 0000 unimp
+ 8000176a: 0000 unimp
+ 8000176c: 0000 unimp
+ 8000176e: 0000 unimp
+ 80001770: 0000 unimp
+ 80001772: 0000 unimp
+ 80001774: 0000 unimp
+ 80001776: 0000 unimp
+ 80001778: 0000 unimp
+ 8000177a: 0000 unimp
+ 8000177c: 0000 unimp
+ 8000177e: 0000 unimp
+ 80001780: 0000 unimp
+ 80001782: 0000 unimp
+ 80001784: 0000 unimp
+ 80001786: 0000 unimp
+ 80001788: 0000 unimp
+ 8000178a: 0000 unimp
+ 8000178c: 0000 unimp
+ 8000178e: 0000 unimp
+ 80001790: 0000 unimp
+ 80001792: 0000 unimp
+ 80001794: 0000 unimp
+ 80001796: 0000 unimp
+ 80001798: 0000 unimp
+ 8000179a: 0000 unimp
+ 8000179c: 0000 unimp
+ 8000179e: 0000 unimp
+ 800017a0: 0000 unimp
+ 800017a2: 0000 unimp
+ 800017a4: 0000 unimp
+ 800017a6: 0000 unimp
+ 800017a8: 0000 unimp
+ 800017aa: 0000 unimp
+ 800017ac: 0000 unimp
+ 800017ae: 0000 unimp
+ 800017b0: 0000 unimp
+ 800017b2: 0000 unimp
+ 800017b4: 0000 unimp
+ 800017b6: 0000 unimp
+ 800017b8: 0000 unimp
+ 800017ba: 0000 unimp
+ 800017bc: 0000 unimp
+ 800017be: 0000 unimp
+ 800017c0: 0000 unimp
+ 800017c2: 0000 unimp
+ 800017c4: 0000 unimp
+ 800017c6: 0000 unimp
+ 800017c8: 0000 unimp
+ 800017ca: 0000 unimp
+ 800017cc: 0000 unimp
+ 800017ce: 0000 unimp
+ 800017d0: 0000 unimp
+ 800017d2: 0000 unimp
+ 800017d4: 0000 unimp
+ 800017d6: 0000 unimp
+ 800017d8: 0000 unimp
+ 800017da: 0000 unimp
+ 800017dc: 0000 unimp
+ 800017de: 0000 unimp
+ 800017e0: 0000 unimp
+ 800017e2: 0000 unimp
+ 800017e4: 0000 unimp
+ 800017e6: 0000 unimp
+ 800017e8: 0000 unimp
+ 800017ea: 0000 unimp
+ 800017ec: 0000 unimp
+ 800017ee: 0000 unimp
+ 800017f0: 0000 unimp
+ 800017f2: 0000 unimp
+ 800017f4: 0000 unimp
+ 800017f6: 0000 unimp
+ 800017f8: 0000 unimp
+ 800017fa: 0000 unimp
+ 800017fc: 0000 unimp
+ 800017fe: 0000 unimp
+ 80001800: 0000 unimp
+ 80001802: 0000 unimp
+ 80001804: 0000 unimp
+ 80001806: 0000 unimp
+ 80001808: 0000 unimp
+ 8000180a: 0000 unimp
+ 8000180c: 0000 unimp
+ 8000180e: 0000 unimp
+ 80001810: 0000 unimp
+ 80001812: 0000 unimp
+ 80001814: 0000 unimp
+ 80001816: 0000 unimp
+ 80001818: 0000 unimp
+ 8000181a: 0000 unimp
+ 8000181c: 0000 unimp
+ 8000181e: 0000 unimp
+ 80001820: 0000 unimp
+ 80001822: 0000 unimp
+ 80001824: 0000 unimp
+ 80001826: 0000 unimp
+ 80001828: 0000 unimp
+ 8000182a: 0000 unimp
+ 8000182c: 0000 unimp
+ 8000182e: 0000 unimp
+ 80001830: 0000 unimp
+ 80001832: 0000 unimp
+ 80001834: 0000 unimp
+ 80001836: 0000 unimp
+ 80001838: 0000 unimp
+ 8000183a: 0000 unimp
+ 8000183c: 0000 unimp
+ 8000183e: 0000 unimp
+ 80001840: 0000 unimp
+ 80001842: 0000 unimp
+ 80001844: 0000 unimp
+ 80001846: 0000 unimp
+ 80001848: 0000 unimp
+ 8000184a: 0000 unimp
+ 8000184c: 0000 unimp
+ 8000184e: 0000 unimp
+ 80001850: 0000 unimp
+ 80001852: 0000 unimp
+ 80001854: 0000 unimp
+ 80001856: 0000 unimp
+ 80001858: 0000 unimp
+ 8000185a: 0000 unimp
+ 8000185c: 0000 unimp
+ 8000185e: 0000 unimp
+ 80001860: 0000 unimp
+ 80001862: 0000 unimp
+ 80001864: 0000 unimp
+ 80001866: 0000 unimp
+ 80001868: 0000 unimp
+ 8000186a: 0000 unimp
+ 8000186c: 0000 unimp
+ 8000186e: 0000 unimp
+ 80001870: 0000 unimp
+ 80001872: 0000 unimp
+ 80001874: 0000 unimp
+ 80001876: 0000 unimp
+ 80001878: 0000 unimp
+ 8000187a: 0000 unimp
+ 8000187c: 0000 unimp
+ 8000187e: 0000 unimp
+ 80001880: 0000 unimp
+ 80001882: 0000 unimp
+ 80001884: 0000 unimp
+ 80001886: 0000 unimp
+ 80001888: 0000 unimp
+ 8000188a: 0000 unimp
+ 8000188c: 0000 unimp
+ 8000188e: 0000 unimp
+ 80001890: 0000 unimp
+ 80001892: 0000 unimp
+ 80001894: 0000 unimp
+ 80001896: 0000 unimp
+ 80001898: 0000 unimp
+ 8000189a: 0000 unimp
+ 8000189c: 0000 unimp
+ 8000189e: 0000 unimp
+ 800018a0: 0000 unimp
+ 800018a2: 0000 unimp
+ 800018a4: 0000 unimp
+ 800018a6: 0000 unimp
+ 800018a8: 0000 unimp
+ 800018aa: 0000 unimp
+ 800018ac: 0000 unimp
+ 800018ae: 0000 unimp
+ 800018b0: 0000 unimp
+ 800018b2: 0000 unimp
+ 800018b4: 0000 unimp
+ 800018b6: 0000 unimp
+ 800018b8: 0000 unimp
+ 800018ba: 0000 unimp
+ 800018bc: 0000 unimp
+ 800018be: 0000 unimp
+ 800018c0: 0000 unimp
+ 800018c2: 0000 unimp
+ 800018c4: 0000 unimp
+ 800018c6: 0000 unimp
+ 800018c8: 0000 unimp
+ 800018ca: 0000 unimp
+ 800018cc: 0000 unimp
+ 800018ce: 0000 unimp
+ 800018d0: 0000 unimp
+ 800018d2: 0000 unimp
+ 800018d4: 0000 unimp
+ 800018d6: 0000 unimp
+ 800018d8: 0000 unimp
+ 800018da: 0000 unimp
+ 800018dc: 0000 unimp
+ 800018de: 0000 unimp
+ 800018e0: 0000 unimp
+ 800018e2: 0000 unimp
+ 800018e4: 0000 unimp
+ 800018e6: 0000 unimp
+ 800018e8: 0000 unimp
+ 800018ea: 0000 unimp
+ 800018ec: 0000 unimp
+ 800018ee: 0000 unimp
+ 800018f0: 0000 unimp
+ 800018f2: 0000 unimp
+ 800018f4: 0000 unimp
+ 800018f6: 0000 unimp
+ 800018f8: 0000 unimp
+ 800018fa: 0000 unimp
+ 800018fc: 0000 unimp
+ 800018fe: 0000 unimp
+ 80001900: 0000 unimp
+ 80001902: 0000 unimp
+ 80001904: 0000 unimp
+ 80001906: 0000 unimp
+ 80001908: 0000 unimp
+ 8000190a: 0000 unimp
+ 8000190c: 0000 unimp
+ 8000190e: 0000 unimp
+ 80001910: 0000 unimp
+ 80001912: 0000 unimp
+ 80001914: 0000 unimp
+ 80001916: 0000 unimp
+ 80001918: 0000 unimp
+ 8000191a: 0000 unimp
+ 8000191c: 0000 unimp
+ 8000191e: 0000 unimp
+ 80001920: 0000 unimp
+ 80001922: 0000 unimp
+ 80001924: 0000 unimp
+ 80001926: 0000 unimp
+ 80001928: 0000 unimp
+ 8000192a: 0000 unimp
+ 8000192c: 0000 unimp
+ 8000192e: 0000 unimp
+ 80001930: 0000 unimp
+ 80001932: 0000 unimp
+ 80001934: 0000 unimp
+ 80001936: 0000 unimp
+ 80001938: 0000 unimp
+ 8000193a: 0000 unimp
+ 8000193c: 0000 unimp
+ 8000193e: 0000 unimp
+ 80001940: 0000 unimp
+ 80001942: 0000 unimp
+ 80001944: 0000 unimp
+ 80001946: 0000 unimp
+ 80001948: 0000 unimp
+ 8000194a: 0000 unimp
+ 8000194c: 0000 unimp
+ 8000194e: 0000 unimp
+ 80001950: 0000 unimp
+ 80001952: 0000 unimp
+ 80001954: 0000 unimp
+ 80001956: 0000 unimp
+ 80001958: 0000 unimp
+ 8000195a: 0000 unimp
+ 8000195c: 0000 unimp
+ 8000195e: 0000 unimp
+ 80001960: 0000 unimp
+ 80001962: 0000 unimp
+ 80001964: 0000 unimp
+ 80001966: 0000 unimp
+ 80001968: 0000 unimp
+ 8000196a: 0000 unimp
+ 8000196c: 0000 unimp
+ 8000196e: 0000 unimp
+ 80001970: 0000 unimp
+ 80001972: 0000 unimp
+ 80001974: 0000 unimp
+ 80001976: 0000 unimp
+ 80001978: 0000 unimp
+ 8000197a: 0000 unimp
+ 8000197c: 0000 unimp
+ 8000197e: 0000 unimp
+ 80001980: 0000 unimp
+ 80001982: 0000 unimp
+ 80001984: 0000 unimp
+ 80001986: 0000 unimp
+ 80001988: 0000 unimp
+ 8000198a: 0000 unimp
+ 8000198c: 0000 unimp
+ 8000198e: 0000 unimp
+ 80001990: 0000 unimp
+ 80001992: 0000 unimp
+ 80001994: 0000 unimp
+ 80001996: 0000 unimp
+ 80001998: 0000 unimp
+ 8000199a: 0000 unimp
+ 8000199c: 0000 unimp
+ 8000199e: 0000 unimp
+ 800019a0: 0000 unimp
+ 800019a2: 0000 unimp
+ 800019a4: 0000 unimp
+ 800019a6: 0000 unimp
+ 800019a8: 0000 unimp
+ 800019aa: 0000 unimp
+ 800019ac: 0000 unimp
+ 800019ae: 0000 unimp
+ 800019b0: 0000 unimp
+ 800019b2: 0000 unimp
+ 800019b4: 0000 unimp
+ 800019b6: 0000 unimp
+ 800019b8: 0000 unimp
+ 800019ba: 0000 unimp
+ 800019bc: 0000 unimp
+ 800019be: 0000 unimp
+ 800019c0: 0000 unimp
+ 800019c2: 0000 unimp
+ 800019c4: 0000 unimp
+ 800019c6: 0000 unimp
+ 800019c8: 0000 unimp
+ 800019ca: 0000 unimp
+ 800019cc: 0000 unimp
+ 800019ce: 0000 unimp
+ 800019d0: 0000 unimp
+ 800019d2: 0000 unimp
+ 800019d4: 0000 unimp
+ 800019d6: 0000 unimp
+ 800019d8: 0000 unimp
+ 800019da: 0000 unimp
+ 800019dc: 0000 unimp
+ 800019de: 0000 unimp
+ 800019e0: 0000 unimp
+ 800019e2: 0000 unimp
+ 800019e4: 0000 unimp
+ 800019e6: 0000 unimp
+ 800019e8: 0000 unimp
+ 800019ea: 0000 unimp
+ 800019ec: 0000 unimp
+ 800019ee: 0000 unimp
+ 800019f0: 0000 unimp
+ 800019f2: 0000 unimp
+ 800019f4: 0000 unimp
+ 800019f6: 0000 unimp
+ 800019f8: 0000 unimp
+ 800019fa: 0000 unimp
+ 800019fc: 0000 unimp
+ 800019fe: 0000 unimp
+ 80001a00: 0000 unimp
+ 80001a02: 0000 unimp
+ 80001a04: 0000 unimp
+ 80001a06: 0000 unimp
+ 80001a08: 0000 unimp
+ 80001a0a: 0000 unimp
+ 80001a0c: 0000 unimp
+ 80001a0e: 0000 unimp
+ 80001a10: 0000 unimp
+ 80001a12: 0000 unimp
+ 80001a14: 0000 unimp
+ 80001a16: 0000 unimp
+ 80001a18: 0000 unimp
+ 80001a1a: 0000 unimp
+ 80001a1c: 0000 unimp
+ 80001a1e: 0000 unimp
+ 80001a20: 0000 unimp
+ 80001a22: 0000 unimp
+ 80001a24: 0000 unimp
+ 80001a26: 0000 unimp
+ 80001a28: 0000 unimp
+ 80001a2a: 0000 unimp
+ 80001a2c: 0000 unimp
+ 80001a2e: 0000 unimp
+ 80001a30: 0000 unimp
+ 80001a32: 0000 unimp
+ 80001a34: 0000 unimp
+ 80001a36: 0000 unimp
+ 80001a38: 0000 unimp
+ 80001a3a: 0000 unimp
+ 80001a3c: 0000 unimp
+ 80001a3e: 0000 unimp
+ 80001a40: 0000 unimp
+ 80001a42: 0000 unimp
+ 80001a44: 0000 unimp
+ 80001a46: 0000 unimp
+ 80001a48: 0000 unimp
+ 80001a4a: 0000 unimp
+ 80001a4c: 0000 unimp
+ 80001a4e: 0000 unimp
+ 80001a50: 0000 unimp
+ 80001a52: 0000 unimp
+ 80001a54: 0000 unimp
+ 80001a56: 0000 unimp
+ 80001a58: 0000 unimp
+ 80001a5a: 0000 unimp
+ 80001a5c: 0000 unimp
+ 80001a5e: 0000 unimp
+ 80001a60: 0000 unimp
+ 80001a62: 0000 unimp
+ 80001a64: 0000 unimp
+ 80001a66: 0000 unimp
+ 80001a68: 0000 unimp
+ 80001a6a: 0000 unimp
+ 80001a6c: 0000 unimp
+ 80001a6e: 0000 unimp
+ 80001a70: 0000 unimp
+ 80001a72: 0000 unimp
+ 80001a74: 0000 unimp
+ 80001a76: 0000 unimp
+ 80001a78: 0000 unimp
+ 80001a7a: 0000 unimp
+ 80001a7c: 0000 unimp
+ 80001a7e: 0000 unimp
+ 80001a80: 0000 unimp
+ 80001a82: 0000 unimp
+ 80001a84: 0000 unimp
+ 80001a86: 0000 unimp
+ 80001a88: 0000 unimp
+ 80001a8a: 0000 unimp
+ 80001a8c: 0000 unimp
+ 80001a8e: 0000 unimp
+ 80001a90: 0000 unimp
+ 80001a92: 0000 unimp
+ 80001a94: 0000 unimp
+ 80001a96: 0000 unimp
+ 80001a98: 0000 unimp
+ 80001a9a: 0000 unimp
+ 80001a9c: 0000 unimp
+ 80001a9e: 0000 unimp
+ 80001aa0: 0000 unimp
+ 80001aa2: 0000 unimp
+ 80001aa4: 0000 unimp
+ 80001aa6: 0000 unimp
+ 80001aa8: 0000 unimp
+ 80001aaa: 0000 unimp
+ 80001aac: 0000 unimp
+ 80001aae: 0000 unimp
+ 80001ab0: 0000 unimp
+ 80001ab2: 0000 unimp
+ 80001ab4: 0000 unimp
+ 80001ab6: 0000 unimp
+ 80001ab8: 0000 unimp
+ 80001aba: 0000 unimp
+ 80001abc: 0000 unimp
+ 80001abe: 0000 unimp
+ 80001ac0: 0000 unimp
+ 80001ac2: 0000 unimp
+ 80001ac4: 0000 unimp
+ 80001ac6: 0000 unimp
+ 80001ac8: 0000 unimp
+ 80001aca: 0000 unimp
+ 80001acc: 0000 unimp
+ 80001ace: 0000 unimp
+ 80001ad0: 0000 unimp
+ 80001ad2: 0000 unimp
+ 80001ad4: 0000 unimp
+ 80001ad6: 0000 unimp
+ 80001ad8: 0000 unimp
+ 80001ada: 0000 unimp
+ 80001adc: 0000 unimp
+ 80001ade: 0000 unimp
+ 80001ae0: 0000 unimp
+ 80001ae2: 0000 unimp
+ 80001ae4: 0000 unimp
+ 80001ae6: 0000 unimp
+ 80001ae8: 0000 unimp
+ 80001aea: 0000 unimp
+ 80001aec: 0000 unimp
+ 80001aee: 0000 unimp
+ 80001af0: 0000 unimp
+ 80001af2: 0000 unimp
+ 80001af4: 0000 unimp
+ 80001af6: 0000 unimp
+ 80001af8: 0000 unimp
+ 80001afa: 0000 unimp
+ 80001afc: 0000 unimp
+ 80001afe: 0000 unimp
+ 80001b00: 0000 unimp
+ 80001b02: 0000 unimp
+ 80001b04: 0000 unimp
+ 80001b06: 0000 unimp
+ 80001b08: 0000 unimp
+ 80001b0a: 0000 unimp
+ 80001b0c: 0000 unimp
+ 80001b0e: 0000 unimp
+ 80001b10: 0000 unimp
+ 80001b12: 0000 unimp
+ 80001b14: 0000 unimp
+ 80001b16: 0000 unimp
+ 80001b18: 0000 unimp
+ 80001b1a: 0000 unimp
+ 80001b1c: 0000 unimp
+ 80001b1e: 0000 unimp
+ 80001b20: 0000 unimp
+ 80001b22: 0000 unimp
+ 80001b24: 0000 unimp
+ 80001b26: 0000 unimp
+ 80001b28: 0000 unimp
+ 80001b2a: 0000 unimp
+ 80001b2c: 0000 unimp
+ 80001b2e: 0000 unimp
+ 80001b30: 0000 unimp
+ 80001b32: 0000 unimp
+ 80001b34: 0000 unimp
+ 80001b36: 0000 unimp
+ 80001b38: 0000 unimp
+ 80001b3a: 0000 unimp
+ 80001b3c: 0000 unimp
+ 80001b3e: 0000 unimp
+ 80001b40: 0000 unimp
+ 80001b42: 0000 unimp
+ 80001b44: 0000 unimp
+ 80001b46: 0000 unimp
+ 80001b48: 0000 unimp
+ 80001b4a: 0000 unimp
+ 80001b4c: 0000 unimp
+ 80001b4e: 0000 unimp
+ 80001b50: 0000 unimp
+ 80001b52: 0000 unimp
+ 80001b54: 0000 unimp
+ 80001b56: 0000 unimp
+ 80001b58: 0000 unimp
+ 80001b5a: 0000 unimp
+ 80001b5c: 0000 unimp
+ 80001b5e: 0000 unimp
+ 80001b60: 0000 unimp
+ 80001b62: 0000 unimp
+ 80001b64: 0000 unimp
+ 80001b66: 0000 unimp
+ 80001b68: 0000 unimp
+ 80001b6a: 0000 unimp
+ 80001b6c: 0000 unimp
+ 80001b6e: 0000 unimp
+ 80001b70: 0000 unimp
+ 80001b72: 0000 unimp
+ 80001b74: 0000 unimp
+ 80001b76: 0000 unimp
+ 80001b78: 0000 unimp
+ 80001b7a: 0000 unimp
+ 80001b7c: 0000 unimp
+ 80001b7e: 0000 unimp
+ 80001b80: 0000 unimp
+ 80001b82: 0000 unimp
+ 80001b84: 0000 unimp
+ 80001b86: 0000 unimp
+ 80001b88: 0000 unimp
+ 80001b8a: 0000 unimp
+ 80001b8c: 0000 unimp
+ 80001b8e: 0000 unimp
+ 80001b90: 0000 unimp
+ 80001b92: 0000 unimp
+ 80001b94: 0000 unimp
+ 80001b96: 0000 unimp
+ 80001b98: 0000 unimp
+ 80001b9a: 0000 unimp
+ 80001b9c: 0000 unimp
+ 80001b9e: 0000 unimp
+ 80001ba0: 0000 unimp
+ 80001ba2: 0000 unimp
+ 80001ba4: 0000 unimp
+ 80001ba6: 0000 unimp
+ 80001ba8: 0000 unimp
+ 80001baa: 0000 unimp
+ 80001bac: 0000 unimp
+ 80001bae: 0000 unimp
+ 80001bb0: 0000 unimp
+ 80001bb2: 0000 unimp
+ 80001bb4: 0000 unimp
+ 80001bb6: 0000 unimp
+ 80001bb8: 0000 unimp
+ 80001bba: 0000 unimp
+ 80001bbc: 0000 unimp
+ 80001bbe: 0000 unimp
+ 80001bc0: 0000 unimp
+ 80001bc2: 0000 unimp
+ 80001bc4: 0000 unimp
+ 80001bc6: 0000 unimp
+ 80001bc8: 0000 unimp
+ 80001bca: 0000 unimp
+ 80001bcc: 0000 unimp
+ 80001bce: 0000 unimp
+ 80001bd0: 0000 unimp
+ 80001bd2: 0000 unimp
+ 80001bd4: 0000 unimp
+ 80001bd6: 0000 unimp
+ 80001bd8: 0000 unimp
+ 80001bda: 0000 unimp
+ 80001bdc: 0000 unimp
+ 80001bde: 0000 unimp
+ 80001be0: 0000 unimp
+ 80001be2: 0000 unimp
+ 80001be4: 0000 unimp
+ 80001be6: 0000 unimp
+ 80001be8: 0000 unimp
+ 80001bea: 0000 unimp
+ 80001bec: 0000 unimp
+ 80001bee: 0000 unimp
+ 80001bf0: 0000 unimp
+ 80001bf2: 0000 unimp
+ 80001bf4: 0000 unimp
+ 80001bf6: 0000 unimp
+ 80001bf8: 0000 unimp
+ 80001bfa: 0000 unimp
+ 80001bfc: 0000 unimp
+ 80001bfe: 0000 unimp
+ 80001c00: 0000 unimp
+ 80001c02: 0000 unimp
+ 80001c04: 0000 unimp
+ 80001c06: 0000 unimp
+ 80001c08: 0000 unimp
+ 80001c0a: 0000 unimp
+ 80001c0c: 0000 unimp
+ 80001c0e: 0000 unimp
+ 80001c10: 0000 unimp
+ 80001c12: 0000 unimp
+ 80001c14: 0000 unimp
+ 80001c16: 0000 unimp
+ 80001c18: 0000 unimp
+ 80001c1a: 0000 unimp
+ 80001c1c: 0000 unimp
+ 80001c1e: 0000 unimp
+ 80001c20: 0000 unimp
+ 80001c22: 0000 unimp
+ 80001c24: 0000 unimp
+ 80001c26: 0000 unimp
+ 80001c28: 0000 unimp
+ 80001c2a: 0000 unimp
+ 80001c2c: 0000 unimp
+ 80001c2e: 0000 unimp
+ 80001c30: 0000 unimp
+ 80001c32: 0000 unimp
+ 80001c34: 0000 unimp
+ 80001c36: 0000 unimp
+ 80001c38: 0000 unimp
+ 80001c3a: 0000 unimp
+ 80001c3c: 0000 unimp
+ 80001c3e: 0000 unimp
+ 80001c40: 0000 unimp
+ 80001c42: 0000 unimp
+ 80001c44: 0000 unimp
+ 80001c46: 0000 unimp
+ 80001c48: 0000 unimp
+ 80001c4a: 0000 unimp
+ 80001c4c: 0000 unimp
+ 80001c4e: 0000 unimp
+ 80001c50: 0000 unimp
+ 80001c52: 0000 unimp
+ 80001c54: 0000 unimp
+ 80001c56: 0000 unimp
+ 80001c58: 0000 unimp
+ 80001c5a: 0000 unimp
+ 80001c5c: 0000 unimp
+ 80001c5e: 0000 unimp
+ 80001c60: 0000 unimp
+ 80001c62: 0000 unimp
+ 80001c64: 0000 unimp
+ 80001c66: 0000 unimp
+ 80001c68: 0000 unimp
+ 80001c6a: 0000 unimp
+ 80001c6c: 0000 unimp
+ 80001c6e: 0000 unimp
+ 80001c70: 0000 unimp
+ 80001c72: 0000 unimp
+ 80001c74: 0000 unimp
+ 80001c76: 0000 unimp
+ 80001c78: 0000 unimp
+ 80001c7a: 0000 unimp
+ 80001c7c: 0000 unimp
+ 80001c7e: 0000 unimp
+ 80001c80: 0000 unimp
+ 80001c82: 0000 unimp
+ 80001c84: 0000 unimp
+ 80001c86: 0000 unimp
+ 80001c88: 0000 unimp
+ 80001c8a: 0000 unimp
+ 80001c8c: 0000 unimp
+ 80001c8e: 0000 unimp
+ 80001c90: 0000 unimp
+ 80001c92: 0000 unimp
+ 80001c94: 0000 unimp
+ 80001c96: 0000 unimp
+ 80001c98: 0000 unimp
+ 80001c9a: 0000 unimp
+ 80001c9c: 0000 unimp
+ 80001c9e: 0000 unimp
+ 80001ca0: 0000 unimp
+ 80001ca2: 0000 unimp
+ 80001ca4: 0000 unimp
+ 80001ca6: 0000 unimp
+ 80001ca8: 0000 unimp
+ 80001caa: 0000 unimp
+ 80001cac: 0000 unimp
+ 80001cae: 0000 unimp
+ 80001cb0: 0000 unimp
+ 80001cb2: 0000 unimp
+ 80001cb4: 0000 unimp
+ 80001cb6: 0000 unimp
+ 80001cb8: 0000 unimp
+ 80001cba: 0000 unimp
+ 80001cbc: 0000 unimp
+ 80001cbe: 0000 unimp
+ 80001cc0: 0000 unimp
+ 80001cc2: 0000 unimp
+ 80001cc4: 0000 unimp
+ 80001cc6: 0000 unimp
+ 80001cc8: 0000 unimp
+ 80001cca: 0000 unimp
+ 80001ccc: 0000 unimp
+ 80001cce: 0000 unimp
+ 80001cd0: 0000 unimp
+ 80001cd2: 0000 unimp
+ 80001cd4: 0000 unimp
+ 80001cd6: 0000 unimp
+ 80001cd8: 0000 unimp
+ 80001cda: 0000 unimp
+ 80001cdc: 0000 unimp
+ 80001cde: 0000 unimp
+ 80001ce0: 0000 unimp
+ 80001ce2: 0000 unimp
+ 80001ce4: 0000 unimp
+ 80001ce6: 0000 unimp
+ 80001ce8: 0000 unimp
+ 80001cea: 0000 unimp
+ 80001cec: 0000 unimp
+ 80001cee: 0000 unimp
+ 80001cf0: 0000 unimp
+ 80001cf2: 0000 unimp
+ 80001cf4: 0000 unimp
+ 80001cf6: 0000 unimp
+ 80001cf8: 0000 unimp
+ 80001cfa: 0000 unimp
+ 80001cfc: 0000 unimp
+ 80001cfe: 0000 unimp
+ 80001d00: 0000 unimp
+ 80001d02: 0000 unimp
+ 80001d04: 0000 unimp
+ 80001d06: 0000 unimp
+ 80001d08: 0000 unimp
+ 80001d0a: 0000 unimp
+ 80001d0c: 0000 unimp
+ 80001d0e: 0000 unimp
+ 80001d10: 0000 unimp
+ 80001d12: 0000 unimp
+ 80001d14: 0000 unimp
+ 80001d16: 0000 unimp
+ 80001d18: 0000 unimp
+ 80001d1a: 0000 unimp
+ 80001d1c: 0000 unimp
+ 80001d1e: 0000 unimp
+ 80001d20: 0000 unimp
+ 80001d22: 0000 unimp
+ 80001d24: 0000 unimp
+ 80001d26: 0000 unimp
+ 80001d28: 0000 unimp
+ 80001d2a: 0000 unimp
+ 80001d2c: 0000 unimp
+ 80001d2e: 0000 unimp
+ 80001d30: 0000 unimp
+ 80001d32: 0000 unimp
+ 80001d34: 0000 unimp
+ 80001d36: 0000 unimp
+ 80001d38: 0000 unimp
+ 80001d3a: 0000 unimp
+ 80001d3c: 0000 unimp
+ 80001d3e: 0000 unimp
+ 80001d40: 0000 unimp
+ 80001d42: 0000 unimp
+ 80001d44: 0000 unimp
+ 80001d46: 0000 unimp
+ 80001d48: 0000 unimp
+ 80001d4a: 0000 unimp
+ 80001d4c: 0000 unimp
+ 80001d4e: 0000 unimp
+ 80001d50: 0000 unimp
+ 80001d52: 0000 unimp
+ 80001d54: 0000 unimp
+ 80001d56: 0000 unimp
+ 80001d58: 0000 unimp
+ 80001d5a: 0000 unimp
+ 80001d5c: 0000 unimp
+ 80001d5e: 0000 unimp
+ 80001d60: 0000 unimp
+ 80001d62: 0000 unimp
+ 80001d64: 0000 unimp
+ 80001d66: 0000 unimp
+ 80001d68: 0000 unimp
+ 80001d6a: 0000 unimp
+ 80001d6c: 0000 unimp
+ 80001d6e: 0000 unimp
+ 80001d70: 0000 unimp
+ 80001d72: 0000 unimp
+ 80001d74: 0000 unimp
+ 80001d76: 0000 unimp
+ 80001d78: 0000 unimp
+ 80001d7a: 0000 unimp
+ 80001d7c: 0000 unimp
+ 80001d7e: 0000 unimp
+ 80001d80: 0000 unimp
+ 80001d82: 0000 unimp
+ 80001d84: 0000 unimp
+ 80001d86: 0000 unimp
+ 80001d88: 0000 unimp
+ 80001d8a: 0000 unimp
+ 80001d8c: 0000 unimp
+ 80001d8e: 0000 unimp
+ 80001d90: 0000 unimp
+ 80001d92: 0000 unimp
+ 80001d94: 0000 unimp
+ 80001d96: 0000 unimp
+ 80001d98: 0000 unimp
+ 80001d9a: 0000 unimp
+ 80001d9c: 0000 unimp
+ 80001d9e: 0000 unimp
+ 80001da0: 0000 unimp
+ 80001da2: 0000 unimp
+ 80001da4: 0000 unimp
+ 80001da6: 0000 unimp
+ 80001da8: 0000 unimp
+ 80001daa: 0000 unimp
+ 80001dac: 0000 unimp
+ 80001dae: 0000 unimp
+ 80001db0: 0000 unimp
+ 80001db2: 0000 unimp
+ 80001db4: 0000 unimp
+ 80001db6: 0000 unimp
+ 80001db8: 0000 unimp
+ 80001dba: 0000 unimp
+ 80001dbc: 0000 unimp
+ 80001dbe: 0000 unimp
+ 80001dc0: 0000 unimp
+ 80001dc2: 0000 unimp
+ 80001dc4: 0000 unimp
+ 80001dc6: 0000 unimp
+ 80001dc8: 0000 unimp
+ 80001dca: 0000 unimp
+ 80001dcc: 0000 unimp
+ 80001dce: 0000 unimp
+ 80001dd0: 0000 unimp
+ 80001dd2: 0000 unimp
+ 80001dd4: 0000 unimp
+ 80001dd6: 0000 unimp
+ 80001dd8: 0000 unimp
+ 80001dda: 0000 unimp
+ 80001ddc: 0000 unimp
+ 80001dde: 0000 unimp
+ 80001de0: 0000 unimp
+ 80001de2: 0000 unimp
+ 80001de4: 0000 unimp
+ 80001de6: 0000 unimp
+ 80001de8: 0000 unimp
+ 80001dea: 0000 unimp
+ 80001dec: 0000 unimp
+ 80001dee: 0000 unimp
+ 80001df0: 0000 unimp
+ 80001df2: 0000 unimp
+ 80001df4: 0000 unimp
+ 80001df6: 0000 unimp
+ 80001df8: 0000 unimp
+ 80001dfa: 0000 unimp
+ 80001dfc: 0000 unimp
+ 80001dfe: 0000 unimp
+ 80001e00: 0000 unimp
+ 80001e02: 0000 unimp
+ 80001e04: 0000 unimp
+ 80001e06: 0000 unimp
+ 80001e08: 0000 unimp
+ 80001e0a: 0000 unimp
+ 80001e0c: 0000 unimp
+ 80001e0e: 0000 unimp
+ 80001e10: 0000 unimp
+ 80001e12: 0000 unimp
+ 80001e14: 0000 unimp
+ 80001e16: 0000 unimp
+ 80001e18: 0000 unimp
+ 80001e1a: 0000 unimp
+ 80001e1c: 0000 unimp
+ 80001e1e: 0000 unimp
+ 80001e20: 0000 unimp
+ 80001e22: 0000 unimp
+ 80001e24: 0000 unimp
+ 80001e26: 0000 unimp
+ 80001e28: 0000 unimp
+ 80001e2a: 0000 unimp
+ 80001e2c: 0000 unimp
+ 80001e2e: 0000 unimp
+ 80001e30: 0000 unimp
+ 80001e32: 0000 unimp
+ 80001e34: 0000 unimp
+ 80001e36: 0000 unimp
+ 80001e38: 0000 unimp
+ 80001e3a: 0000 unimp
+ 80001e3c: 0000 unimp
+ 80001e3e: 0000 unimp
+ 80001e40: 0000 unimp
+ 80001e42: 0000 unimp
+ 80001e44: 0000 unimp
+ 80001e46: 0000 unimp
+ 80001e48: 0000 unimp
+ 80001e4a: 0000 unimp
+ 80001e4c: 0000 unimp
+ 80001e4e: 0000 unimp
+ 80001e50: 0000 unimp
+ 80001e52: 0000 unimp
+ 80001e54: 0000 unimp
+ 80001e56: 0000 unimp
+ 80001e58: 0000 unimp
+ 80001e5a: 0000 unimp
+ 80001e5c: 0000 unimp
+ 80001e5e: 0000 unimp
+ 80001e60: 0000 unimp
+ 80001e62: 0000 unimp
+ 80001e64: 0000 unimp
+ 80001e66: 0000 unimp
+ 80001e68: 0000 unimp
+ 80001e6a: 0000 unimp
+ 80001e6c: 0000 unimp
+ 80001e6e: 0000 unimp
+ 80001e70: 0000 unimp
+ 80001e72: 0000 unimp
+ 80001e74: 0000 unimp
+ 80001e76: 0000 unimp
+ 80001e78: 0000 unimp
+ 80001e7a: 0000 unimp
+ 80001e7c: 0000 unimp
+ 80001e7e: 0000 unimp
+ 80001e80: 0000 unimp
+ 80001e82: 0000 unimp
+ 80001e84: 0000 unimp
+ 80001e86: 0000 unimp
+ 80001e88: 0000 unimp
+ 80001e8a: 0000 unimp
+ 80001e8c: 0000 unimp
+ 80001e8e: 0000 unimp
+ 80001e90: 0000 unimp
+ 80001e92: 0000 unimp
+ 80001e94: 0000 unimp
+ 80001e96: 0000 unimp
+ 80001e98: 0000 unimp
+ 80001e9a: 0000 unimp
+ 80001e9c: 0000 unimp
+ 80001e9e: 0000 unimp
+ 80001ea0: 0000 unimp
+ 80001ea2: 0000 unimp
+ 80001ea4: 0000 unimp
+ 80001ea6: 0000 unimp
+ 80001ea8: 0000 unimp
+ 80001eaa: 0000 unimp
+ 80001eac: 0000 unimp
+ 80001eae: 0000 unimp
+ 80001eb0: 0000 unimp
+ 80001eb2: 0000 unimp
+ 80001eb4: 0000 unimp
+ 80001eb6: 0000 unimp
+ 80001eb8: 0000 unimp
+ 80001eba: 0000 unimp
+ 80001ebc: 0000 unimp
+ 80001ebe: 0000 unimp
+ 80001ec0: 0000 unimp
+ 80001ec2: 0000 unimp
+ 80001ec4: 0000 unimp
+ 80001ec6: 0000 unimp
+ 80001ec8: 0000 unimp
+ 80001eca: 0000 unimp
+ 80001ecc: 0000 unimp
+ 80001ece: 0000 unimp
+ 80001ed0: 0000 unimp
+ 80001ed2: 0000 unimp
+ 80001ed4: 0000 unimp
+ 80001ed6: 0000 unimp
+ 80001ed8: 0000 unimp
+ 80001eda: 0000 unimp
+ 80001edc: 0000 unimp
+ 80001ede: 0000 unimp
+ 80001ee0: 0000 unimp
+ 80001ee2: 0000 unimp
+ 80001ee4: 0000 unimp
+ 80001ee6: 0000 unimp
+ 80001ee8: 0000 unimp
+ 80001eea: 0000 unimp
+ 80001eec: 0000 unimp
+ 80001eee: 0000 unimp
+ 80001ef0: 0000 unimp
+ 80001ef2: 0000 unimp
+ 80001ef4: 0000 unimp
+ 80001ef6: 0000 unimp
+ 80001ef8: 0000 unimp
+ 80001efa: 0000 unimp
+ 80001efc: 0000 unimp
+ 80001efe: 0000 unimp
+ 80001f00: 0000 unimp
+ 80001f02: 0000 unimp
+ 80001f04: 0000 unimp
+ 80001f06: 0000 unimp
+ 80001f08: 0000 unimp
+ 80001f0a: 0000 unimp
+ 80001f0c: 0000 unimp
+ 80001f0e: 0000 unimp
+ 80001f10: 0000 unimp
+ 80001f12: 0000 unimp
+ 80001f14: 0000 unimp
+ 80001f16: 0000 unimp
+ 80001f18: 0000 unimp
+ 80001f1a: 0000 unimp
+ 80001f1c: 0000 unimp
+ 80001f1e: 0000 unimp
+ 80001f20: 0000 unimp
+ 80001f22: 0000 unimp
+ 80001f24: 0000 unimp
+ 80001f26: 0000 unimp
+ 80001f28: 0000 unimp
+ 80001f2a: 0000 unimp
+ 80001f2c: 0000 unimp
+ 80001f2e: 0000 unimp
+ 80001f30: 0000 unimp
+ 80001f32: 0000 unimp
+ 80001f34: 0000 unimp
+ 80001f36: 0000 unimp
+ 80001f38: 0000 unimp
+ 80001f3a: 0000 unimp
+ 80001f3c: 0000 unimp
+ 80001f3e: 0000 unimp
+ 80001f40: 0000 unimp
+ 80001f42: 0000 unimp
+ 80001f44: 0000 unimp
+ 80001f46: 0000 unimp
+ 80001f48: 0000 unimp
+ 80001f4a: 0000 unimp
+ 80001f4c: 0000 unimp
+ 80001f4e: 0000 unimp
+ 80001f50: 0000 unimp
+ 80001f52: 0000 unimp
+ 80001f54: 0000 unimp
+ 80001f56: 0000 unimp
+ 80001f58: 0000 unimp
+ 80001f5a: 0000 unimp
+ 80001f5c: 0000 unimp
+ 80001f5e: 0000 unimp
+ 80001f60: 0000 unimp
+ 80001f62: 0000 unimp
+ 80001f64: 0000 unimp
+ 80001f66: 0000 unimp
+ 80001f68: 0000 unimp
+ 80001f6a: 0000 unimp
+ 80001f6c: 0000 unimp
+ 80001f6e: 0000 unimp
+ 80001f70: 0000 unimp
+ 80001f72: 0000 unimp
+ 80001f74: 0000 unimp
+ 80001f76: 0000 unimp
+ 80001f78: 0000 unimp
+ 80001f7a: 0000 unimp
+ 80001f7c: 0000 unimp
+ 80001f7e: 0000 unimp
+ 80001f80: 0000 unimp
+ 80001f82: 0000 unimp
+ 80001f84: 0000 unimp
+ 80001f86: 0000 unimp
+ 80001f88: 0000 unimp
+ 80001f8a: 0000 unimp
+ 80001f8c: 0000 unimp
+ 80001f8e: 0000 unimp
+ 80001f90: 0000 unimp
+ 80001f92: 0000 unimp
+ 80001f94: 0000 unimp
+ 80001f96: 0000 unimp
+ 80001f98: 0000 unimp
+ 80001f9a: 0000 unimp
+ 80001f9c: 0000 unimp
+ 80001f9e: 0000 unimp
+ 80001fa0: 0000 unimp
+ 80001fa2: 0000 unimp
+ 80001fa4: 0000 unimp
+ 80001fa6: 0000 unimp
+ 80001fa8: 0000 unimp
+ 80001faa: 0000 unimp
+ 80001fac: 0000 unimp
+ 80001fae: 0000 unimp
+ 80001fb0: 0000 unimp
+ 80001fb2: 0000 unimp
+ 80001fb4: 0000 unimp
+ 80001fb6: 0000 unimp
+ 80001fb8: 0000 unimp
+ 80001fba: 0000 unimp
+ 80001fbc: 0000 unimp
+ 80001fbe: 0000 unimp
+ 80001fc0: 0000 unimp
+ 80001fc2: 0000 unimp
+ 80001fc4: 0000 unimp
+ 80001fc6: 0000 unimp
+ 80001fc8: 0000 unimp
+ 80001fca: 0000 unimp
+ 80001fcc: 0000 unimp
+ 80001fce: 0000 unimp
+ 80001fd0: 0000 unimp
+ 80001fd2: 0000 unimp
+ 80001fd4: 0000 unimp
+ 80001fd6: 0000 unimp
+ 80001fd8: 0000 unimp
+ 80001fda: 0000 unimp
+ 80001fdc: 0000 unimp
+ 80001fde: 0000 unimp
+ 80001fe0: 0000 unimp
+ 80001fe2: 0000 unimp
+ 80001fe4: 0000 unimp
+ 80001fe6: 0000 unimp
+ 80001fe8: 0000 unimp
+ 80001fea: 0000 unimp
+ 80001fec: 0000 unimp
+ 80001fee: 0000 unimp
+ 80001ff0: 0000 unimp
+ 80001ff2: 0000 unimp
+ 80001ff4: 0000 unimp
+ 80001ff6: 0000 unimp
+ 80001ff8: 0000 unimp
+ 80001ffa: 0000 unimp
+ 80001ffc: 0000 unimp
+ 80001ffe: 00158593 addi a1,a1,1
+ 80002002: 29b00e93 li t4,667
+ 80002006: 00200193 li gp,2
+ 8000200a: 2dd59163 bne a1,t4,800022cc <fail>
+ 8000200e: 00001137 lui sp,0x1
+ 80002012: 2341011b addiw sp,sp,564
+
+0000000080002016 <test_3>:
+ 80002016: 1fe8 addi a0,sp,1020
+ 80002018: 00001eb7 lui t4,0x1
+ 8000201c: 630e8e9b addiw t4,t4,1584
+ 80002020: 00300193 li gp,3
+ 80002024: 2bd51463 bne a0,t4,800022cc <fail>
+
+0000000080002028 <test_4>:
+ 80002028: 617d addi sp,sp,496
+ 8000202a: 0001 nop
+ 8000202c: 00001eb7 lui t4,0x1
+ 80002030: 424e8e9b addiw t4,t4,1060
+ 80002034: 00400193 li gp,4
+ 80002038: 29d11a63 bne sp,t4,800022cc <fail>
+
+000000008000203c <test_5>:
+ 8000203c: 7101 addi sp,sp,-512
+ 8000203e: 0001 nop
+ 80002040: 00001eb7 lui t4,0x1
+ 80002044: 224e8e9b addiw t4,t4,548
+ 80002048: 00500193 li gp,5
+ 8000204c: 29d11063 bne sp,t4,800022cc <fail>
+ 80002050: ffffe597 auipc a1,0xffffe
+ 80002054: 0b858593 addi a1,a1,184 # 80000108 <data>
+
+0000000080002058 <test_6>:
+ 80002058: 41c8 lw a0,4(a1)
+ 8000205a: 0505 addi a0,a0,1
+ 8000205c: c1c8 sw a0,4(a1)
+ 8000205e: 41d0 lw a2,4(a1)
+ 80002060: fedcceb7 lui t4,0xfedcc
+ 80002064: a99e8e9b addiw t4,t4,-1383
+ 80002068: 00600193 li gp,6
+ 8000206c: 27d61063 bne a2,t4,800022cc <fail>
+
+0000000080002070 <test_7>:
+ 80002070: 6188 ld a0,0(a1)
+ 80002072: 0505 addi a0,a0,1
+ 80002074: e188 sd a0,0(a1)
+ 80002076: 6190 ld a2,0(a1)
+ 80002078: fff6eeb7 lui t4,0xfff6e
+ 8000207c: 5d5e8e9b addiw t4,t4,1493
+ 80002080: 00ce9e93 slli t4,t4,0xc
+ 80002084: cbbe8e93 addi t4,t4,-837 # fffffffffff6dcbb <_end+0xffffffff7ff69cbb>
+ 80002088: 00de9e93 slli t4,t4,0xd
+ 8000208c: 543e8e93 addi t4,t4,1347
+ 80002090: 00ce9e93 slli t4,t4,0xc
+ 80002094: 211e8e93 addi t4,t4,529
+ 80002098: 00700193 li gp,7
+ 8000209c: 23d61863 bne a2,t4,800022cc <fail>
+
+00000000800020a0 <test_8>:
+ 800020a0: 00106513 ori a0,zero,1
+ 800020a4: 1541 addi a0,a0,-16
+ 800020a6: 0001 nop
+ 800020a8: ff100e93 li t4,-15
+ 800020ac: 00800193 li gp,8
+ 800020b0: 21d51e63 bne a0,t4,800022cc <fail>
+
+00000000800020b4 <test_9>:
+ 800020b4: 00106793 ori a5,zero,1
+ 800020b8: 57c1 li a5,-16
+ 800020ba: 0001 nop
+ 800020bc: ff000e93 li t4,-16
+ 800020c0: 00900193 li gp,9
+ 800020c4: 21d79463 bne a5,t4,800022cc <fail>
+
+00000000800020c8 <test_10>:
+ 800020c8: 6188 ld a0,0(a1)
+ 800020ca: 357d addiw a0,a0,-1
+ 800020cc: 76543eb7 lui t4,0x76543
+ 800020d0: 210e8e9b addiw t4,t4,528
+ 800020d4: 00a00193 li gp,10
+ 800020d8: 1fd51a63 bne a0,t4,800022cc <fail>
+
+00000000800020dc <test_11>:
+ 800020dc: 7405 lui s0,0xfffe1
+ 800020de: 8431 srai s0,s0,0xc
+ 800020e0: fe100e93 li t4,-31
+ 800020e4: 00b00193 li gp,11
+ 800020e8: 1fd41263 bne s0,t4,800022cc <fail>
+
+00000000800020ec <test_12>:
+ 800020ec: 7405 lui s0,0xfffe1
+ 800020ee: 8031 srli s0,s0,0xc
+ 800020f0: 00100e9b addiw t4,zero,1
+ 800020f4: 034e9e93 slli t4,t4,0x34
+ 800020f8: fe1e8e93 addi t4,t4,-31 # 76542fe1 <_start-0x9abd01f>
+ 800020fc: 00c00193 li gp,12
+ 80002100: 1dd41663 bne s0,t4,800022cc <fail>
+
+0000000080002104 <test_14>:
+ 80002104: 5479 li s0,-2
+ 80002106: 983d andi s0,s0,-17
+ 80002108: fee00e93 li t4,-18
+ 8000210c: 00e00193 li gp,14
+ 80002110: 1bd41e63 bne s0,t4,800022cc <fail>
+
+0000000080002114 <test_15>:
+ 80002114: 44d1 li s1,20
+ 80002116: 4519 li a0,6
+ 80002118: 8c89 sub s1,s1,a0
+ 8000211a: 0001 nop
+ 8000211c: 00e00e93 li t4,14
+ 80002120: 00f00193 li gp,15
+ 80002124: 1bd49463 bne s1,t4,800022cc <fail>
+
+0000000080002128 <test_16>:
+ 80002128: 44d1 li s1,20
+ 8000212a: 4519 li a0,6
+ 8000212c: 8ca9 xor s1,s1,a0
+ 8000212e: 0001 nop
+ 80002130: 01200e93 li t4,18
+ 80002134: 01000193 li gp,16
+ 80002138: 19d49a63 bne s1,t4,800022cc <fail>
+
+000000008000213c <test_17>:
+ 8000213c: 44d1 li s1,20
+ 8000213e: 4519 li a0,6
+ 80002140: 8cc9 or s1,s1,a0
+ 80002142: 0001 nop
+ 80002144: 01600e93 li t4,22
+ 80002148: 01100193 li gp,17
+ 8000214c: 19d49063 bne s1,t4,800022cc <fail>
+
+0000000080002150 <test_18>:
+ 80002150: 44d1 li s1,20
+ 80002152: 4519 li a0,6
+ 80002154: 8ce9 and s1,s1,a0
+ 80002156: 0001 nop
+ 80002158: 00400e93 li t4,4
+ 8000215c: 01200193 li gp,18
+ 80002160: 17d49663 bne s1,t4,800022cc <fail>
+
+0000000080002164 <test_19>:
+ 80002164: 800004b7 lui s1,0x80000
+ 80002168: fff4849b addiw s1,s1,-1
+ 8000216c: 557d li a0,-1
+ 8000216e: 9c89 subw s1,s1,a0
+ 80002170: 80000eb7 lui t4,0x80000
+ 80002174: 01300193 li gp,19
+ 80002178: 15d49a63 bne s1,t4,800022cc <fail>
+
+000000008000217c <test_20>:
+ 8000217c: 800004b7 lui s1,0x80000
+ 80002180: fff4849b addiw s1,s1,-1
+ 80002184: 4505 li a0,1
+ 80002186: 9ca9 addw s1,s1,a0
+ 80002188: 80000eb7 lui t4,0x80000
+ 8000218c: 01400193 li gp,20
+ 80002190: 13d49e63 bne s1,t4,800022cc <fail>
+
+0000000080002194 <test_21>:
+ 80002194: 00001437 lui s0,0x1
+ 80002198: 2344041b addiw s0,s0,564
+ 8000219c: 0412 slli s0,s0,0x4
+ 8000219e: 0001 nop
+ 800021a0: 00012eb7 lui t4,0x12
+ 800021a4: 340e8e9b addiw t4,t4,832
+ 800021a8: 01500193 li gp,21
+ 800021ac: 13d41063 bne s0,t4,800022cc <fail>
+
+00000000800021b0 <test_30>:
+ 800021b0: 4081 li ra,0
+ 800021b2: a011 j 800021b6 <test_30+0x6>
+ 800021b4: a011 j 800021b8 <test_30+0x8>
+ 800021b6: a011 j 800021ba <test_30+0xa>
+ 800021b8: aa11 j 800022cc <fail>
+ 800021ba: 0001 nop
+ 800021bc: 00000e93 li t4,0
+ 800021c0: 01e00193 li gp,30
+ 800021c4: 11d09463 bne ra,t4,800022cc <fail>
+
+00000000800021c8 <test_31>:
+ 800021c8: 4501 li a0,0
+ 800021ca: c111 beqz a0,800021ce <test_31+0x6>
+ 800021cc: a011 j 800021d0 <test_31+0x8>
+ 800021ce: a011 j 800021d2 <test_31+0xa>
+ 800021d0: a8f5 j 800022cc <fail>
+ 800021d2: 0001 nop
+ 800021d4: 00000e93 li t4,0
+ 800021d8: 01f00193 li gp,31
+ 800021dc: 0fd01863 bne zero,t4,800022cc <fail>
+
+00000000800021e0 <test_32>:
+ 800021e0: 4505 li a0,1
+ 800021e2: e111 bnez a0,800021e6 <test_32+0x6>
+ 800021e4: a011 j 800021e8 <test_32+0x8>
+ 800021e6: a011 j 800021ea <test_32+0xa>
+ 800021e8: a0d5 j 800022cc <fail>
+ 800021ea: 0001 nop
+ 800021ec: 00000e93 li t4,0
+ 800021f0: 02000193 li gp,32
+ 800021f4: 0dd01c63 bne zero,t4,800022cc <fail>
+
+00000000800021f8 <test_33>:
+ 800021f8: 4505 li a0,1
+ 800021fa: c111 beqz a0,800021fe <test_33+0x6>
+ 800021fc: a011 j 80002200 <test_33+0x8>
+ 800021fe: a0f9 j 800022cc <fail>
+ 80002200: 00000e93 li t4,0
+ 80002204: 02100193 li gp,33
+ 80002208: 0dd01263 bne zero,t4,800022cc <fail>
+
+000000008000220c <test_34>:
+ 8000220c: 4501 li a0,0
+ 8000220e: e111 bnez a0,80002212 <test_34+0x6>
+ 80002210: a011 j 80002214 <test_34+0x8>
+ 80002212: a86d j 800022cc <fail>
+ 80002214: 00000e93 li t4,0
+ 80002218: 02200193 li gp,34
+ 8000221c: 0bd01863 bne zero,t4,800022cc <fail>
+
+0000000080002220 <test_35>:
+ 80002220: 00000297 auipc t0,0x0
+ 80002224: 00e28293 addi t0,t0,14 # 8000222e <test_35+0xe>
+ 80002228: 4081 li ra,0
+ 8000222a: 8282 jr t0
+ 8000222c: a011 j 80002230 <test_35+0x10>
+ 8000222e: a011 j 80002232 <test_35+0x12>
+ 80002230: a871 j 800022cc <fail>
+ 80002232: 0001 nop
+ 80002234: 00000e93 li t4,0
+ 80002238: 02300193 li gp,35
+ 8000223c: 09d09863 bne ra,t4,800022cc <fail>
+
+0000000080002240 <test_36>:
+ 80002240: 00000297 auipc t0,0x0
+ 80002244: 00e28293 addi t0,t0,14 # 8000224e <test_36+0xe>
+ 80002248: 4081 li ra,0
+ 8000224a: 9282 jalr t0
+ 8000224c: a011 j 80002250 <test_36+0x10>
+ 8000224e: a011 j 80002252 <test_36+0x12>
+ 80002250: a8b5 j 800022cc <fail>
+ 80002252: 405080b3 sub ra,ra,t0
+ 80002256: 0001 nop
+ 80002258: ffe00e93 li t4,-2
+ 8000225c: 02400193 li gp,36
+ 80002260: 07d09663 bne ra,t4,800022cc <fail>
+ 80002264: ffffe117 auipc sp,0xffffe
+ 80002268: ea410113 addi sp,sp,-348 # 80000108 <data>
+
+000000008000226c <test_40>:
+ 8000226c: 4532 lw a0,12(sp)
+ 8000226e: 0505 addi a0,a0,1
+ 80002270: c62a sw a0,12(sp)
+ 80002272: 4632 lw a2,12(sp)
+ 80002274: fedcceb7 lui t4,0xfedcc
+ 80002278: a99e8e9b addiw t4,t4,-1383
+ 8000227c: 02800193 li gp,40
+ 80002280: 05d61663 bne a2,t4,800022cc <fail>
+
+0000000080002284 <test_41>:
+ 80002284: 6522 ld a0,8(sp)
+ 80002286: 0505 addi a0,a0,1
+ 80002288: e42a sd a0,8(sp)
+ 8000228a: 6622 ld a2,8(sp)
+ 8000228c: fff6eeb7 lui t4,0xfff6e
+ 80002290: 5d5e8e9b addiw t4,t4,1493
+ 80002294: 00ce9e93 slli t4,t4,0xc
+ 80002298: cbbe8e93 addi t4,t4,-837 # fffffffffff6dcbb <_end+0xffffffff7ff69cbb>
+ 8000229c: 00de9e93 slli t4,t4,0xd
+ 800022a0: 543e8e93 addi t4,t4,1347
+ 800022a4: 00ce9e93 slli t4,t4,0xc
+ 800022a8: 211e8e93 addi t4,t4,529
+ 800022ac: 02900193 li gp,41
+ 800022b0: 01d61e63 bne a2,t4,800022cc <fail>
+
+00000000800022b4 <test_42>:
+ 800022b4: 12300513 li a0,291
+ 800022b8: 82aa mv t0,a0
+ 800022ba: 92aa add t0,t0,a0
+ 800022bc: 24600e93 li t4,582
+ 800022c0: 02a00193 li gp,42
+ 800022c4: 01d29463 bne t0,t4,800022cc <fail>
+ 800022c8: 00301c63 bne zero,gp,800022e0 <pass>
+
+00000000800022cc <fail>:
+ 800022cc: 0ff0000f fence
+ 800022d0: 00018063 beqz gp,800022d0 <fail+0x4>
+ 800022d4: 00119193 slli gp,gp,0x1
+ 800022d8: 0011e193 ori gp,gp,1
+ 800022dc: 00000073 ecall
+
+00000000800022e0 <pass>:
+ 800022e0: 0ff0000f fence
+ 800022e4: 00100193 li gp,1
+ 800022e8: 00000073 ecall
+ 800022ec: c0001073 unimp
+ 800022f0: 0000 unimp
+ 800022f2: 0000 unimp
+ 800022f4: 0000 unimp
+ 800022f6: 0000 unimp
+ 800022f8: 0000 unimp
+ 800022fa: 0000 unimp
+ 800022fc: 0000 unimp
+ 800022fe: 0000 unimp
+ 80002300: 0000 unimp
+ 80002302: 0000 unimp
+ 80002304: 0000 unimp
+ 80002306: 0000 unimp
+ 80002308: 0000 unimp
+ 8000230a: 0000 unimp
+ 8000230c: 0000 unimp
+ 8000230e: 0000 unimp
+ 80002310: 0000 unimp
+ 80002312: 0000 unimp
+ 80002314: 0000 unimp
+ 80002316: 0000 unimp
+ 80002318: 0000 unimp
+ 8000231a: 0000 unimp
+ 8000231c: 0000 unimp
+ 8000231e: 0000 unimp
+ 80002320: 0000 unimp
+ 80002322: 0000 unimp
+ 80002324: 0000 unimp
+ 80002326: 0000 unimp
+ 80002328: 0000 unimp
+ 8000232a: 0000 unimp
+ 8000232c: 0000 unimp
+ 8000232e: 0000 unimp
+ 80002330: 0000 unimp
+ 80002332: 0000 unimp
+ 80002334: 0000 unimp
+ 80002336: 0000 unimp
+ 80002338: 0000 unimp
+ 8000233a: 0000 unimp
+ 8000233c: 0000 unimp
+ 8000233e: 0000 unimp
+ 80002340: 0000 unimp
+ 80002342: 0000 unimp
+ 80002344: 0000 unimp
+ 80002346: 0000 unimp
+ 80002348: 0000 unimp
+ 8000234a: 0000 unimp
+ 8000234c: 0000 unimp
+ 8000234e: 0000 unimp
+ 80002350: 0000 unimp
+ 80002352: 0000 unimp
+ 80002354: 0000 unimp
+ 80002356: 0000 unimp
+ 80002358: 0000 unimp
+ 8000235a: 0000 unimp
+ 8000235c: 0000 unimp
+ 8000235e: 0000 unimp
+ 80002360: 0000 unimp
+ 80002362: 0000 unimp
+ 80002364: 0000 unimp
+ 80002366: 0000 unimp
+ 80002368: 0000 unimp
+ 8000236a: 0000 unimp
+ 8000236c: 0000 unimp
+ 8000236e: 0000 unimp
+ 80002370: 0000 unimp
+ 80002372: 0000 unimp
+ 80002374: 0000 unimp
+ 80002376: 0000 unimp
+ 80002378: 0000 unimp
+ 8000237a: 0000 unimp
+ 8000237c: 0000 unimp
+ 8000237e: 0000 unimp
+ 80002380: 0000 unimp
+ 80002382: 0000 unimp
+ 80002384: 0000 unimp
+ 80002386: 0000 unimp
+ 80002388: 0000 unimp
+ 8000238a: 0000 unimp
+ 8000238c: 0000 unimp
+ 8000238e: 0000 unimp
+ 80002390: 0000 unimp
+ 80002392: 0000 unimp
+ 80002394: 0000 unimp
+ 80002396: 0000 unimp
+ 80002398: 0000 unimp
+ 8000239a: 0000 unimp
+ 8000239c: 0000 unimp
+ 8000239e: 0000 unimp
+ 800023a0: 0000 unimp
+ 800023a2: 0000 unimp
+ 800023a4: 0000 unimp
+ 800023a6: 0000 unimp
+ 800023a8: 0000 unimp
+ 800023aa: 0000 unimp
+ 800023ac: 0000 unimp
+ 800023ae: 0000 unimp
+ 800023b0: 0000 unimp
+ 800023b2: 0000 unimp
+ 800023b4: 0000 unimp
+ 800023b6: 0000 unimp
+ 800023b8: 0000 unimp
+ 800023ba: 0000 unimp
+ 800023bc: 0000 unimp
+ 800023be: 0000 unimp
+ 800023c0: 0000 unimp
+ 800023c2: 0000 unimp
+ 800023c4: 0000 unimp
+ 800023c6: 0000 unimp
+ 800023c8: 0000 unimp
+ 800023ca: 0000 unimp
+ 800023cc: 0000 unimp
+ 800023ce: 0000 unimp
+ 800023d0: 0000 unimp
+ 800023d2: 0000 unimp
+ 800023d4: 0000 unimp
+ 800023d6: 0000 unimp
+ 800023d8: 0000 unimp
+ 800023da: 0000 unimp
+ 800023dc: 0000 unimp
+ 800023de: 0000 unimp
+ 800023e0: 0000 unimp
+ 800023e2: 0000 unimp
+ 800023e4: 0000 unimp
+ 800023e6: 0000 unimp
+ 800023e8: 0000 unimp
+ 800023ea: 0000 unimp
+ 800023ec: 0000 unimp
+ 800023ee: 0000 unimp
+ 800023f0: 0000 unimp
+ 800023f2: 0000 unimp
+ 800023f4: 0000 unimp
+ 800023f6: 0000 unimp
+ 800023f8: 0000 unimp
+ 800023fa: 0000 unimp
+ 800023fc: 0000 unimp
+ 800023fe: 0000 unimp
+ 80002400: 0000 unimp
+ 80002402: 0000 unimp
+ 80002404: 0000 unimp
+ 80002406: 0000 unimp
+ 80002408: 0000 unimp
+ 8000240a: 0000 unimp
+ 8000240c: 0000 unimp
+ 8000240e: 0000 unimp
+ 80002410: 0000 unimp
+ 80002412: 0000 unimp
+ 80002414: 0000 unimp
+ 80002416: 0000 unimp
+ 80002418: 0000 unimp
+ 8000241a: 0000 unimp
+ 8000241c: 0000 unimp
+ 8000241e: 0000 unimp
+ 80002420: 0000 unimp
+ 80002422: 0000 unimp
+ 80002424: 0000 unimp
+ 80002426: 0000 unimp
+ 80002428: 0000 unimp
+ 8000242a: 0000 unimp
+ 8000242c: 0000 unimp
+ 8000242e: 0000 unimp
+ 80002430: 0000 unimp
+ 80002432: 0000 unimp
+ 80002434: 0000 unimp
+ 80002436: 0000 unimp
+ 80002438: 0000 unimp
+ 8000243a: 0000 unimp
+ 8000243c: 0000 unimp
+ 8000243e: 0000 unimp
+ 80002440: 0000 unimp
+ 80002442: 0000 unimp
+ 80002444: 0000 unimp
+ 80002446: 0000 unimp
+ 80002448: 0000 unimp
+ 8000244a: 0000 unimp
+ 8000244c: 0000 unimp
+ 8000244e: 0000 unimp
+ 80002450: 0000 unimp
+ 80002452: 0000 unimp
+ 80002454: 0000 unimp
+ 80002456: 0000 unimp
+ 80002458: 0000 unimp
+ 8000245a: 0000 unimp
+ 8000245c: 0000 unimp
+ 8000245e: 0000 unimp
+ 80002460: 0000 unimp
+ 80002462: 0000 unimp
+ 80002464: 0000 unimp
+ 80002466: 0000 unimp
+ 80002468: 0000 unimp
+ 8000246a: 0000 unimp
+ 8000246c: 0000 unimp
+ 8000246e: 0000 unimp
+ 80002470: 0000 unimp
+ 80002472: 0000 unimp
+ 80002474: 0000 unimp
+ 80002476: 0000 unimp
+ 80002478: 0000 unimp
+ 8000247a: 0000 unimp
+ 8000247c: 0000 unimp
+ 8000247e: 0000 unimp
+ 80002480: 0000 unimp
+ 80002482: 0000 unimp
+ 80002484: 0000 unimp
+ 80002486: 0000 unimp
+ 80002488: 0000 unimp
+ 8000248a: 0000 unimp
+ 8000248c: 0000 unimp
+ 8000248e: 0000 unimp
+ 80002490: 0000 unimp
+ 80002492: 0000 unimp
+ 80002494: 0000 unimp
+ 80002496: 0000 unimp
+ 80002498: 0000 unimp
+ 8000249a: 0000 unimp
+ 8000249c: 0000 unimp
+ 8000249e: 0000 unimp
+ 800024a0: 0000 unimp
+ 800024a2: 0000 unimp
+ 800024a4: 0000 unimp
+ 800024a6: 0000 unimp
+ 800024a8: 0000 unimp
+ 800024aa: 0000 unimp
+ 800024ac: 0000 unimp
+ 800024ae: 0000 unimp
+ 800024b0: 0000 unimp
+ 800024b2: 0000 unimp
+ 800024b4: 0000 unimp
+ 800024b6: 0000 unimp
+ 800024b8: 0000 unimp
+ 800024ba: 0000 unimp
+ 800024bc: 0000 unimp
+ 800024be: 0000 unimp
+ 800024c0: 0000 unimp
+ 800024c2: 0000 unimp
+ 800024c4: 0000 unimp
+ 800024c6: 0000 unimp
+ 800024c8: 0000 unimp
+ 800024ca: 0000 unimp
+ 800024cc: 0000 unimp
+ 800024ce: 0000 unimp
+ 800024d0: 0000 unimp
+ 800024d2: 0000 unimp
+ 800024d4: 0000 unimp
+ 800024d6: 0000 unimp
+ 800024d8: 0000 unimp
+ 800024da: 0000 unimp
+ 800024dc: 0000 unimp
+ 800024de: 0000 unimp
+ 800024e0: 0000 unimp
+ 800024e2: 0000 unimp
+ 800024e4: 0000 unimp
+ 800024e6: 0000 unimp
+ 800024e8: 0000 unimp
+ 800024ea: 0000 unimp
+ 800024ec: 0000 unimp
+ 800024ee: 0000 unimp
+ 800024f0: 0000 unimp
+ 800024f2: 0000 unimp
+ 800024f4: 0000 unimp
+ 800024f6: 0000 unimp
+ 800024f8: 0000 unimp
+ 800024fa: 0000 unimp
+ 800024fc: 0000 unimp
+ 800024fe: 0000 unimp
+ 80002500: 0000 unimp
+ 80002502: 0000 unimp
+ 80002504: 0000 unimp
+ 80002506: 0000 unimp
+ 80002508: 0000 unimp
+ 8000250a: 0000 unimp
+ 8000250c: 0000 unimp
+ 8000250e: 0000 unimp
+ 80002510: 0000 unimp
+ 80002512: 0000 unimp
+ 80002514: 0000 unimp
+ 80002516: 0000 unimp
+ 80002518: 0000 unimp
+ 8000251a: 0000 unimp
+ 8000251c: 0000 unimp
+ 8000251e: 0000 unimp
+ 80002520: 0000 unimp
+ 80002522: 0000 unimp
+ 80002524: 0000 unimp
+ 80002526: 0000 unimp
+ 80002528: 0000 unimp
+ 8000252a: 0000 unimp
+ 8000252c: 0000 unimp
+ 8000252e: 0000 unimp
+ 80002530: 0000 unimp
+ 80002532: 0000 unimp
+ 80002534: 0000 unimp
+ 80002536: 0000 unimp
+ 80002538: 0000 unimp
+ 8000253a: 0000 unimp
+ 8000253c: 0000 unimp
+ 8000253e: 0000 unimp
+ 80002540: 0000 unimp
+ 80002542: 0000 unimp
+ 80002544: 0000 unimp
+ 80002546: 0000 unimp
+ 80002548: 0000 unimp
+ 8000254a: 0000 unimp
+ 8000254c: 0000 unimp
+ 8000254e: 0000 unimp
+ 80002550: 0000 unimp
+ 80002552: 0000 unimp
+ 80002554: 0000 unimp
+ 80002556: 0000 unimp
+ 80002558: 0000 unimp
+ 8000255a: 0000 unimp
+ 8000255c: 0000 unimp
+ 8000255e: 0000 unimp
+ 80002560: 0000 unimp
+ 80002562: 0000 unimp
+ 80002564: 0000 unimp
+ 80002566: 0000 unimp
+ 80002568: 0000 unimp
+ 8000256a: 0000 unimp
+ 8000256c: 0000 unimp
+ 8000256e: 0000 unimp
+ 80002570: 0000 unimp
+ 80002572: 0000 unimp
+ 80002574: 0000 unimp
+ 80002576: 0000 unimp
+ 80002578: 0000 unimp
+ 8000257a: 0000 unimp
+ 8000257c: 0000 unimp
+ 8000257e: 0000 unimp
+ 80002580: 0000 unimp
+ 80002582: 0000 unimp
+ 80002584: 0000 unimp
+ 80002586: 0000 unimp
+ 80002588: 0000 unimp
+ 8000258a: 0000 unimp
+ 8000258c: 0000 unimp
+ 8000258e: 0000 unimp
+ 80002590: 0000 unimp
+ 80002592: 0000 unimp
+ 80002594: 0000 unimp
+ 80002596: 0000 unimp
+ 80002598: 0000 unimp
+ 8000259a: 0000 unimp
+ 8000259c: 0000 unimp
+ 8000259e: 0000 unimp
+ 800025a0: 0000 unimp
+ 800025a2: 0000 unimp
+ 800025a4: 0000 unimp
+ 800025a6: 0000 unimp
+ 800025a8: 0000 unimp
+ 800025aa: 0000 unimp
+ 800025ac: 0000 unimp
+ 800025ae: 0000 unimp
+ 800025b0: 0000 unimp
+ 800025b2: 0000 unimp
+ 800025b4: 0000 unimp
+ 800025b6: 0000 unimp
+ 800025b8: 0000 unimp
+ 800025ba: 0000 unimp
+ 800025bc: 0000 unimp
+ 800025be: 0000 unimp
+ 800025c0: 0000 unimp
+ 800025c2: 0000 unimp
+ 800025c4: 0000 unimp
+ 800025c6: 0000 unimp
+ 800025c8: 0000 unimp
+ 800025ca: 0000 unimp
+ 800025cc: 0000 unimp
+ 800025ce: 0000 unimp
+ 800025d0: 0000 unimp
+ 800025d2: 0000 unimp
+ 800025d4: 0000 unimp
+ 800025d6: 0000 unimp
+ 800025d8: 0000 unimp
+ 800025da: 0000 unimp
+ 800025dc: 0000 unimp
+ 800025de: 0000 unimp
+ 800025e0: 0000 unimp
+ 800025e2: 0000 unimp
+ 800025e4: 0000 unimp
+ 800025e6: 0000 unimp
+ 800025e8: 0000 unimp
+ 800025ea: 0000 unimp
+ 800025ec: 0000 unimp
+ 800025ee: 0000 unimp
+ 800025f0: 0000 unimp
+ 800025f2: 0000 unimp
+ 800025f4: 0000 unimp
+ 800025f6: 0000 unimp
+ 800025f8: 0000 unimp
+ 800025fa: 0000 unimp
+ 800025fc: 0000 unimp
+ 800025fe: 0000 unimp
+ 80002600: 0000 unimp
+ 80002602: 0000 unimp
+ 80002604: 0000 unimp
+ 80002606: 0000 unimp
+ 80002608: 0000 unimp
+ 8000260a: 0000 unimp
+ 8000260c: 0000 unimp
+ 8000260e: 0000 unimp
+ 80002610: 0000 unimp
+ 80002612: 0000 unimp
+ 80002614: 0000 unimp
+ 80002616: 0000 unimp
+ 80002618: 0000 unimp
+ 8000261a: 0000 unimp
+ 8000261c: 0000 unimp
+ 8000261e: 0000 unimp
+ 80002620: 0000 unimp
+ 80002622: 0000 unimp
+ 80002624: 0000 unimp
+ 80002626: 0000 unimp
+ 80002628: 0000 unimp
+ 8000262a: 0000 unimp
+ 8000262c: 0000 unimp
+ 8000262e: 0000 unimp
+ 80002630: 0000 unimp
+ 80002632: 0000 unimp
+ 80002634: 0000 unimp
+ 80002636: 0000 unimp
+ 80002638: 0000 unimp
+ 8000263a: 0000 unimp
+ 8000263c: 0000 unimp
+ 8000263e: 0000 unimp
+ 80002640: 0000 unimp
+ 80002642: 0000 unimp
+ 80002644: 0000 unimp
+ 80002646: 0000 unimp
+ 80002648: 0000 unimp
+ 8000264a: 0000 unimp
+ 8000264c: 0000 unimp
+ 8000264e: 0000 unimp
+ 80002650: 0000 unimp
+ 80002652: 0000 unimp
+ 80002654: 0000 unimp
+ 80002656: 0000 unimp
+ 80002658: 0000 unimp
+ 8000265a: 0000 unimp
+ 8000265c: 0000 unimp
+ 8000265e: 0000 unimp
+ 80002660: 0000 unimp
+ 80002662: 0000 unimp
+ 80002664: 0000 unimp
+ 80002666: 0000 unimp
+ 80002668: 0000 unimp
+ 8000266a: 0000 unimp
+ 8000266c: 0000 unimp
+ 8000266e: 0000 unimp
+ 80002670: 0000 unimp
+ 80002672: 0000 unimp
+ 80002674: 0000 unimp
+ 80002676: 0000 unimp
+ 80002678: 0000 unimp
+ 8000267a: 0000 unimp
+ 8000267c: 0000 unimp
+ 8000267e: 0000 unimp
+ 80002680: 0000 unimp
+ 80002682: 0000 unimp
+ 80002684: 0000 unimp
+ 80002686: 0000 unimp
+ 80002688: 0000 unimp
+ 8000268a: 0000 unimp
+ 8000268c: 0000 unimp
+ 8000268e: 0000 unimp
+ 80002690: 0000 unimp
+ 80002692: 0000 unimp
+ 80002694: 0000 unimp
+ 80002696: 0000 unimp
+ 80002698: 0000 unimp
+ 8000269a: 0000 unimp
+ 8000269c: 0000 unimp
+ 8000269e: 0000 unimp
+ 800026a0: 0000 unimp
+ 800026a2: 0000 unimp
+ 800026a4: 0000 unimp
+ 800026a6: 0000 unimp
+ 800026a8: 0000 unimp
+ 800026aa: 0000 unimp
+ 800026ac: 0000 unimp
+ 800026ae: 0000 unimp
+ 800026b0: 0000 unimp
+ 800026b2: 0000 unimp
+ 800026b4: 0000 unimp
+ 800026b6: 0000 unimp
+ 800026b8: 0000 unimp
+ 800026ba: 0000 unimp
+ 800026bc: 0000 unimp
+ 800026be: 0000 unimp
+ 800026c0: 0000 unimp
+ 800026c2: 0000 unimp
+ 800026c4: 0000 unimp
+ 800026c6: 0000 unimp
+ 800026c8: 0000 unimp
+ 800026ca: 0000 unimp
+ 800026cc: 0000 unimp
+ 800026ce: 0000 unimp
+ 800026d0: 0000 unimp
+ 800026d2: 0000 unimp
+ 800026d4: 0000 unimp
+ 800026d6: 0000 unimp
+ 800026d8: 0000 unimp
+ 800026da: 0000 unimp
+ 800026dc: 0000 unimp
+ 800026de: 0000 unimp
+ 800026e0: 0000 unimp
+ 800026e2: 0000 unimp
+ 800026e4: 0000 unimp
+ 800026e6: 0000 unimp
+ 800026e8: 0000 unimp
+ 800026ea: 0000 unimp
+ 800026ec: 0000 unimp
+ 800026ee: 0000 unimp
+ 800026f0: 0000 unimp
+ 800026f2: 0000 unimp
+ 800026f4: 0000 unimp
+ 800026f6: 0000 unimp
+ 800026f8: 0000 unimp
+ 800026fa: 0000 unimp
+ 800026fc: 0000 unimp
+ 800026fe: 0000 unimp
+ 80002700: 0000 unimp
+ 80002702: 0000 unimp
+ 80002704: 0000 unimp
+ 80002706: 0000 unimp
+ 80002708: 0000 unimp
+ 8000270a: 0000 unimp
+ 8000270c: 0000 unimp
+ 8000270e: 0000 unimp
+ 80002710: 0000 unimp
+ 80002712: 0000 unimp
+ 80002714: 0000 unimp
+ 80002716: 0000 unimp
+ 80002718: 0000 unimp
+ 8000271a: 0000 unimp
+ 8000271c: 0000 unimp
+ 8000271e: 0000 unimp
+ 80002720: 0000 unimp
+ 80002722: 0000 unimp
+ 80002724: 0000 unimp
+ 80002726: 0000 unimp
+ 80002728: 0000 unimp
+ 8000272a: 0000 unimp
+ 8000272c: 0000 unimp
+ 8000272e: 0000 unimp
+ 80002730: 0000 unimp
+ 80002732: 0000 unimp
+ 80002734: 0000 unimp
+ 80002736: 0000 unimp
+ 80002738: 0000 unimp
+ 8000273a: 0000 unimp
+ 8000273c: 0000 unimp
+ 8000273e: 0000 unimp
+ 80002740: 0000 unimp
+ 80002742: 0000 unimp
+ 80002744: 0000 unimp
+ 80002746: 0000 unimp
+ 80002748: 0000 unimp
+ 8000274a: 0000 unimp
+ 8000274c: 0000 unimp
+ 8000274e: 0000 unimp
+ 80002750: 0000 unimp
+ 80002752: 0000 unimp
+ 80002754: 0000 unimp
+ 80002756: 0000 unimp
+ 80002758: 0000 unimp
+ 8000275a: 0000 unimp
+ 8000275c: 0000 unimp
+ 8000275e: 0000 unimp
+ 80002760: 0000 unimp
+ 80002762: 0000 unimp
+ 80002764: 0000 unimp
+ 80002766: 0000 unimp
+ 80002768: 0000 unimp
+ 8000276a: 0000 unimp
+ 8000276c: 0000 unimp
+ 8000276e: 0000 unimp
+ 80002770: 0000 unimp
+ 80002772: 0000 unimp
+ 80002774: 0000 unimp
+ 80002776: 0000 unimp
+ 80002778: 0000 unimp
+ 8000277a: 0000 unimp
+ 8000277c: 0000 unimp
+ 8000277e: 0000 unimp
+ 80002780: 0000 unimp
+ 80002782: 0000 unimp
+ 80002784: 0000 unimp
+ 80002786: 0000 unimp
+ 80002788: 0000 unimp
+ 8000278a: 0000 unimp
+ 8000278c: 0000 unimp
+ 8000278e: 0000 unimp
+ 80002790: 0000 unimp
+ 80002792: 0000 unimp
+ 80002794: 0000 unimp
+ 80002796: 0000 unimp
+ 80002798: 0000 unimp
+ 8000279a: 0000 unimp
+ 8000279c: 0000 unimp
+ 8000279e: 0000 unimp
+ 800027a0: 0000 unimp
+ 800027a2: 0000 unimp
+ 800027a4: 0000 unimp
+ 800027a6: 0000 unimp
+ 800027a8: 0000 unimp
+ 800027aa: 0000 unimp
+ 800027ac: 0000 unimp
+ 800027ae: 0000 unimp
+ 800027b0: 0000 unimp
+ 800027b2: 0000 unimp
+ 800027b4: 0000 unimp
+ 800027b6: 0000 unimp
+ 800027b8: 0000 unimp
+ 800027ba: 0000 unimp
+ 800027bc: 0000 unimp
+ 800027be: 0000 unimp
+ 800027c0: 0000 unimp
+ 800027c2: 0000 unimp
+ 800027c4: 0000 unimp
+ 800027c6: 0000 unimp
+ 800027c8: 0000 unimp
+ 800027ca: 0000 unimp
+ 800027cc: 0000 unimp
+ 800027ce: 0000 unimp
+ 800027d0: 0000 unimp
+ 800027d2: 0000 unimp
+ 800027d4: 0000 unimp
+ 800027d6: 0000 unimp
+ 800027d8: 0000 unimp
+ 800027da: 0000 unimp
+ 800027dc: 0000 unimp
+ 800027de: 0000 unimp
+ 800027e0: 0000 unimp
+ 800027e2: 0000 unimp
+ 800027e4: 0000 unimp
+ 800027e6: 0000 unimp
+ 800027e8: 0000 unimp
+ 800027ea: 0000 unimp
+ 800027ec: 0000 unimp
+ 800027ee: 0000 unimp
+ 800027f0: 0000 unimp
+ 800027f2: 0000 unimp
+ 800027f4: 0000 unimp
+ 800027f6: 0000 unimp
+ 800027f8: 0000 unimp
+ 800027fa: 0000 unimp
+ 800027fc: 0000 unimp
+ 800027fe: 0000 unimp
+ 80002800: 0000 unimp
+ 80002802: 0000 unimp
+ 80002804: 0000 unimp
+ 80002806: 0000 unimp
+ 80002808: 0000 unimp
+ 8000280a: 0000 unimp
+ 8000280c: 0000 unimp
+ 8000280e: 0000 unimp
+ 80002810: 0000 unimp
+ 80002812: 0000 unimp
+ 80002814: 0000 unimp
+ 80002816: 0000 unimp
+ 80002818: 0000 unimp
+ 8000281a: 0000 unimp
+ 8000281c: 0000 unimp
+ 8000281e: 0000 unimp
+ 80002820: 0000 unimp
+ 80002822: 0000 unimp
+ 80002824: 0000 unimp
+ 80002826: 0000 unimp
+ 80002828: 0000 unimp
+ 8000282a: 0000 unimp
+ 8000282c: 0000 unimp
+ 8000282e: 0000 unimp
+ 80002830: 0000 unimp
+ 80002832: 0000 unimp
+ 80002834: 0000 unimp
+ 80002836: 0000 unimp
+ 80002838: 0000 unimp
+ 8000283a: 0000 unimp
+ 8000283c: 0000 unimp
+ 8000283e: 0000 unimp
+ 80002840: 0000 unimp
+ 80002842: 0000 unimp
+ 80002844: 0000 unimp
+ 80002846: 0000 unimp
+ 80002848: 0000 unimp
+ 8000284a: 0000 unimp
+ 8000284c: 0000 unimp
+ 8000284e: 0000 unimp
+ 80002850: 0000 unimp
+ 80002852: 0000 unimp
+ 80002854: 0000 unimp
+ 80002856: 0000 unimp
+ 80002858: 0000 unimp
+ 8000285a: 0000 unimp
+ 8000285c: 0000 unimp
+ 8000285e: 0000 unimp
+ 80002860: 0000 unimp
+ 80002862: 0000 unimp
+ 80002864: 0000 unimp
+ 80002866: 0000 unimp
+ 80002868: 0000 unimp
+ 8000286a: 0000 unimp
+ 8000286c: 0000 unimp
+ 8000286e: 0000 unimp
+ 80002870: 0000 unimp
+ 80002872: 0000 unimp
+ 80002874: 0000 unimp
+ 80002876: 0000 unimp
+ 80002878: 0000 unimp
+ 8000287a: 0000 unimp
+ 8000287c: 0000 unimp
+ 8000287e: 0000 unimp
+ 80002880: 0000 unimp
+ 80002882: 0000 unimp
+ 80002884: 0000 unimp
+ 80002886: 0000 unimp
+ 80002888: 0000 unimp
+ 8000288a: 0000 unimp
+ 8000288c: 0000 unimp
+ 8000288e: 0000 unimp
+ 80002890: 0000 unimp
+ 80002892: 0000 unimp
+ 80002894: 0000 unimp
+ 80002896: 0000 unimp
+ 80002898: 0000 unimp
+ 8000289a: 0000 unimp
+ 8000289c: 0000 unimp
+ 8000289e: 0000 unimp
+ 800028a0: 0000 unimp
+ 800028a2: 0000 unimp
+ 800028a4: 0000 unimp
+ 800028a6: 0000 unimp
+ 800028a8: 0000 unimp
+ 800028aa: 0000 unimp
+ 800028ac: 0000 unimp
+ 800028ae: 0000 unimp
+ 800028b0: 0000 unimp
+ 800028b2: 0000 unimp
+ 800028b4: 0000 unimp
+ 800028b6: 0000 unimp
+ 800028b8: 0000 unimp
+ 800028ba: 0000 unimp
+ 800028bc: 0000 unimp
+ 800028be: 0000 unimp
+ 800028c0: 0000 unimp
+ 800028c2: 0000 unimp
+ 800028c4: 0000 unimp
+ 800028c6: 0000 unimp
+ 800028c8: 0000 unimp
+ 800028ca: 0000 unimp
+ 800028cc: 0000 unimp
+ 800028ce: 0000 unimp
+ 800028d0: 0000 unimp
+ 800028d2: 0000 unimp
+ 800028d4: 0000 unimp
+ 800028d6: 0000 unimp
+ 800028d8: 0000 unimp
+ 800028da: 0000 unimp
+ 800028dc: 0000 unimp
+ 800028de: 0000 unimp
+ 800028e0: 0000 unimp
+ 800028e2: 0000 unimp
+ 800028e4: 0000 unimp
+ 800028e6: 0000 unimp
+ 800028e8: 0000 unimp
+ 800028ea: 0000 unimp
+ 800028ec: 0000 unimp
+ 800028ee: 0000 unimp
+ 800028f0: 0000 unimp
+ 800028f2: 0000 unimp
+ 800028f4: 0000 unimp
+ 800028f6: 0000 unimp
+ 800028f8: 0000 unimp
+ 800028fa: 0000 unimp
+ 800028fc: 0000 unimp
+ 800028fe: 0000 unimp
+ 80002900: 0000 unimp
+ 80002902: 0000 unimp
+ 80002904: 0000 unimp
+ 80002906: 0000 unimp
+ 80002908: 0000 unimp
+ 8000290a: 0000 unimp
+ 8000290c: 0000 unimp
+ 8000290e: 0000 unimp
+ 80002910: 0000 unimp
+ 80002912: 0000 unimp
+ 80002914: 0000 unimp
+ 80002916: 0000 unimp
+ 80002918: 0000 unimp
+ 8000291a: 0000 unimp
+ 8000291c: 0000 unimp
+ 8000291e: 0000 unimp
+ 80002920: 0000 unimp
+ 80002922: 0000 unimp
+ 80002924: 0000 unimp
+ 80002926: 0000 unimp
+ 80002928: 0000 unimp
+ 8000292a: 0000 unimp
+ 8000292c: 0000 unimp
+ 8000292e: 0000 unimp
+ 80002930: 0000 unimp
+ 80002932: 0000 unimp
+ 80002934: 0000 unimp
+ 80002936: 0000 unimp
+ 80002938: 0000 unimp
+ 8000293a: 0000 unimp
+ 8000293c: 0000 unimp
+ 8000293e: 0000 unimp
+ 80002940: 0000 unimp
+ 80002942: 0000 unimp
+ 80002944: 0000 unimp
+ 80002946: 0000 unimp
+ 80002948: 0000 unimp
+ 8000294a: 0000 unimp
+ 8000294c: 0000 unimp
+ 8000294e: 0000 unimp
+ 80002950: 0000 unimp
+ 80002952: 0000 unimp
+ 80002954: 0000 unimp
+ 80002956: 0000 unimp
+ 80002958: 0000 unimp
+ 8000295a: 0000 unimp
+ 8000295c: 0000 unimp
+ 8000295e: 0000 unimp
+ 80002960: 0000 unimp
+ 80002962: 0000 unimp
+ 80002964: 0000 unimp
+ 80002966: 0000 unimp
+ 80002968: 0000 unimp
+ 8000296a: 0000 unimp
+ 8000296c: 0000 unimp
+ 8000296e: 0000 unimp
+ 80002970: 0000 unimp
+ 80002972: 0000 unimp
+ 80002974: 0000 unimp
+ 80002976: 0000 unimp
+ 80002978: 0000 unimp
+ 8000297a: 0000 unimp
+ 8000297c: 0000 unimp
+ 8000297e: 0000 unimp
+ 80002980: 0000 unimp
+ 80002982: 0000 unimp
+ 80002984: 0000 unimp
+ 80002986: 0000 unimp
+ 80002988: 0000 unimp
+ 8000298a: 0000 unimp
+ 8000298c: 0000 unimp
+ 8000298e: 0000 unimp
+ 80002990: 0000 unimp
+ 80002992: 0000 unimp
+ 80002994: 0000 unimp
+ 80002996: 0000 unimp
+ 80002998: 0000 unimp
+ 8000299a: 0000 unimp
+ 8000299c: 0000 unimp
+ 8000299e: 0000 unimp
+ 800029a0: 0000 unimp
+ 800029a2: 0000 unimp
+ 800029a4: 0000 unimp
+ 800029a6: 0000 unimp
+ 800029a8: 0000 unimp
+ 800029aa: 0000 unimp
+ 800029ac: 0000 unimp
+ 800029ae: 0000 unimp
+ 800029b0: 0000 unimp
+ 800029b2: 0000 unimp
+ 800029b4: 0000 unimp
+ 800029b6: 0000 unimp
+ 800029b8: 0000 unimp
+ 800029ba: 0000 unimp
+ 800029bc: 0000 unimp
+ 800029be: 0000 unimp
+ 800029c0: 0000 unimp
+ 800029c2: 0000 unimp
+ 800029c4: 0000 unimp
+ 800029c6: 0000 unimp
+ 800029c8: 0000 unimp
+ 800029ca: 0000 unimp
+ 800029cc: 0000 unimp
+ 800029ce: 0000 unimp
+ 800029d0: 0000 unimp
+ 800029d2: 0000 unimp
+ 800029d4: 0000 unimp
+ 800029d6: 0000 unimp
+ 800029d8: 0000 unimp
+ 800029da: 0000 unimp
+ 800029dc: 0000 unimp
+ 800029de: 0000 unimp
+ 800029e0: 0000 unimp
+ 800029e2: 0000 unimp
+ 800029e4: 0000 unimp
+ 800029e6: 0000 unimp
+ 800029e8: 0000 unimp
+ 800029ea: 0000 unimp
+ 800029ec: 0000 unimp
+ 800029ee: 0000 unimp
+ 800029f0: 0000 unimp
+ 800029f2: 0000 unimp
+ 800029f4: 0000 unimp
+ 800029f6: 0000 unimp
+ 800029f8: 0000 unimp
+ 800029fa: 0000 unimp
+ 800029fc: 0000 unimp
+ 800029fe: 0000 unimp
+ 80002a00: 0000 unimp
+ 80002a02: 0000 unimp
+ 80002a04: 0000 unimp
+ 80002a06: 0000 unimp
+ 80002a08: 0000 unimp
+ 80002a0a: 0000 unimp
+ 80002a0c: 0000 unimp
+ 80002a0e: 0000 unimp
+ 80002a10: 0000 unimp
+ 80002a12: 0000 unimp
+ 80002a14: 0000 unimp
+ 80002a16: 0000 unimp
+ 80002a18: 0000 unimp
+ 80002a1a: 0000 unimp
+ 80002a1c: 0000 unimp
+ 80002a1e: 0000 unimp
+ 80002a20: 0000 unimp
+ 80002a22: 0000 unimp
+ 80002a24: 0000 unimp
+ 80002a26: 0000 unimp
+ 80002a28: 0000 unimp
+ 80002a2a: 0000 unimp
+ 80002a2c: 0000 unimp
+ 80002a2e: 0000 unimp
+ 80002a30: 0000 unimp
+ 80002a32: 0000 unimp
+ 80002a34: 0000 unimp
+ 80002a36: 0000 unimp
+ 80002a38: 0000 unimp
+ 80002a3a: 0000 unimp
+ 80002a3c: 0000 unimp
+ 80002a3e: 0000 unimp
+ 80002a40: 0000 unimp
+ 80002a42: 0000 unimp
+ 80002a44: 0000 unimp
+ 80002a46: 0000 unimp
+ 80002a48: 0000 unimp
+ 80002a4a: 0000 unimp
+ 80002a4c: 0000 unimp
+ 80002a4e: 0000 unimp
+ 80002a50: 0000 unimp
+ 80002a52: 0000 unimp
+ 80002a54: 0000 unimp
+ 80002a56: 0000 unimp
+ 80002a58: 0000 unimp
+ 80002a5a: 0000 unimp
+ 80002a5c: 0000 unimp
+ 80002a5e: 0000 unimp
+ 80002a60: 0000 unimp
+ 80002a62: 0000 unimp
+ 80002a64: 0000 unimp
+ 80002a66: 0000 unimp
+ 80002a68: 0000 unimp
+ 80002a6a: 0000 unimp
+ 80002a6c: 0000 unimp
+ 80002a6e: 0000 unimp
+ 80002a70: 0000 unimp
+ 80002a72: 0000 unimp
+ 80002a74: 0000 unimp
+ 80002a76: 0000 unimp
+ 80002a78: 0000 unimp
+ 80002a7a: 0000 unimp
+ 80002a7c: 0000 unimp
+ 80002a7e: 0000 unimp
+ 80002a80: 0000 unimp
+ 80002a82: 0000 unimp
+ 80002a84: 0000 unimp
+ 80002a86: 0000 unimp
+ 80002a88: 0000 unimp
+ 80002a8a: 0000 unimp
+ 80002a8c: 0000 unimp
+ 80002a8e: 0000 unimp
+ 80002a90: 0000 unimp
+ 80002a92: 0000 unimp
+ 80002a94: 0000 unimp
+ 80002a96: 0000 unimp
+ 80002a98: 0000 unimp
+ 80002a9a: 0000 unimp
+ 80002a9c: 0000 unimp
+ 80002a9e: 0000 unimp
+ 80002aa0: 0000 unimp
+ 80002aa2: 0000 unimp
+ 80002aa4: 0000 unimp
+ 80002aa6: 0000 unimp
+ 80002aa8: 0000 unimp
+ 80002aaa: 0000 unimp
+ 80002aac: 0000 unimp
+ 80002aae: 0000 unimp
+ 80002ab0: 0000 unimp
+ 80002ab2: 0000 unimp
+ 80002ab4: 0000 unimp
+ 80002ab6: 0000 unimp
+ 80002ab8: 0000 unimp
+ 80002aba: 0000 unimp
+ 80002abc: 0000 unimp
+ 80002abe: 0000 unimp
+ 80002ac0: 0000 unimp
+ 80002ac2: 0000 unimp
+ 80002ac4: 0000 unimp
+ 80002ac6: 0000 unimp
+ 80002ac8: 0000 unimp
+ 80002aca: 0000 unimp
+ 80002acc: 0000 unimp
+ 80002ace: 0000 unimp
+ 80002ad0: 0000 unimp
+ 80002ad2: 0000 unimp
+ 80002ad4: 0000 unimp
+ 80002ad6: 0000 unimp
+ 80002ad8: 0000 unimp
+ 80002ada: 0000 unimp
+ 80002adc: 0000 unimp
+ 80002ade: 0000 unimp
+ 80002ae0: 0000 unimp
+ 80002ae2: 0000 unimp
+ 80002ae4: 0000 unimp
+ 80002ae6: 0000 unimp
+ 80002ae8: 0000 unimp
+ 80002aea: 0000 unimp
+ 80002aec: 0000 unimp
+ 80002aee: 0000 unimp
+ 80002af0: 0000 unimp
+ 80002af2: 0000 unimp
+ 80002af4: 0000 unimp
+ 80002af6: 0000 unimp
+ 80002af8: 0000 unimp
+ 80002afa: 0000 unimp
+ 80002afc: 0000 unimp
+ 80002afe: 0000 unimp
+ 80002b00: 0000 unimp
+ 80002b02: 0000 unimp
+ 80002b04: 0000 unimp
+ 80002b06: 0000 unimp
+ 80002b08: 0000 unimp
+ 80002b0a: 0000 unimp
+ 80002b0c: 0000 unimp
+ 80002b0e: 0000 unimp
+ 80002b10: 0000 unimp
+ 80002b12: 0000 unimp
+ 80002b14: 0000 unimp
+ 80002b16: 0000 unimp
+ 80002b18: 0000 unimp
+ 80002b1a: 0000 unimp
+ 80002b1c: 0000 unimp
+ 80002b1e: 0000 unimp
+ 80002b20: 0000 unimp
+ 80002b22: 0000 unimp
+ 80002b24: 0000 unimp
+ 80002b26: 0000 unimp
+ 80002b28: 0000 unimp
+ 80002b2a: 0000 unimp
+ 80002b2c: 0000 unimp
+ 80002b2e: 0000 unimp
+ 80002b30: 0000 unimp
+ 80002b32: 0000 unimp
+ 80002b34: 0000 unimp
+ 80002b36: 0000 unimp
+ 80002b38: 0000 unimp
+ 80002b3a: 0000 unimp
+ 80002b3c: 0000 unimp
+ 80002b3e: 0000 unimp
+ 80002b40: 0000 unimp
+ 80002b42: 0000 unimp
+ 80002b44: 0000 unimp
+ 80002b46: 0000 unimp
+ 80002b48: 0000 unimp
+ 80002b4a: 0000 unimp
+ 80002b4c: 0000 unimp
+ 80002b4e: 0000 unimp
+ 80002b50: 0000 unimp
+ 80002b52: 0000 unimp
+ 80002b54: 0000 unimp
+ 80002b56: 0000 unimp
+ 80002b58: 0000 unimp
+ 80002b5a: 0000 unimp
+ 80002b5c: 0000 unimp
+ 80002b5e: 0000 unimp
+ 80002b60: 0000 unimp
+ 80002b62: 0000 unimp
+ 80002b64: 0000 unimp
+ 80002b66: 0000 unimp
+ 80002b68: 0000 unimp
+ 80002b6a: 0000 unimp
+ 80002b6c: 0000 unimp
+ 80002b6e: 0000 unimp
+ 80002b70: 0000 unimp
+ 80002b72: 0000 unimp
+ 80002b74: 0000 unimp
+ 80002b76: 0000 unimp
+ 80002b78: 0000 unimp
+ 80002b7a: 0000 unimp
+ 80002b7c: 0000 unimp
+ 80002b7e: 0000 unimp
+ 80002b80: 0000 unimp
+ 80002b82: 0000 unimp
+ 80002b84: 0000 unimp
+ 80002b86: 0000 unimp
+ 80002b88: 0000 unimp
+ 80002b8a: 0000 unimp
+ 80002b8c: 0000 unimp
+ 80002b8e: 0000 unimp
+ 80002b90: 0000 unimp
+ 80002b92: 0000 unimp
+ 80002b94: 0000 unimp
+ 80002b96: 0000 unimp
+ 80002b98: 0000 unimp
+ 80002b9a: 0000 unimp
+ 80002b9c: 0000 unimp
+ 80002b9e: 0000 unimp
+ 80002ba0: 0000 unimp
+ 80002ba2: 0000 unimp
+ 80002ba4: 0000 unimp
+ 80002ba6: 0000 unimp
+ 80002ba8: 0000 unimp
+ 80002baa: 0000 unimp
+ 80002bac: 0000 unimp
+ 80002bae: 0000 unimp
+ 80002bb0: 0000 unimp
+ 80002bb2: 0000 unimp
+ 80002bb4: 0000 unimp
+ 80002bb6: 0000 unimp
+ 80002bb8: 0000 unimp
+ 80002bba: 0000 unimp
+ 80002bbc: 0000 unimp
+ 80002bbe: 0000 unimp
+ 80002bc0: 0000 unimp
+ 80002bc2: 0000 unimp
+ 80002bc4: 0000 unimp
+ 80002bc6: 0000 unimp
+ 80002bc8: 0000 unimp
+ 80002bca: 0000 unimp
+ 80002bcc: 0000 unimp
+ 80002bce: 0000 unimp
+ 80002bd0: 0000 unimp
+ 80002bd2: 0000 unimp
+ 80002bd4: 0000 unimp
+ 80002bd6: 0000 unimp
+ 80002bd8: 0000 unimp
+ 80002bda: 0000 unimp
+ 80002bdc: 0000 unimp
+ 80002bde: 0000 unimp
+ 80002be0: 0000 unimp
+ 80002be2: 0000 unimp
+ 80002be4: 0000 unimp
+ 80002be6: 0000 unimp
+ 80002be8: 0000 unimp
+ 80002bea: 0000 unimp
+ 80002bec: 0000 unimp
+ 80002bee: 0000 unimp
+ 80002bf0: 0000 unimp
+ 80002bf2: 0000 unimp
+ 80002bf4: 0000 unimp
+ 80002bf6: 0000 unimp
+ 80002bf8: 0000 unimp
+ 80002bfa: 0000 unimp
+ 80002bfc: 0000 unimp
+ 80002bfe: 0000 unimp
+ 80002c00: 0000 unimp
+ 80002c02: 0000 unimp
+ 80002c04: 0000 unimp
+ 80002c06: 0000 unimp
+ 80002c08: 0000 unimp
+ 80002c0a: 0000 unimp
+ 80002c0c: 0000 unimp
+ 80002c0e: 0000 unimp
+ 80002c10: 0000 unimp
+ 80002c12: 0000 unimp
+ 80002c14: 0000 unimp
+ 80002c16: 0000 unimp
+ 80002c18: 0000 unimp
+ 80002c1a: 0000 unimp
+ 80002c1c: 0000 unimp
+ 80002c1e: 0000 unimp
+ 80002c20: 0000 unimp
+ 80002c22: 0000 unimp
+ 80002c24: 0000 unimp
+ 80002c26: 0000 unimp
+ 80002c28: 0000 unimp
+ 80002c2a: 0000 unimp
+ 80002c2c: 0000 unimp
+ 80002c2e: 0000 unimp
+ 80002c30: 0000 unimp
+ 80002c32: 0000 unimp
+ 80002c34: 0000 unimp
+ 80002c36: 0000 unimp
+ 80002c38: 0000 unimp
+ 80002c3a: 0000 unimp
+ 80002c3c: 0000 unimp
+ 80002c3e: 0000 unimp
+ 80002c40: 0000 unimp
+ 80002c42: 0000 unimp
+ 80002c44: 0000 unimp
+ 80002c46: 0000 unimp
+ 80002c48: 0000 unimp
+ 80002c4a: 0000 unimp
+ 80002c4c: 0000 unimp
+ 80002c4e: 0000 unimp
+ 80002c50: 0000 unimp
+ 80002c52: 0000 unimp
+ 80002c54: 0000 unimp
+ 80002c56: 0000 unimp
+ 80002c58: 0000 unimp
+ 80002c5a: 0000 unimp
+ 80002c5c: 0000 unimp
+ 80002c5e: 0000 unimp
+ 80002c60: 0000 unimp
+ 80002c62: 0000 unimp
+ 80002c64: 0000 unimp
+ 80002c66: 0000 unimp
+ 80002c68: 0000 unimp
+ 80002c6a: 0000 unimp
+ 80002c6c: 0000 unimp
+ 80002c6e: 0000 unimp
+ 80002c70: 0000 unimp
+ 80002c72: 0000 unimp
+ 80002c74: 0000 unimp
+ 80002c76: 0000 unimp
+ 80002c78: 0000 unimp
+ 80002c7a: 0000 unimp
+ 80002c7c: 0000 unimp
+ 80002c7e: 0000 unimp
+ 80002c80: 0000 unimp
+ 80002c82: 0000 unimp
+ 80002c84: 0000 unimp
+ 80002c86: 0000 unimp
+ 80002c88: 0000 unimp
+ 80002c8a: 0000 unimp
+ 80002c8c: 0000 unimp
+ 80002c8e: 0000 unimp
+ 80002c90: 0000 unimp
+ 80002c92: 0000 unimp
+ 80002c94: 0000 unimp
+ 80002c96: 0000 unimp
+ 80002c98: 0000 unimp
+ 80002c9a: 0000 unimp
+ 80002c9c: 0000 unimp
+ 80002c9e: 0000 unimp
+ 80002ca0: 0000 unimp
+ 80002ca2: 0000 unimp
+ 80002ca4: 0000 unimp
+ 80002ca6: 0000 unimp
+ 80002ca8: 0000 unimp
+ 80002caa: 0000 unimp
+ 80002cac: 0000 unimp
+ 80002cae: 0000 unimp
+ 80002cb0: 0000 unimp
+ 80002cb2: 0000 unimp
+ 80002cb4: 0000 unimp
+ 80002cb6: 0000 unimp
+ 80002cb8: 0000 unimp
+ 80002cba: 0000 unimp
+ 80002cbc: 0000 unimp
+ 80002cbe: 0000 unimp
+ 80002cc0: 0000 unimp
+ 80002cc2: 0000 unimp
+ 80002cc4: 0000 unimp
+ 80002cc6: 0000 unimp
+ 80002cc8: 0000 unimp
+ 80002cca: 0000 unimp
+ 80002ccc: 0000 unimp
+ 80002cce: 0000 unimp
+ 80002cd0: 0000 unimp
+ 80002cd2: 0000 unimp
+ 80002cd4: 0000 unimp
+ 80002cd6: 0000 unimp
+ 80002cd8: 0000 unimp
+ 80002cda: 0000 unimp
+ 80002cdc: 0000 unimp
+ 80002cde: 0000 unimp
+ 80002ce0: 0000 unimp
+ 80002ce2: 0000 unimp
+ 80002ce4: 0000 unimp
+ 80002ce6: 0000 unimp
+ 80002ce8: 0000 unimp
+ 80002cea: 0000 unimp
+ 80002cec: 0000 unimp
+ 80002cee: 0000 unimp
+ 80002cf0: 0000 unimp
+ 80002cf2: 0000 unimp
+ 80002cf4: 0000 unimp
+ 80002cf6: 0000 unimp
+ 80002cf8: 0000 unimp
+ 80002cfa: 0000 unimp
+ 80002cfc: 0000 unimp
+ 80002cfe: 0000 unimp
+ 80002d00: 0000 unimp
+ 80002d02: 0000 unimp
+ 80002d04: 0000 unimp
+ 80002d06: 0000 unimp
+ 80002d08: 0000 unimp
+ 80002d0a: 0000 unimp
+ 80002d0c: 0000 unimp
+ 80002d0e: 0000 unimp
+ 80002d10: 0000 unimp
+ 80002d12: 0000 unimp
+ 80002d14: 0000 unimp
+ 80002d16: 0000 unimp
+ 80002d18: 0000 unimp
+ 80002d1a: 0000 unimp
+ 80002d1c: 0000 unimp
+ 80002d1e: 0000 unimp
+ 80002d20: 0000 unimp
+ 80002d22: 0000 unimp
+ 80002d24: 0000 unimp
+ 80002d26: 0000 unimp
+ 80002d28: 0000 unimp
+ 80002d2a: 0000 unimp
+ 80002d2c: 0000 unimp
+ 80002d2e: 0000 unimp
+ 80002d30: 0000 unimp
+ 80002d32: 0000 unimp
+ 80002d34: 0000 unimp
+ 80002d36: 0000 unimp
+ 80002d38: 0000 unimp
+ 80002d3a: 0000 unimp
+ 80002d3c: 0000 unimp
+ 80002d3e: 0000 unimp
+ 80002d40: 0000 unimp
+ 80002d42: 0000 unimp
+ 80002d44: 0000 unimp
+ 80002d46: 0000 unimp
+ 80002d48: 0000 unimp
+ 80002d4a: 0000 unimp
+ 80002d4c: 0000 unimp
+ 80002d4e: 0000 unimp
+ 80002d50: 0000 unimp
+ 80002d52: 0000 unimp
+ 80002d54: 0000 unimp
+ 80002d56: 0000 unimp
+ 80002d58: 0000 unimp
+ 80002d5a: 0000 unimp
+ 80002d5c: 0000 unimp
+ 80002d5e: 0000 unimp
+ 80002d60: 0000 unimp
+ 80002d62: 0000 unimp
+ 80002d64: 0000 unimp
+ 80002d66: 0000 unimp
+ 80002d68: 0000 unimp
+ 80002d6a: 0000 unimp
+ 80002d6c: 0000 unimp
+ 80002d6e: 0000 unimp
+ 80002d70: 0000 unimp
+ 80002d72: 0000 unimp
+ 80002d74: 0000 unimp
+ 80002d76: 0000 unimp
+ 80002d78: 0000 unimp
+ 80002d7a: 0000 unimp
+ 80002d7c: 0000 unimp
+ 80002d7e: 0000 unimp
+ 80002d80: 0000 unimp
+ 80002d82: 0000 unimp
+ 80002d84: 0000 unimp
+ 80002d86: 0000 unimp
+ 80002d88: 0000 unimp
+ 80002d8a: 0000 unimp
+ 80002d8c: 0000 unimp
+ 80002d8e: 0000 unimp
+ 80002d90: 0000 unimp
+ 80002d92: 0000 unimp
+ 80002d94: 0000 unimp
+ 80002d96: 0000 unimp
+ 80002d98: 0000 unimp
+ 80002d9a: 0000 unimp
+ 80002d9c: 0000 unimp
+ 80002d9e: 0000 unimp
+ 80002da0: 0000 unimp
+ 80002da2: 0000 unimp
+ 80002da4: 0000 unimp
+ 80002da6: 0000 unimp
+ 80002da8: 0000 unimp
+ 80002daa: 0000 unimp
+ 80002dac: 0000 unimp
+ 80002dae: 0000 unimp
+ 80002db0: 0000 unimp
+ 80002db2: 0000 unimp
+ 80002db4: 0000 unimp
+ 80002db6: 0000 unimp
+ 80002db8: 0000 unimp
+ 80002dba: 0000 unimp
+ 80002dbc: 0000 unimp
+ 80002dbe: 0000 unimp
+ 80002dc0: 0000 unimp
+ 80002dc2: 0000 unimp
+ 80002dc4: 0000 unimp
+ 80002dc6: 0000 unimp
+ 80002dc8: 0000 unimp
+ 80002dca: 0000 unimp
+ 80002dcc: 0000 unimp
+ 80002dce: 0000 unimp
+ 80002dd0: 0000 unimp
+ 80002dd2: 0000 unimp
+ 80002dd4: 0000 unimp
+ 80002dd6: 0000 unimp
+ 80002dd8: 0000 unimp
+ 80002dda: 0000 unimp
+ 80002ddc: 0000 unimp
+ 80002dde: 0000 unimp
+ 80002de0: 0000 unimp
+ 80002de2: 0000 unimp
+ 80002de4: 0000 unimp
+ 80002de6: 0000 unimp
+ 80002de8: 0000 unimp
+ 80002dea: 0000 unimp
+ 80002dec: 0000 unimp
+ 80002dee: 0000 unimp
+ 80002df0: 0000 unimp
+ 80002df2: 0000 unimp
+ 80002df4: 0000 unimp
+ 80002df6: 0000 unimp
+ 80002df8: 0000 unimp
+ 80002dfa: 0000 unimp
+ 80002dfc: 0000 unimp
+ 80002dfe: 0000 unimp
+ 80002e00: 0000 unimp
+ 80002e02: 0000 unimp
+ 80002e04: 0000 unimp
+ 80002e06: 0000 unimp
+ 80002e08: 0000 unimp
+ 80002e0a: 0000 unimp
+ 80002e0c: 0000 unimp
+ 80002e0e: 0000 unimp
+ 80002e10: 0000 unimp
+ 80002e12: 0000 unimp
+ 80002e14: 0000 unimp
+ 80002e16: 0000 unimp
+ 80002e18: 0000 unimp
+ 80002e1a: 0000 unimp
+ 80002e1c: 0000 unimp
+ 80002e1e: 0000 unimp
+ 80002e20: 0000 unimp
+ 80002e22: 0000 unimp
+ 80002e24: 0000 unimp
+ 80002e26: 0000 unimp
+ 80002e28: 0000 unimp
+ 80002e2a: 0000 unimp
+ 80002e2c: 0000 unimp
+ 80002e2e: 0000 unimp
+ 80002e30: 0000 unimp
+ 80002e32: 0000 unimp
+ 80002e34: 0000 unimp
+ 80002e36: 0000 unimp
+ 80002e38: 0000 unimp
+ 80002e3a: 0000 unimp
+ 80002e3c: 0000 unimp
+ 80002e3e: 0000 unimp
+ 80002e40: 0000 unimp
+ 80002e42: 0000 unimp
+ 80002e44: 0000 unimp
+ 80002e46: 0000 unimp
+ 80002e48: 0000 unimp
+ 80002e4a: 0000 unimp
+ 80002e4c: 0000 unimp
+ 80002e4e: 0000 unimp
+ 80002e50: 0000 unimp
+ 80002e52: 0000 unimp
+ 80002e54: 0000 unimp
+ 80002e56: 0000 unimp
+ 80002e58: 0000 unimp
+ 80002e5a: 0000 unimp
+ 80002e5c: 0000 unimp
+ 80002e5e: 0000 unimp
+ 80002e60: 0000 unimp
+ 80002e62: 0000 unimp
+ 80002e64: 0000 unimp
+ 80002e66: 0000 unimp
+ 80002e68: 0000 unimp
+ 80002e6a: 0000 unimp
+ 80002e6c: 0000 unimp
+ 80002e6e: 0000 unimp
+ 80002e70: 0000 unimp
+ 80002e72: 0000 unimp
+ 80002e74: 0000 unimp
+ 80002e76: 0000 unimp
+ 80002e78: 0000 unimp
+ 80002e7a: 0000 unimp
+ 80002e7c: 0000 unimp
+ 80002e7e: 0000 unimp
+ 80002e80: 0000 unimp
+ 80002e82: 0000 unimp
+ 80002e84: 0000 unimp
+ 80002e86: 0000 unimp
+ 80002e88: 0000 unimp
+ 80002e8a: 0000 unimp
+ 80002e8c: 0000 unimp
+ 80002e8e: 0000 unimp
diff --git a/test/riscv/tests/rv64uc-p-rvc.elf b/test/riscv/tests/rv64uc-p-rvc.elf
new file mode 100755
index 00000000..dbfdfcc3
--- /dev/null
+++ b/test/riscv/tests/rv64uc-p-rvc.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-add.dump b/test/riscv/tests/rv64ui-p-add.dump
new file mode 100644
index 00000000..83e5cedc
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-add.dump
@@ -0,0 +1,506 @@
+
+rv64ui-p-add: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00000113 li sp,0
+ 80000104: 00208f33 add t5,ra,sp
+ 80000108: 00000e93 li t4,0
+ 8000010c: 00200193 li gp,2
+ 80000110: 4fdf1063 bne t5,t4,800005f0 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 00208f33 add t5,ra,sp
+ 80000120: 00200e93 li t4,2
+ 80000124: 00300193 li gp,3
+ 80000128: 4ddf1463 bne t5,t4,800005f0 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00300093 li ra,3
+ 80000130: 00700113 li sp,7
+ 80000134: 00208f33 add t5,ra,sp
+ 80000138: 00a00e93 li t4,10
+ 8000013c: 00400193 li gp,4
+ 80000140: 4bdf1863 bne t5,t4,800005f0 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00000093 li ra,0
+ 80000148: ffff8137 lui sp,0xffff8
+ 8000014c: 00208f33 add t5,ra,sp
+ 80000150: ffff8eb7 lui t4,0xffff8
+ 80000154: 00500193 li gp,5
+ 80000158: 49df1c63 bne t5,t4,800005f0 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00000113 li sp,0
+ 80000164: 00208f33 add t5,ra,sp
+ 80000168: 80000eb7 lui t4,0x80000
+ 8000016c: 00600193 li gp,6
+ 80000170: 49df1063 bne t5,t4,800005f0 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: ffff8137 lui sp,0xffff8
+ 8000017c: 00208f33 add t5,ra,sp
+ 80000180: ffff0eb7 lui t4,0xffff0
+ 80000184: fffe8e9b addiw t4,t4,-1
+ 80000188: 00fe9e93 slli t4,t4,0xf
+ 8000018c: 00700193 li gp,7
+ 80000190: 47df1063 bne t5,t4,800005f0 <fail>
+
+0000000080000194 <test_8>:
+ 80000194: 00000093 li ra,0
+ 80000198: 00008137 lui sp,0x8
+ 8000019c: fff1011b addiw sp,sp,-1
+ 800001a0: 00208f33 add t5,ra,sp
+ 800001a4: 00008eb7 lui t4,0x8
+ 800001a8: fffe8e9b addiw t4,t4,-1
+ 800001ac: 00800193 li gp,8
+ 800001b0: 45df1063 bne t5,t4,800005f0 <fail>
+
+00000000800001b4 <test_9>:
+ 800001b4: 800000b7 lui ra,0x80000
+ 800001b8: fff0809b addiw ra,ra,-1
+ 800001bc: 00000113 li sp,0
+ 800001c0: 00208f33 add t5,ra,sp
+ 800001c4: 80000eb7 lui t4,0x80000
+ 800001c8: fffe8e9b addiw t4,t4,-1
+ 800001cc: 00900193 li gp,9
+ 800001d0: 43df1063 bne t5,t4,800005f0 <fail>
+
+00000000800001d4 <test_10>:
+ 800001d4: 800000b7 lui ra,0x80000
+ 800001d8: fff0809b addiw ra,ra,-1
+ 800001dc: 00008137 lui sp,0x8
+ 800001e0: fff1011b addiw sp,sp,-1
+ 800001e4: 00208f33 add t5,ra,sp
+ 800001e8: 00010eb7 lui t4,0x10
+ 800001ec: 001e8e9b addiw t4,t4,1
+ 800001f0: 00fe9e93 slli t4,t4,0xf
+ 800001f4: ffee8e93 addi t4,t4,-2 # fffe <_start-0x7fff0002>
+ 800001f8: 00a00193 li gp,10
+ 800001fc: 3fdf1a63 bne t5,t4,800005f0 <fail>
+
+0000000080000200 <test_11>:
+ 80000200: 800000b7 lui ra,0x80000
+ 80000204: 00008137 lui sp,0x8
+ 80000208: fff1011b addiw sp,sp,-1
+ 8000020c: 00208f33 add t5,ra,sp
+ 80000210: 80008eb7 lui t4,0x80008
+ 80000214: fffe8e9b addiw t4,t4,-1
+ 80000218: 00b00193 li gp,11
+ 8000021c: 3ddf1a63 bne t5,t4,800005f0 <fail>
+
+0000000080000220 <test_12>:
+ 80000220: 800000b7 lui ra,0x80000
+ 80000224: fff0809b addiw ra,ra,-1
+ 80000228: ffff8137 lui sp,0xffff8
+ 8000022c: 00208f33 add t5,ra,sp
+ 80000230: 7fff8eb7 lui t4,0x7fff8
+ 80000234: fffe8e9b addiw t4,t4,-1
+ 80000238: 00c00193 li gp,12
+ 8000023c: 3bdf1a63 bne t5,t4,800005f0 <fail>
+
+0000000080000240 <test_13>:
+ 80000240: 00000093 li ra,0
+ 80000244: fff00113 li sp,-1
+ 80000248: 00208f33 add t5,ra,sp
+ 8000024c: fff00e93 li t4,-1
+ 80000250: 00d00193 li gp,13
+ 80000254: 39df1e63 bne t5,t4,800005f0 <fail>
+
+0000000080000258 <test_14>:
+ 80000258: fff00093 li ra,-1
+ 8000025c: 00100113 li sp,1
+ 80000260: 00208f33 add t5,ra,sp
+ 80000264: 00000e93 li t4,0
+ 80000268: 00e00193 li gp,14
+ 8000026c: 39df1263 bne t5,t4,800005f0 <fail>
+
+0000000080000270 <test_15>:
+ 80000270: fff00093 li ra,-1
+ 80000274: fff00113 li sp,-1
+ 80000278: 00208f33 add t5,ra,sp
+ 8000027c: ffe00e93 li t4,-2
+ 80000280: 00f00193 li gp,15
+ 80000284: 37df1663 bne t5,t4,800005f0 <fail>
+
+0000000080000288 <test_16>:
+ 80000288: 00100093 li ra,1
+ 8000028c: 80000137 lui sp,0x80000
+ 80000290: fff1011b addiw sp,sp,-1
+ 80000294: 00208f33 add t5,ra,sp
+ 80000298: 00100e9b addiw t4,zero,1
+ 8000029c: 01fe9e93 slli t4,t4,0x1f
+ 800002a0: 01000193 li gp,16
+ 800002a4: 35df1663 bne t5,t4,800005f0 <fail>
+
+00000000800002a8 <test_17>:
+ 800002a8: 00d00093 li ra,13
+ 800002ac: 00b00113 li sp,11
+ 800002b0: 002080b3 add ra,ra,sp
+ 800002b4: 01800e93 li t4,24
+ 800002b8: 01100193 li gp,17
+ 800002bc: 33d09a63 bne ra,t4,800005f0 <fail>
+
+00000000800002c0 <test_18>:
+ 800002c0: 00e00093 li ra,14
+ 800002c4: 00b00113 li sp,11
+ 800002c8: 00208133 add sp,ra,sp
+ 800002cc: 01900e93 li t4,25
+ 800002d0: 01200193 li gp,18
+ 800002d4: 31d11e63 bne sp,t4,800005f0 <fail>
+
+00000000800002d8 <test_19>:
+ 800002d8: 00d00093 li ra,13
+ 800002dc: 001080b3 add ra,ra,ra
+ 800002e0: 01a00e93 li t4,26
+ 800002e4: 01300193 li gp,19
+ 800002e8: 31d09463 bne ra,t4,800005f0 <fail>
+
+00000000800002ec <test_20>:
+ 800002ec: 00000213 li tp,0
+ 800002f0: 00d00093 li ra,13
+ 800002f4: 00b00113 li sp,11
+ 800002f8: 00208f33 add t5,ra,sp
+ 800002fc: 000f0313 mv t1,t5
+ 80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000304: 00200293 li t0,2
+ 80000308: fe5214e3 bne tp,t0,800002f0 <test_20+0x4>
+ 8000030c: 01800e93 li t4,24
+ 80000310: 01400193 li gp,20
+ 80000314: 2dd31e63 bne t1,t4,800005f0 <fail>
+
+0000000080000318 <test_21>:
+ 80000318: 00000213 li tp,0
+ 8000031c: 00e00093 li ra,14
+ 80000320: 00b00113 li sp,11
+ 80000324: 00208f33 add t5,ra,sp
+ 80000328: 00000013 nop
+ 8000032c: 000f0313 mv t1,t5
+ 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000334: 00200293 li t0,2
+ 80000338: fe5212e3 bne tp,t0,8000031c <test_21+0x4>
+ 8000033c: 01900e93 li t4,25
+ 80000340: 01500193 li gp,21
+ 80000344: 2bd31663 bne t1,t4,800005f0 <fail>
+
+0000000080000348 <test_22>:
+ 80000348: 00000213 li tp,0
+ 8000034c: 00f00093 li ra,15
+ 80000350: 00b00113 li sp,11
+ 80000354: 00208f33 add t5,ra,sp
+ 80000358: 00000013 nop
+ 8000035c: 00000013 nop
+ 80000360: 000f0313 mv t1,t5
+ 80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000368: 00200293 li t0,2
+ 8000036c: fe5210e3 bne tp,t0,8000034c <test_22+0x4>
+ 80000370: 01a00e93 li t4,26
+ 80000374: 01600193 li gp,22
+ 80000378: 27d31c63 bne t1,t4,800005f0 <fail>
+
+000000008000037c <test_23>:
+ 8000037c: 00000213 li tp,0
+ 80000380: 00d00093 li ra,13
+ 80000384: 00b00113 li sp,11
+ 80000388: 00208f33 add t5,ra,sp
+ 8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000390: 00200293 li t0,2
+ 80000394: fe5216e3 bne tp,t0,80000380 <test_23+0x4>
+ 80000398: 01800e93 li t4,24
+ 8000039c: 01700193 li gp,23
+ 800003a0: 25df1863 bne t5,t4,800005f0 <fail>
+
+00000000800003a4 <test_24>:
+ 800003a4: 00000213 li tp,0
+ 800003a8: 00e00093 li ra,14
+ 800003ac: 00b00113 li sp,11
+ 800003b0: 00000013 nop
+ 800003b4: 00208f33 add t5,ra,sp
+ 800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003bc: 00200293 li t0,2
+ 800003c0: fe5214e3 bne tp,t0,800003a8 <test_24+0x4>
+ 800003c4: 01900e93 li t4,25
+ 800003c8: 01800193 li gp,24
+ 800003cc: 23df1263 bne t5,t4,800005f0 <fail>
+
+00000000800003d0 <test_25>:
+ 800003d0: 00000213 li tp,0
+ 800003d4: 00f00093 li ra,15
+ 800003d8: 00b00113 li sp,11
+ 800003dc: 00000013 nop
+ 800003e0: 00000013 nop
+ 800003e4: 00208f33 add t5,ra,sp
+ 800003e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003ec: 00200293 li t0,2
+ 800003f0: fe5212e3 bne tp,t0,800003d4 <test_25+0x4>
+ 800003f4: 01a00e93 li t4,26
+ 800003f8: 01900193 li gp,25
+ 800003fc: 1fdf1a63 bne t5,t4,800005f0 <fail>
+
+0000000080000400 <test_26>:
+ 80000400: 00000213 li tp,0
+ 80000404: 00d00093 li ra,13
+ 80000408: 00000013 nop
+ 8000040c: 00b00113 li sp,11
+ 80000410: 00208f33 add t5,ra,sp
+ 80000414: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000418: 00200293 li t0,2
+ 8000041c: fe5214e3 bne tp,t0,80000404 <test_26+0x4>
+ 80000420: 01800e93 li t4,24
+ 80000424: 01a00193 li gp,26
+ 80000428: 1ddf1463 bne t5,t4,800005f0 <fail>
+
+000000008000042c <test_27>:
+ 8000042c: 00000213 li tp,0
+ 80000430: 00e00093 li ra,14
+ 80000434: 00000013 nop
+ 80000438: 00b00113 li sp,11
+ 8000043c: 00000013 nop
+ 80000440: 00208f33 add t5,ra,sp
+ 80000444: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000448: 00200293 li t0,2
+ 8000044c: fe5212e3 bne tp,t0,80000430 <test_27+0x4>
+ 80000450: 01900e93 li t4,25
+ 80000454: 01b00193 li gp,27
+ 80000458: 19df1c63 bne t5,t4,800005f0 <fail>
+
+000000008000045c <test_28>:
+ 8000045c: 00000213 li tp,0
+ 80000460: 00f00093 li ra,15
+ 80000464: 00000013 nop
+ 80000468: 00000013 nop
+ 8000046c: 00b00113 li sp,11
+ 80000470: 00208f33 add t5,ra,sp
+ 80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000478: 00200293 li t0,2
+ 8000047c: fe5212e3 bne tp,t0,80000460 <test_28+0x4>
+ 80000480: 01a00e93 li t4,26
+ 80000484: 01c00193 li gp,28
+ 80000488: 17df1463 bne t5,t4,800005f0 <fail>
+
+000000008000048c <test_29>:
+ 8000048c: 00000213 li tp,0
+ 80000490: 00b00113 li sp,11
+ 80000494: 00d00093 li ra,13
+ 80000498: 00208f33 add t5,ra,sp
+ 8000049c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004a0: 00200293 li t0,2
+ 800004a4: fe5216e3 bne tp,t0,80000490 <test_29+0x4>
+ 800004a8: 01800e93 li t4,24
+ 800004ac: 01d00193 li gp,29
+ 800004b0: 15df1063 bne t5,t4,800005f0 <fail>
+
+00000000800004b4 <test_30>:
+ 800004b4: 00000213 li tp,0
+ 800004b8: 00b00113 li sp,11
+ 800004bc: 00e00093 li ra,14
+ 800004c0: 00000013 nop
+ 800004c4: 00208f33 add t5,ra,sp
+ 800004c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004cc: 00200293 li t0,2
+ 800004d0: fe5214e3 bne tp,t0,800004b8 <test_30+0x4>
+ 800004d4: 01900e93 li t4,25
+ 800004d8: 01e00193 li gp,30
+ 800004dc: 11df1a63 bne t5,t4,800005f0 <fail>
+
+00000000800004e0 <test_31>:
+ 800004e0: 00000213 li tp,0
+ 800004e4: 00b00113 li sp,11
+ 800004e8: 00f00093 li ra,15
+ 800004ec: 00000013 nop
+ 800004f0: 00000013 nop
+ 800004f4: 00208f33 add t5,ra,sp
+ 800004f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004fc: 00200293 li t0,2
+ 80000500: fe5212e3 bne tp,t0,800004e4 <test_31+0x4>
+ 80000504: 01a00e93 li t4,26
+ 80000508: 01f00193 li gp,31
+ 8000050c: 0fdf1263 bne t5,t4,800005f0 <fail>
+
+0000000080000510 <test_32>:
+ 80000510: 00000213 li tp,0
+ 80000514: 00b00113 li sp,11
+ 80000518: 00000013 nop
+ 8000051c: 00d00093 li ra,13
+ 80000520: 00208f33 add t5,ra,sp
+ 80000524: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000528: 00200293 li t0,2
+ 8000052c: fe5214e3 bne tp,t0,80000514 <test_32+0x4>
+ 80000530: 01800e93 li t4,24
+ 80000534: 02000193 li gp,32
+ 80000538: 0bdf1c63 bne t5,t4,800005f0 <fail>
+
+000000008000053c <test_33>:
+ 8000053c: 00000213 li tp,0
+ 80000540: 00b00113 li sp,11
+ 80000544: 00000013 nop
+ 80000548: 00e00093 li ra,14
+ 8000054c: 00000013 nop
+ 80000550: 00208f33 add t5,ra,sp
+ 80000554: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000558: 00200293 li t0,2
+ 8000055c: fe5212e3 bne tp,t0,80000540 <test_33+0x4>
+ 80000560: 01900e93 li t4,25
+ 80000564: 02100193 li gp,33
+ 80000568: 09df1463 bne t5,t4,800005f0 <fail>
+
+000000008000056c <test_34>:
+ 8000056c: 00000213 li tp,0
+ 80000570: 00b00113 li sp,11
+ 80000574: 00000013 nop
+ 80000578: 00000013 nop
+ 8000057c: 00f00093 li ra,15
+ 80000580: 00208f33 add t5,ra,sp
+ 80000584: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000588: 00200293 li t0,2
+ 8000058c: fe5212e3 bne tp,t0,80000570 <test_34+0x4>
+ 80000590: 01a00e93 li t4,26
+ 80000594: 02200193 li gp,34
+ 80000598: 05df1c63 bne t5,t4,800005f0 <fail>
+
+000000008000059c <test_35>:
+ 8000059c: 00f00093 li ra,15
+ 800005a0: 00100133 add sp,zero,ra
+ 800005a4: 00f00e93 li t4,15
+ 800005a8: 02300193 li gp,35
+ 800005ac: 05d11263 bne sp,t4,800005f0 <fail>
+
+00000000800005b0 <test_36>:
+ 800005b0: 02000093 li ra,32
+ 800005b4: 00008133 add sp,ra,zero
+ 800005b8: 02000e93 li t4,32
+ 800005bc: 02400193 li gp,36
+ 800005c0: 03d11863 bne sp,t4,800005f0 <fail>
+
+00000000800005c4 <test_37>:
+ 800005c4: 000000b3 add ra,zero,zero
+ 800005c8: 00000e93 li t4,0
+ 800005cc: 02500193 li gp,37
+ 800005d0: 03d09063 bne ra,t4,800005f0 <fail>
+
+00000000800005d4 <test_38>:
+ 800005d4: 01000093 li ra,16
+ 800005d8: 01e00113 li sp,30
+ 800005dc: 00208033 add zero,ra,sp
+ 800005e0: 00000e93 li t4,0
+ 800005e4: 02600193 li gp,38
+ 800005e8: 01d01463 bne zero,t4,800005f0 <fail>
+ 800005ec: 00301c63 bne zero,gp,80000604 <pass>
+
+00000000800005f0 <fail>:
+ 800005f0: 0ff0000f fence
+ 800005f4: 00018063 beqz gp,800005f4 <fail+0x4>
+ 800005f8: 00119193 slli gp,gp,0x1
+ 800005fc: 0011e193 ori gp,gp,1
+ 80000600: 00000073 ecall
+
+0000000080000604 <pass>:
+ 80000604: 0ff0000f fence
+ 80000608: 00100193 li gp,1
+ 8000060c: 00000073 ecall
+ 80000610: c0001073 unimp
+ 80000614: 0000 unimp
+ 80000616: 0000 unimp
+ 80000618: 0000 unimp
+ 8000061a: 0000 unimp
+ 8000061c: 0000 unimp
+ 8000061e: 0000 unimp
+ 80000620: 0000 unimp
+ 80000622: 0000 unimp
+ 80000624: 0000 unimp
+ 80000626: 0000 unimp
+ 80000628: 0000 unimp
+ 8000062a: 0000 unimp
+ 8000062c: 0000 unimp
+ 8000062e: 0000 unimp
+ 80000630: 0000 unimp
+ 80000632: 0000 unimp
+ 80000634: 0000 unimp
+ 80000636: 0000 unimp
+ 80000638: 0000 unimp
+ 8000063a: 0000 unimp
+ 8000063c: 0000 unimp
+ 8000063e: 0000 unimp
+ 80000640: 0000 unimp
+ 80000642: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-add.elf b/test/riscv/tests/rv64ui-p-add.elf
new file mode 100755
index 00000000..cd560ee7
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-add.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-addi.dump b/test/riscv/tests/rv64ui-p-addi.dump
new file mode 100644
index 00000000..dc5acc09
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-addi.dump
@@ -0,0 +1,312 @@
+
+rv64ui-p-addi: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00008f13 mv t5,ra
+ 80000104: 00000e93 li t4,0
+ 80000108: 00200193 li gp,2
+ 8000010c: 29df1263 bne t5,t4,80000390 <fail>
+
+0000000080000110 <test_3>:
+ 80000110: 00100093 li ra,1
+ 80000114: 00108f13 addi t5,ra,1
+ 80000118: 00200e93 li t4,2
+ 8000011c: 00300193 li gp,3
+ 80000120: 27df1863 bne t5,t4,80000390 <fail>
+
+0000000080000124 <test_4>:
+ 80000124: 00300093 li ra,3
+ 80000128: 00708f13 addi t5,ra,7
+ 8000012c: 00a00e93 li t4,10
+ 80000130: 00400193 li gp,4
+ 80000134: 25df1e63 bne t5,t4,80000390 <fail>
+
+0000000080000138 <test_5>:
+ 80000138: 00000093 li ra,0
+ 8000013c: 80008f13 addi t5,ra,-2048
+ 80000140: 80000e93 li t4,-2048
+ 80000144: 00500193 li gp,5
+ 80000148: 25df1463 bne t5,t4,80000390 <fail>
+
+000000008000014c <test_6>:
+ 8000014c: 800000b7 lui ra,0x80000
+ 80000150: 00008f13 mv t5,ra
+ 80000154: 80000eb7 lui t4,0x80000
+ 80000158: 00600193 li gp,6
+ 8000015c: 23df1a63 bne t5,t4,80000390 <fail>
+
+0000000080000160 <test_7>:
+ 80000160: 800000b7 lui ra,0x80000
+ 80000164: 80008f13 addi t5,ra,-2048 # ffffffff7ffff800 <_end+0xfffffffeffffd800>
+ 80000168: fff00e9b addiw t4,zero,-1
+ 8000016c: 01fe9e93 slli t4,t4,0x1f
+ 80000170: 800e8e93 addi t4,t4,-2048 # ffffffff7ffff800 <_end+0xfffffffeffffd800>
+ 80000174: 00700193 li gp,7
+ 80000178: 21df1c63 bne t5,t4,80000390 <fail>
+
+000000008000017c <test_8>:
+ 8000017c: 00000093 li ra,0
+ 80000180: 7ff08f13 addi t5,ra,2047
+ 80000184: 7ff00e93 li t4,2047
+ 80000188: 00800193 li gp,8
+ 8000018c: 21df1263 bne t5,t4,80000390 <fail>
+
+0000000080000190 <test_9>:
+ 80000190: 800000b7 lui ra,0x80000
+ 80000194: fff0809b addiw ra,ra,-1
+ 80000198: 00008f13 mv t5,ra
+ 8000019c: 80000eb7 lui t4,0x80000
+ 800001a0: fffe8e9b addiw t4,t4,-1
+ 800001a4: 00900193 li gp,9
+ 800001a8: 1fdf1463 bne t5,t4,80000390 <fail>
+
+00000000800001ac <test_10>:
+ 800001ac: 800000b7 lui ra,0x80000
+ 800001b0: fff0809b addiw ra,ra,-1
+ 800001b4: 7ff08f13 addi t5,ra,2047 # ffffffff800007ff <_end+0xfffffffeffffe7ff>
+ 800001b8: 00100e9b addiw t4,zero,1
+ 800001bc: 01fe9e93 slli t4,t4,0x1f
+ 800001c0: 7fee8e93 addi t4,t4,2046 # ffffffff800007fe <_end+0xfffffffeffffe7fe>
+ 800001c4: 00a00193 li gp,10
+ 800001c8: 1ddf1463 bne t5,t4,80000390 <fail>
+
+00000000800001cc <test_11>:
+ 800001cc: 800000b7 lui ra,0x80000
+ 800001d0: 7ff08f13 addi t5,ra,2047 # ffffffff800007ff <_end+0xfffffffeffffe7ff>
+ 800001d4: 80000eb7 lui t4,0x80000
+ 800001d8: 7ffe8e9b addiw t4,t4,2047
+ 800001dc: 00b00193 li gp,11
+ 800001e0: 1bdf1863 bne t5,t4,80000390 <fail>
+
+00000000800001e4 <test_12>:
+ 800001e4: 800000b7 lui ra,0x80000
+ 800001e8: fff0809b addiw ra,ra,-1
+ 800001ec: 80008f13 addi t5,ra,-2048 # ffffffff7ffff800 <_end+0xfffffffeffffd800>
+ 800001f0: 7ffffeb7 lui t4,0x7ffff
+ 800001f4: 7ffe8e9b addiw t4,t4,2047
+ 800001f8: 00c00193 li gp,12
+ 800001fc: 19df1a63 bne t5,t4,80000390 <fail>
+
+0000000080000200 <test_13>:
+ 80000200: 00000093 li ra,0
+ 80000204: fff08f13 addi t5,ra,-1
+ 80000208: fff00e93 li t4,-1
+ 8000020c: 00d00193 li gp,13
+ 80000210: 19df1063 bne t5,t4,80000390 <fail>
+
+0000000080000214 <test_14>:
+ 80000214: fff00093 li ra,-1
+ 80000218: 00108f13 addi t5,ra,1
+ 8000021c: 00000e93 li t4,0
+ 80000220: 00e00193 li gp,14
+ 80000224: 17df1663 bne t5,t4,80000390 <fail>
+
+0000000080000228 <test_15>:
+ 80000228: fff00093 li ra,-1
+ 8000022c: fff08f13 addi t5,ra,-1
+ 80000230: ffe00e93 li t4,-2
+ 80000234: 00f00193 li gp,15
+ 80000238: 15df1c63 bne t5,t4,80000390 <fail>
+
+000000008000023c <test_16>:
+ 8000023c: 800000b7 lui ra,0x80000
+ 80000240: fff0809b addiw ra,ra,-1
+ 80000244: 00108f13 addi t5,ra,1 # ffffffff80000001 <_end+0xfffffffeffffe001>
+ 80000248: 00100e9b addiw t4,zero,1
+ 8000024c: 01fe9e93 slli t4,t4,0x1f
+ 80000250: 01000193 li gp,16
+ 80000254: 13df1e63 bne t5,t4,80000390 <fail>
+
+0000000080000258 <test_17>:
+ 80000258: 00d00093 li ra,13
+ 8000025c: 00b08093 addi ra,ra,11
+ 80000260: 01800e93 li t4,24
+ 80000264: 01100193 li gp,17
+ 80000268: 13d09463 bne ra,t4,80000390 <fail>
+
+000000008000026c <test_18>:
+ 8000026c: 00000213 li tp,0
+ 80000270: 00d00093 li ra,13
+ 80000274: 00b08f13 addi t5,ra,11
+ 80000278: 000f0313 mv t1,t5
+ 8000027c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000280: 00200293 li t0,2
+ 80000284: fe5216e3 bne tp,t0,80000270 <test_18+0x4>
+ 80000288: 01800e93 li t4,24
+ 8000028c: 01200193 li gp,18
+ 80000290: 11d31063 bne t1,t4,80000390 <fail>
+
+0000000080000294 <test_19>:
+ 80000294: 00000213 li tp,0
+ 80000298: 00d00093 li ra,13
+ 8000029c: 00a08f13 addi t5,ra,10
+ 800002a0: 00000013 nop
+ 800002a4: 000f0313 mv t1,t5
+ 800002a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002ac: 00200293 li t0,2
+ 800002b0: fe5214e3 bne tp,t0,80000298 <test_19+0x4>
+ 800002b4: 01700e93 li t4,23
+ 800002b8: 01300193 li gp,19
+ 800002bc: 0dd31a63 bne t1,t4,80000390 <fail>
+
+00000000800002c0 <test_20>:
+ 800002c0: 00000213 li tp,0
+ 800002c4: 00d00093 li ra,13
+ 800002c8: 00908f13 addi t5,ra,9
+ 800002cc: 00000013 nop
+ 800002d0: 00000013 nop
+ 800002d4: 000f0313 mv t1,t5
+ 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002dc: 00200293 li t0,2
+ 800002e0: fe5212e3 bne tp,t0,800002c4 <test_20+0x4>
+ 800002e4: 01600e93 li t4,22
+ 800002e8: 01400193 li gp,20
+ 800002ec: 0bd31263 bne t1,t4,80000390 <fail>
+
+00000000800002f0 <test_21>:
+ 800002f0: 00000213 li tp,0
+ 800002f4: 00d00093 li ra,13
+ 800002f8: 00b08f13 addi t5,ra,11
+ 800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000300: 00200293 li t0,2
+ 80000304: fe5218e3 bne tp,t0,800002f4 <test_21+0x4>
+ 80000308: 01800e93 li t4,24
+ 8000030c: 01500193 li gp,21
+ 80000310: 09df1063 bne t5,t4,80000390 <fail>
+
+0000000080000314 <test_22>:
+ 80000314: 00000213 li tp,0
+ 80000318: 00d00093 li ra,13
+ 8000031c: 00000013 nop
+ 80000320: 00a08f13 addi t5,ra,10
+ 80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000328: 00200293 li t0,2
+ 8000032c: fe5216e3 bne tp,t0,80000318 <test_22+0x4>
+ 80000330: 01700e93 li t4,23
+ 80000334: 01600193 li gp,22
+ 80000338: 05df1c63 bne t5,t4,80000390 <fail>
+
+000000008000033c <test_23>:
+ 8000033c: 00000213 li tp,0
+ 80000340: 00d00093 li ra,13
+ 80000344: 00000013 nop
+ 80000348: 00000013 nop
+ 8000034c: 00908f13 addi t5,ra,9
+ 80000350: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000354: 00200293 li t0,2
+ 80000358: fe5214e3 bne tp,t0,80000340 <test_23+0x4>
+ 8000035c: 01600e93 li t4,22
+ 80000360: 01700193 li gp,23
+ 80000364: 03df1663 bne t5,t4,80000390 <fail>
+
+0000000080000368 <test_24>:
+ 80000368: 02000093 li ra,32
+ 8000036c: 02000e93 li t4,32
+ 80000370: 01800193 li gp,24
+ 80000374: 01d09e63 bne ra,t4,80000390 <fail>
+
+0000000080000378 <test_25>:
+ 80000378: 02100093 li ra,33
+ 8000037c: 03208013 addi zero,ra,50
+ 80000380: 00000e93 li t4,0
+ 80000384: 01900193 li gp,25
+ 80000388: 01d01463 bne zero,t4,80000390 <fail>
+ 8000038c: 00301c63 bne zero,gp,800003a4 <pass>
+
+0000000080000390 <fail>:
+ 80000390: 0ff0000f fence
+ 80000394: 00018063 beqz gp,80000394 <fail+0x4>
+ 80000398: 00119193 slli gp,gp,0x1
+ 8000039c: 0011e193 ori gp,gp,1
+ 800003a0: 00000073 ecall
+
+00000000800003a4 <pass>:
+ 800003a4: 0ff0000f fence
+ 800003a8: 00100193 li gp,1
+ 800003ac: 00000073 ecall
+ 800003b0: c0001073 unimp
+ 800003b4: 0000 unimp
+ 800003b6: 0000 unimp
+ 800003b8: 0000 unimp
+ 800003ba: 0000 unimp
+ 800003bc: 0000 unimp
+ 800003be: 0000 unimp
+ 800003c0: 0000 unimp
+ 800003c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-addi.elf b/test/riscv/tests/rv64ui-p-addi.elf
new file mode 100755
index 00000000..3cbc838d
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-addi.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-addiw.dump b/test/riscv/tests/rv64ui-p-addiw.dump
new file mode 100644
index 00000000..a84bd35c
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-addiw.dump
@@ -0,0 +1,315 @@
+
+rv64ui-p-addiw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00008f1b sext.w t5,ra
+ 80000104: 00000e93 li t4,0
+ 80000108: 00200193 li gp,2
+ 8000010c: 27df1c63 bne t5,t4,80000384 <fail>
+
+0000000080000110 <test_3>:
+ 80000110: 00100093 li ra,1
+ 80000114: 00108f1b addiw t5,ra,1
+ 80000118: 00200e93 li t4,2
+ 8000011c: 00300193 li gp,3
+ 80000120: 27df1263 bne t5,t4,80000384 <fail>
+
+0000000080000124 <test_4>:
+ 80000124: 00300093 li ra,3
+ 80000128: 00708f1b addiw t5,ra,7
+ 8000012c: 00a00e93 li t4,10
+ 80000130: 00400193 li gp,4
+ 80000134: 25df1863 bne t5,t4,80000384 <fail>
+
+0000000080000138 <test_5>:
+ 80000138: 00000093 li ra,0
+ 8000013c: 80008f1b addiw t5,ra,-2048
+ 80000140: 80000e93 li t4,-2048
+ 80000144: 00500193 li gp,5
+ 80000148: 23df1e63 bne t5,t4,80000384 <fail>
+
+000000008000014c <test_6>:
+ 8000014c: 800000b7 lui ra,0x80000
+ 80000150: 00008f1b sext.w t5,ra
+ 80000154: 80000eb7 lui t4,0x80000
+ 80000158: 00600193 li gp,6
+ 8000015c: 23df1463 bne t5,t4,80000384 <fail>
+
+0000000080000160 <test_7>:
+ 80000160: 800000b7 lui ra,0x80000
+ 80000164: 80008f1b addiw t5,ra,-2048
+ 80000168: 80000eb7 lui t4,0x80000
+ 8000016c: 800e8e9b addiw t4,t4,-2048
+ 80000170: 00700193 li gp,7
+ 80000174: 21df1863 bne t5,t4,80000384 <fail>
+
+0000000080000178 <test_8>:
+ 80000178: 00000093 li ra,0
+ 8000017c: 7ff08f1b addiw t5,ra,2047
+ 80000180: 7ff00e93 li t4,2047
+ 80000184: 00800193 li gp,8
+ 80000188: 1fdf1e63 bne t5,t4,80000384 <fail>
+
+000000008000018c <test_9>:
+ 8000018c: 800000b7 lui ra,0x80000
+ 80000190: fff0809b addiw ra,ra,-1
+ 80000194: 00008f1b sext.w t5,ra
+ 80000198: 80000eb7 lui t4,0x80000
+ 8000019c: fffe8e9b addiw t4,t4,-1
+ 800001a0: 00900193 li gp,9
+ 800001a4: 1fdf1063 bne t5,t4,80000384 <fail>
+
+00000000800001a8 <test_10>:
+ 800001a8: 800000b7 lui ra,0x80000
+ 800001ac: fff0809b addiw ra,ra,-1
+ 800001b0: 7ff08f1b addiw t5,ra,2047
+ 800001b4: 80000eb7 lui t4,0x80000
+ 800001b8: 7fee8e9b addiw t4,t4,2046
+ 800001bc: 00a00193 li gp,10
+ 800001c0: 1ddf1263 bne t5,t4,80000384 <fail>
+
+00000000800001c4 <test_11>:
+ 800001c4: 800000b7 lui ra,0x80000
+ 800001c8: 7ff08f1b addiw t5,ra,2047
+ 800001cc: 80000eb7 lui t4,0x80000
+ 800001d0: 7ffe8e9b addiw t4,t4,2047
+ 800001d4: 00b00193 li gp,11
+ 800001d8: 1bdf1663 bne t5,t4,80000384 <fail>
+
+00000000800001dc <test_12>:
+ 800001dc: 800000b7 lui ra,0x80000
+ 800001e0: fff0809b addiw ra,ra,-1
+ 800001e4: 80008f1b addiw t5,ra,-2048
+ 800001e8: 7ffffeb7 lui t4,0x7ffff
+ 800001ec: 7ffe8e9b addiw t4,t4,2047
+ 800001f0: 00c00193 li gp,12
+ 800001f4: 19df1863 bne t5,t4,80000384 <fail>
+
+00000000800001f8 <test_13>:
+ 800001f8: 00000093 li ra,0
+ 800001fc: fff08f1b addiw t5,ra,-1
+ 80000200: fff00e93 li t4,-1
+ 80000204: 00d00193 li gp,13
+ 80000208: 17df1e63 bne t5,t4,80000384 <fail>
+
+000000008000020c <test_14>:
+ 8000020c: fff00093 li ra,-1
+ 80000210: 00108f1b addiw t5,ra,1
+ 80000214: 00000e93 li t4,0
+ 80000218: 00e00193 li gp,14
+ 8000021c: 17df1463 bne t5,t4,80000384 <fail>
+
+0000000080000220 <test_15>:
+ 80000220: fff00093 li ra,-1
+ 80000224: fff08f1b addiw t5,ra,-1
+ 80000228: ffe00e93 li t4,-2
+ 8000022c: 00f00193 li gp,15
+ 80000230: 15df1a63 bne t5,t4,80000384 <fail>
+
+0000000080000234 <test_16>:
+ 80000234: 800000b7 lui ra,0x80000
+ 80000238: fff0809b addiw ra,ra,-1
+ 8000023c: 00108f1b addiw t5,ra,1
+ 80000240: 80000eb7 lui t4,0x80000
+ 80000244: 01000193 li gp,16
+ 80000248: 13df1e63 bne t5,t4,80000384 <fail>
+
+000000008000024c <test_17>:
+ 8000024c: 00d00093 li ra,13
+ 80000250: 00b0809b addiw ra,ra,11
+ 80000254: 01800e93 li t4,24
+ 80000258: 01100193 li gp,17
+ 8000025c: 13d09463 bne ra,t4,80000384 <fail>
+
+0000000080000260 <test_18>:
+ 80000260: 00000213 li tp,0
+ 80000264: 00d00093 li ra,13
+ 80000268: 00b08f1b addiw t5,ra,11
+ 8000026c: 000f0313 mv t1,t5
+ 80000270: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000274: 00200293 li t0,2
+ 80000278: fe5216e3 bne tp,t0,80000264 <test_18+0x4>
+ 8000027c: 01800e93 li t4,24
+ 80000280: 01200193 li gp,18
+ 80000284: 11d31063 bne t1,t4,80000384 <fail>
+
+0000000080000288 <test_19>:
+ 80000288: 00000213 li tp,0
+ 8000028c: 00d00093 li ra,13
+ 80000290: 00a08f1b addiw t5,ra,10
+ 80000294: 00000013 nop
+ 80000298: 000f0313 mv t1,t5
+ 8000029c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a0: 00200293 li t0,2
+ 800002a4: fe5214e3 bne tp,t0,8000028c <test_19+0x4>
+ 800002a8: 01700e93 li t4,23
+ 800002ac: 01300193 li gp,19
+ 800002b0: 0dd31a63 bne t1,t4,80000384 <fail>
+
+00000000800002b4 <test_20>:
+ 800002b4: 00000213 li tp,0
+ 800002b8: 00d00093 li ra,13
+ 800002bc: 00908f1b addiw t5,ra,9
+ 800002c0: 00000013 nop
+ 800002c4: 00000013 nop
+ 800002c8: 000f0313 mv t1,t5
+ 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002d0: 00200293 li t0,2
+ 800002d4: fe5212e3 bne tp,t0,800002b8 <test_20+0x4>
+ 800002d8: 01600e93 li t4,22
+ 800002dc: 01400193 li gp,20
+ 800002e0: 0bd31263 bne t1,t4,80000384 <fail>
+
+00000000800002e4 <test_21>:
+ 800002e4: 00000213 li tp,0
+ 800002e8: 00d00093 li ra,13
+ 800002ec: 00b08f1b addiw t5,ra,11
+ 800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002f4: 00200293 li t0,2
+ 800002f8: fe5218e3 bne tp,t0,800002e8 <test_21+0x4>
+ 800002fc: 01800e93 li t4,24
+ 80000300: 01500193 li gp,21
+ 80000304: 09df1063 bne t5,t4,80000384 <fail>
+
+0000000080000308 <test_22>:
+ 80000308: 00000213 li tp,0
+ 8000030c: 00d00093 li ra,13
+ 80000310: 00000013 nop
+ 80000314: 00a08f1b addiw t5,ra,10
+ 80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000031c: 00200293 li t0,2
+ 80000320: fe5216e3 bne tp,t0,8000030c <test_22+0x4>
+ 80000324: 01700e93 li t4,23
+ 80000328: 01600193 li gp,22
+ 8000032c: 05df1c63 bne t5,t4,80000384 <fail>
+
+0000000080000330 <test_23>:
+ 80000330: 00000213 li tp,0
+ 80000334: 00d00093 li ra,13
+ 80000338: 00000013 nop
+ 8000033c: 00000013 nop
+ 80000340: 00908f1b addiw t5,ra,9
+ 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000348: 00200293 li t0,2
+ 8000034c: fe5214e3 bne tp,t0,80000334 <test_23+0x4>
+ 80000350: 01600e93 li t4,22
+ 80000354: 01700193 li gp,23
+ 80000358: 03df1663 bne t5,t4,80000384 <fail>
+
+000000008000035c <test_24>:
+ 8000035c: 0200009b addiw ra,zero,32
+ 80000360: 02000e93 li t4,32
+ 80000364: 01800193 li gp,24
+ 80000368: 01d09e63 bne ra,t4,80000384 <fail>
+
+000000008000036c <test_25>:
+ 8000036c: 02100093 li ra,33
+ 80000370: 0320801b addiw zero,ra,50
+ 80000374: 00000e93 li t4,0
+ 80000378: 01900193 li gp,25
+ 8000037c: 01d01463 bne zero,t4,80000384 <fail>
+ 80000380: 00301c63 bne zero,gp,80000398 <pass>
+
+0000000080000384 <fail>:
+ 80000384: 0ff0000f fence
+ 80000388: 00018063 beqz gp,80000388 <fail+0x4>
+ 8000038c: 00119193 slli gp,gp,0x1
+ 80000390: 0011e193 ori gp,gp,1
+ 80000394: 00000073 ecall
+
+0000000080000398 <pass>:
+ 80000398: 0ff0000f fence
+ 8000039c: 00100193 li gp,1
+ 800003a0: 00000073 ecall
+ 800003a4: c0001073 unimp
+ 800003a8: 0000 unimp
+ 800003aa: 0000 unimp
+ 800003ac: 0000 unimp
+ 800003ae: 0000 unimp
+ 800003b0: 0000 unimp
+ 800003b2: 0000 unimp
+ 800003b4: 0000 unimp
+ 800003b6: 0000 unimp
+ 800003b8: 0000 unimp
+ 800003ba: 0000 unimp
+ 800003bc: 0000 unimp
+ 800003be: 0000 unimp
+ 800003c0: 0000 unimp
+ 800003c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-addiw.elf b/test/riscv/tests/rv64ui-p-addiw.elf
new file mode 100755
index 00000000..adee4ac2
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-addiw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-addw.dump b/test/riscv/tests/rv64ui-p-addw.dump
new file mode 100644
index 00000000..626af6d9
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-addw.dump
@@ -0,0 +1,479 @@
+
+rv64ui-p-addw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00000113 li sp,0
+ 80000104: 00208f3b addw t5,ra,sp
+ 80000108: 00000e93 li t4,0
+ 8000010c: 00200193 li gp,2
+ 80000110: 4ddf1663 bne t5,t4,800005dc <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 00208f3b addw t5,ra,sp
+ 80000120: 00200e93 li t4,2
+ 80000124: 00300193 li gp,3
+ 80000128: 4bdf1a63 bne t5,t4,800005dc <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00300093 li ra,3
+ 80000130: 00700113 li sp,7
+ 80000134: 00208f3b addw t5,ra,sp
+ 80000138: 00a00e93 li t4,10
+ 8000013c: 00400193 li gp,4
+ 80000140: 49df1e63 bne t5,t4,800005dc <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00000093 li ra,0
+ 80000148: ffff8137 lui sp,0xffff8
+ 8000014c: 00208f3b addw t5,ra,sp
+ 80000150: ffff8eb7 lui t4,0xffff8
+ 80000154: 00500193 li gp,5
+ 80000158: 49df1263 bne t5,t4,800005dc <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00000113 li sp,0
+ 80000164: 00208f3b addw t5,ra,sp
+ 80000168: 80000eb7 lui t4,0x80000
+ 8000016c: 00600193 li gp,6
+ 80000170: 47df1663 bne t5,t4,800005dc <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: ffff8137 lui sp,0xffff8
+ 8000017c: 00208f3b addw t5,ra,sp
+ 80000180: 7fff8eb7 lui t4,0x7fff8
+ 80000184: 00700193 li gp,7
+ 80000188: 45df1a63 bne t5,t4,800005dc <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 00000093 li ra,0
+ 80000190: 00008137 lui sp,0x8
+ 80000194: fff1011b addiw sp,sp,-1
+ 80000198: 00208f3b addw t5,ra,sp
+ 8000019c: 00008eb7 lui t4,0x8
+ 800001a0: fffe8e9b addiw t4,t4,-1
+ 800001a4: 00800193 li gp,8
+ 800001a8: 43df1a63 bne t5,t4,800005dc <fail>
+
+00000000800001ac <test_9>:
+ 800001ac: 800000b7 lui ra,0x80000
+ 800001b0: fff0809b addiw ra,ra,-1
+ 800001b4: 00000113 li sp,0
+ 800001b8: 00208f3b addw t5,ra,sp
+ 800001bc: 80000eb7 lui t4,0x80000
+ 800001c0: fffe8e9b addiw t4,t4,-1
+ 800001c4: 00900193 li gp,9
+ 800001c8: 41df1a63 bne t5,t4,800005dc <fail>
+
+00000000800001cc <test_10>:
+ 800001cc: 800000b7 lui ra,0x80000
+ 800001d0: fff0809b addiw ra,ra,-1
+ 800001d4: 00008137 lui sp,0x8
+ 800001d8: fff1011b addiw sp,sp,-1
+ 800001dc: 00208f3b addw t5,ra,sp
+ 800001e0: 80008eb7 lui t4,0x80008
+ 800001e4: ffee8e9b addiw t4,t4,-2
+ 800001e8: 00a00193 li gp,10
+ 800001ec: 3fdf1863 bne t5,t4,800005dc <fail>
+
+00000000800001f0 <test_11>:
+ 800001f0: 800000b7 lui ra,0x80000
+ 800001f4: 00008137 lui sp,0x8
+ 800001f8: fff1011b addiw sp,sp,-1
+ 800001fc: 00208f3b addw t5,ra,sp
+ 80000200: 80008eb7 lui t4,0x80008
+ 80000204: fffe8e9b addiw t4,t4,-1
+ 80000208: 00b00193 li gp,11
+ 8000020c: 3ddf1863 bne t5,t4,800005dc <fail>
+
+0000000080000210 <test_12>:
+ 80000210: 800000b7 lui ra,0x80000
+ 80000214: fff0809b addiw ra,ra,-1
+ 80000218: ffff8137 lui sp,0xffff8
+ 8000021c: 00208f3b addw t5,ra,sp
+ 80000220: 7fff8eb7 lui t4,0x7fff8
+ 80000224: fffe8e9b addiw t4,t4,-1
+ 80000228: 00c00193 li gp,12
+ 8000022c: 3bdf1863 bne t5,t4,800005dc <fail>
+
+0000000080000230 <test_13>:
+ 80000230: 00000093 li ra,0
+ 80000234: fff00113 li sp,-1
+ 80000238: 00208f3b addw t5,ra,sp
+ 8000023c: fff00e93 li t4,-1
+ 80000240: 00d00193 li gp,13
+ 80000244: 39df1c63 bne t5,t4,800005dc <fail>
+
+0000000080000248 <test_14>:
+ 80000248: fff00093 li ra,-1
+ 8000024c: 00100113 li sp,1
+ 80000250: 00208f3b addw t5,ra,sp
+ 80000254: 00000e93 li t4,0
+ 80000258: 00e00193 li gp,14
+ 8000025c: 39df1063 bne t5,t4,800005dc <fail>
+
+0000000080000260 <test_15>:
+ 80000260: fff00093 li ra,-1
+ 80000264: fff00113 li sp,-1
+ 80000268: 00208f3b addw t5,ra,sp
+ 8000026c: ffe00e93 li t4,-2
+ 80000270: 00f00193 li gp,15
+ 80000274: 37df1463 bne t5,t4,800005dc <fail>
+
+0000000080000278 <test_16>:
+ 80000278: 00100093 li ra,1
+ 8000027c: 80000137 lui sp,0x80000
+ 80000280: fff1011b addiw sp,sp,-1
+ 80000284: 00208f3b addw t5,ra,sp
+ 80000288: 80000eb7 lui t4,0x80000
+ 8000028c: 01000193 li gp,16
+ 80000290: 35df1663 bne t5,t4,800005dc <fail>
+
+0000000080000294 <test_17>:
+ 80000294: 00d00093 li ra,13
+ 80000298: 00b00113 li sp,11
+ 8000029c: 002080bb addw ra,ra,sp
+ 800002a0: 01800e93 li t4,24
+ 800002a4: 01100193 li gp,17
+ 800002a8: 33d09a63 bne ra,t4,800005dc <fail>
+
+00000000800002ac <test_18>:
+ 800002ac: 00e00093 li ra,14
+ 800002b0: 00b00113 li sp,11
+ 800002b4: 0020813b addw sp,ra,sp
+ 800002b8: 01900e93 li t4,25
+ 800002bc: 01200193 li gp,18
+ 800002c0: 31d11e63 bne sp,t4,800005dc <fail>
+
+00000000800002c4 <test_19>:
+ 800002c4: 00d00093 li ra,13
+ 800002c8: 001080bb addw ra,ra,ra
+ 800002cc: 01a00e93 li t4,26
+ 800002d0: 01300193 li gp,19
+ 800002d4: 31d09463 bne ra,t4,800005dc <fail>
+
+00000000800002d8 <test_20>:
+ 800002d8: 00000213 li tp,0
+ 800002dc: 00d00093 li ra,13
+ 800002e0: 00b00113 li sp,11
+ 800002e4: 00208f3b addw t5,ra,sp
+ 800002e8: 000f0313 mv t1,t5
+ 800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002f0: 00200293 li t0,2
+ 800002f4: fe5214e3 bne tp,t0,800002dc <test_20+0x4>
+ 800002f8: 01800e93 li t4,24
+ 800002fc: 01400193 li gp,20
+ 80000300: 2dd31e63 bne t1,t4,800005dc <fail>
+
+0000000080000304 <test_21>:
+ 80000304: 00000213 li tp,0
+ 80000308: 00e00093 li ra,14
+ 8000030c: 00b00113 li sp,11
+ 80000310: 00208f3b addw t5,ra,sp
+ 80000314: 00000013 nop
+ 80000318: 000f0313 mv t1,t5
+ 8000031c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000320: 00200293 li t0,2
+ 80000324: fe5212e3 bne tp,t0,80000308 <test_21+0x4>
+ 80000328: 01900e93 li t4,25
+ 8000032c: 01500193 li gp,21
+ 80000330: 2bd31663 bne t1,t4,800005dc <fail>
+
+0000000080000334 <test_22>:
+ 80000334: 00000213 li tp,0
+ 80000338: 00f00093 li ra,15
+ 8000033c: 00b00113 li sp,11
+ 80000340: 00208f3b addw t5,ra,sp
+ 80000344: 00000013 nop
+ 80000348: 00000013 nop
+ 8000034c: 000f0313 mv t1,t5
+ 80000350: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000354: 00200293 li t0,2
+ 80000358: fe5210e3 bne tp,t0,80000338 <test_22+0x4>
+ 8000035c: 01a00e93 li t4,26
+ 80000360: 01600193 li gp,22
+ 80000364: 27d31c63 bne t1,t4,800005dc <fail>
+
+0000000080000368 <test_23>:
+ 80000368: 00000213 li tp,0
+ 8000036c: 00d00093 li ra,13
+ 80000370: 00b00113 li sp,11
+ 80000374: 00208f3b addw t5,ra,sp
+ 80000378: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000037c: 00200293 li t0,2
+ 80000380: fe5216e3 bne tp,t0,8000036c <test_23+0x4>
+ 80000384: 01800e93 li t4,24
+ 80000388: 01700193 li gp,23
+ 8000038c: 25df1863 bne t5,t4,800005dc <fail>
+
+0000000080000390 <test_24>:
+ 80000390: 00000213 li tp,0
+ 80000394: 00e00093 li ra,14
+ 80000398: 00b00113 li sp,11
+ 8000039c: 00000013 nop
+ 800003a0: 00208f3b addw t5,ra,sp
+ 800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003a8: 00200293 li t0,2
+ 800003ac: fe5214e3 bne tp,t0,80000394 <test_24+0x4>
+ 800003b0: 01900e93 li t4,25
+ 800003b4: 01800193 li gp,24
+ 800003b8: 23df1263 bne t5,t4,800005dc <fail>
+
+00000000800003bc <test_25>:
+ 800003bc: 00000213 li tp,0
+ 800003c0: 00f00093 li ra,15
+ 800003c4: 00b00113 li sp,11
+ 800003c8: 00000013 nop
+ 800003cc: 00000013 nop
+ 800003d0: 00208f3b addw t5,ra,sp
+ 800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003d8: 00200293 li t0,2
+ 800003dc: fe5212e3 bne tp,t0,800003c0 <test_25+0x4>
+ 800003e0: 01a00e93 li t4,26
+ 800003e4: 01900193 li gp,25
+ 800003e8: 1fdf1a63 bne t5,t4,800005dc <fail>
+
+00000000800003ec <test_26>:
+ 800003ec: 00000213 li tp,0
+ 800003f0: 00d00093 li ra,13
+ 800003f4: 00000013 nop
+ 800003f8: 00b00113 li sp,11
+ 800003fc: 00208f3b addw t5,ra,sp
+ 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000404: 00200293 li t0,2
+ 80000408: fe5214e3 bne tp,t0,800003f0 <test_26+0x4>
+ 8000040c: 01800e93 li t4,24
+ 80000410: 01a00193 li gp,26
+ 80000414: 1ddf1463 bne t5,t4,800005dc <fail>
+
+0000000080000418 <test_27>:
+ 80000418: 00000213 li tp,0
+ 8000041c: 00e00093 li ra,14
+ 80000420: 00000013 nop
+ 80000424: 00b00113 li sp,11
+ 80000428: 00000013 nop
+ 8000042c: 00208f3b addw t5,ra,sp
+ 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000434: 00200293 li t0,2
+ 80000438: fe5212e3 bne tp,t0,8000041c <test_27+0x4>
+ 8000043c: 01900e93 li t4,25
+ 80000440: 01b00193 li gp,27
+ 80000444: 19df1c63 bne t5,t4,800005dc <fail>
+
+0000000080000448 <test_28>:
+ 80000448: 00000213 li tp,0
+ 8000044c: 00f00093 li ra,15
+ 80000450: 00000013 nop
+ 80000454: 00000013 nop
+ 80000458: 00b00113 li sp,11
+ 8000045c: 00208f3b addw t5,ra,sp
+ 80000460: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000464: 00200293 li t0,2
+ 80000468: fe5212e3 bne tp,t0,8000044c <test_28+0x4>
+ 8000046c: 01a00e93 li t4,26
+ 80000470: 01c00193 li gp,28
+ 80000474: 17df1463 bne t5,t4,800005dc <fail>
+
+0000000080000478 <test_29>:
+ 80000478: 00000213 li tp,0
+ 8000047c: 00b00113 li sp,11
+ 80000480: 00d00093 li ra,13
+ 80000484: 00208f3b addw t5,ra,sp
+ 80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000048c: 00200293 li t0,2
+ 80000490: fe5216e3 bne tp,t0,8000047c <test_29+0x4>
+ 80000494: 01800e93 li t4,24
+ 80000498: 01d00193 li gp,29
+ 8000049c: 15df1063 bne t5,t4,800005dc <fail>
+
+00000000800004a0 <test_30>:
+ 800004a0: 00000213 li tp,0
+ 800004a4: 00b00113 li sp,11
+ 800004a8: 00e00093 li ra,14
+ 800004ac: 00000013 nop
+ 800004b0: 00208f3b addw t5,ra,sp
+ 800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004b8: 00200293 li t0,2
+ 800004bc: fe5214e3 bne tp,t0,800004a4 <test_30+0x4>
+ 800004c0: 01900e93 li t4,25
+ 800004c4: 01e00193 li gp,30
+ 800004c8: 11df1a63 bne t5,t4,800005dc <fail>
+
+00000000800004cc <test_31>:
+ 800004cc: 00000213 li tp,0
+ 800004d0: 00b00113 li sp,11
+ 800004d4: 00f00093 li ra,15
+ 800004d8: 00000013 nop
+ 800004dc: 00000013 nop
+ 800004e0: 00208f3b addw t5,ra,sp
+ 800004e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004e8: 00200293 li t0,2
+ 800004ec: fe5212e3 bne tp,t0,800004d0 <test_31+0x4>
+ 800004f0: 01a00e93 li t4,26
+ 800004f4: 01f00193 li gp,31
+ 800004f8: 0fdf1263 bne t5,t4,800005dc <fail>
+
+00000000800004fc <test_32>:
+ 800004fc: 00000213 li tp,0
+ 80000500: 00b00113 li sp,11
+ 80000504: 00000013 nop
+ 80000508: 00d00093 li ra,13
+ 8000050c: 00208f3b addw t5,ra,sp
+ 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000514: 00200293 li t0,2
+ 80000518: fe5214e3 bne tp,t0,80000500 <test_32+0x4>
+ 8000051c: 01800e93 li t4,24
+ 80000520: 02000193 li gp,32
+ 80000524: 0bdf1c63 bne t5,t4,800005dc <fail>
+
+0000000080000528 <test_33>:
+ 80000528: 00000213 li tp,0
+ 8000052c: 00b00113 li sp,11
+ 80000530: 00000013 nop
+ 80000534: 00e00093 li ra,14
+ 80000538: 00000013 nop
+ 8000053c: 00208f3b addw t5,ra,sp
+ 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000544: 00200293 li t0,2
+ 80000548: fe5212e3 bne tp,t0,8000052c <test_33+0x4>
+ 8000054c: 01900e93 li t4,25
+ 80000550: 02100193 li gp,33
+ 80000554: 09df1463 bne t5,t4,800005dc <fail>
+
+0000000080000558 <test_34>:
+ 80000558: 00000213 li tp,0
+ 8000055c: 00b00113 li sp,11
+ 80000560: 00000013 nop
+ 80000564: 00000013 nop
+ 80000568: 00f00093 li ra,15
+ 8000056c: 00208f3b addw t5,ra,sp
+ 80000570: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000574: 00200293 li t0,2
+ 80000578: fe5212e3 bne tp,t0,8000055c <test_34+0x4>
+ 8000057c: 01a00e93 li t4,26
+ 80000580: 02200193 li gp,34
+ 80000584: 05df1c63 bne t5,t4,800005dc <fail>
+
+0000000080000588 <test_35>:
+ 80000588: 00f00093 li ra,15
+ 8000058c: 0010013b addw sp,zero,ra
+ 80000590: 00f00e93 li t4,15
+ 80000594: 02300193 li gp,35
+ 80000598: 05d11263 bne sp,t4,800005dc <fail>
+
+000000008000059c <test_36>:
+ 8000059c: 02000093 li ra,32
+ 800005a0: 0000813b addw sp,ra,zero
+ 800005a4: 02000e93 li t4,32
+ 800005a8: 02400193 li gp,36
+ 800005ac: 03d11863 bne sp,t4,800005dc <fail>
+
+00000000800005b0 <test_37>:
+ 800005b0: 000000bb addw ra,zero,zero
+ 800005b4: 00000e93 li t4,0
+ 800005b8: 02500193 li gp,37
+ 800005bc: 03d09063 bne ra,t4,800005dc <fail>
+
+00000000800005c0 <test_38>:
+ 800005c0: 01000093 li ra,16
+ 800005c4: 01e00113 li sp,30
+ 800005c8: 0020803b addw zero,ra,sp
+ 800005cc: 00000e93 li t4,0
+ 800005d0: 02600193 li gp,38
+ 800005d4: 01d01463 bne zero,t4,800005dc <fail>
+ 800005d8: 00301c63 bne zero,gp,800005f0 <pass>
+
+00000000800005dc <fail>:
+ 800005dc: 0ff0000f fence
+ 800005e0: 00018063 beqz gp,800005e0 <fail+0x4>
+ 800005e4: 00119193 slli gp,gp,0x1
+ 800005e8: 0011e193 ori gp,gp,1
+ 800005ec: 00000073 ecall
+
+00000000800005f0 <pass>:
+ 800005f0: 0ff0000f fence
+ 800005f4: 00100193 li gp,1
+ 800005f8: 00000073 ecall
+ 800005fc: c0001073 unimp
+ 80000600: 0000 unimp
+ 80000602: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-addw.elf b/test/riscv/tests/rv64ui-p-addw.elf
new file mode 100755
index 00000000..b36a71c1
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-addw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-and.dump b/test/riscv/tests/rv64ui-p-and.dump
new file mode 100644
index 00000000..5851df86
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-and.dump
@@ -0,0 +1,491 @@
+
+rv64ui-p-and: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 000100b7 lui ra,0x10
+ 80000100: f010809b addiw ra,ra,-255
+ 80000104: 01009093 slli ra,ra,0x10
+ 80000108: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 8000010c: 0f0f1137 lui sp,0xf0f1
+ 80000110: f0f1011b addiw sp,sp,-241
+ 80000114: 0020ff33 and t5,ra,sp
+ 80000118: 0f001eb7 lui t4,0xf001
+ 8000011c: f00e8e9b addiw t4,t4,-256
+ 80000120: 00200193 li gp,2
+ 80000124: 53df1863 bne t5,t4,80000654 <fail>
+
+0000000080000128 <test_3>:
+ 80000128: 0ff010b7 lui ra,0xff01
+ 8000012c: ff00809b addiw ra,ra,-16
+ 80000130: 000f1137 lui sp,0xf1
+ 80000134: f0f1011b addiw sp,sp,-241
+ 80000138: 00c11113 slli sp,sp,0xc
+ 8000013c: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 80000140: 0020ff33 and t5,ra,sp
+ 80000144: 00f00eb7 lui t4,0xf00
+ 80000148: 0f0e8e9b addiw t4,t4,240
+ 8000014c: 00300193 li gp,3
+ 80000150: 51df1263 bne t5,t4,80000654 <fail>
+
+0000000080000154 <test_4>:
+ 80000154: 00ff00b7 lui ra,0xff0
+ 80000158: 0ff0809b addiw ra,ra,255
+ 8000015c: 0f0f1137 lui sp,0xf0f1
+ 80000160: f0f1011b addiw sp,sp,-241
+ 80000164: 0020ff33 and t5,ra,sp
+ 80000168: 000f0eb7 lui t4,0xf0
+ 8000016c: 00fe8e9b addiw t4,t4,15
+ 80000170: 00400193 li gp,4
+ 80000174: 4fdf1063 bne t5,t4,80000654 <fail>
+
+0000000080000178 <test_5>:
+ 80000178: 000f00b7 lui ra,0xf0
+ 8000017c: 0ff0809b addiw ra,ra,255
+ 80000180: 00c09093 slli ra,ra,0xc
+ 80000184: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1>
+ 80000188: 000f1137 lui sp,0xf1
+ 8000018c: f0f1011b addiw sp,sp,-241
+ 80000190: 00c11113 slli sp,sp,0xc
+ 80000194: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 80000198: 0020ff33 and t5,ra,sp
+ 8000019c: 000f0eb7 lui t4,0xf0
+ 800001a0: 00fe8e9b addiw t4,t4,15
+ 800001a4: 00ce9e93 slli t4,t4,0xc
+ 800001a8: 00500193 li gp,5
+ 800001ac: 4bdf1463 bne t5,t4,80000654 <fail>
+
+00000000800001b0 <test_6>:
+ 800001b0: 000100b7 lui ra,0x10
+ 800001b4: f010809b addiw ra,ra,-255
+ 800001b8: 01009093 slli ra,ra,0x10
+ 800001bc: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 800001c0: 0f0f1137 lui sp,0xf0f1
+ 800001c4: f0f1011b addiw sp,sp,-241
+ 800001c8: 0020f0b3 and ra,ra,sp
+ 800001cc: 0f001eb7 lui t4,0xf001
+ 800001d0: f00e8e9b addiw t4,t4,-256
+ 800001d4: 00600193 li gp,6
+ 800001d8: 47d09e63 bne ra,t4,80000654 <fail>
+
+00000000800001dc <test_7>:
+ 800001dc: 0ff010b7 lui ra,0xff01
+ 800001e0: ff00809b addiw ra,ra,-16
+ 800001e4: 000f1137 lui sp,0xf1
+ 800001e8: f0f1011b addiw sp,sp,-241
+ 800001ec: 00c11113 slli sp,sp,0xc
+ 800001f0: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 800001f4: 0020f133 and sp,ra,sp
+ 800001f8: 00f00eb7 lui t4,0xf00
+ 800001fc: 0f0e8e9b addiw t4,t4,240
+ 80000200: 00700193 li gp,7
+ 80000204: 45d11863 bne sp,t4,80000654 <fail>
+
+0000000080000208 <test_8>:
+ 80000208: 000100b7 lui ra,0x10
+ 8000020c: f010809b addiw ra,ra,-255
+ 80000210: 01009093 slli ra,ra,0x10
+ 80000214: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000218: 0010f0b3 and ra,ra,ra
+ 8000021c: 00010eb7 lui t4,0x10
+ 80000220: f01e8e9b addiw t4,t4,-255
+ 80000224: 010e9e93 slli t4,t4,0x10
+ 80000228: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 8000022c: 00800193 li gp,8
+ 80000230: 43d09263 bne ra,t4,80000654 <fail>
+
+0000000080000234 <test_9>:
+ 80000234: 00000213 li tp,0
+ 80000238: 000100b7 lui ra,0x10
+ 8000023c: f010809b addiw ra,ra,-255
+ 80000240: 01009093 slli ra,ra,0x10
+ 80000244: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000248: 0f0f1137 lui sp,0xf0f1
+ 8000024c: f0f1011b addiw sp,sp,-241
+ 80000250: 0020ff33 and t5,ra,sp
+ 80000254: 000f0313 mv t1,t5
+ 80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000025c: 00200293 li t0,2
+ 80000260: fc521ce3 bne tp,t0,80000238 <test_9+0x4>
+ 80000264: 0f001eb7 lui t4,0xf001
+ 80000268: f00e8e9b addiw t4,t4,-256
+ 8000026c: 00900193 li gp,9
+ 80000270: 3fd31263 bne t1,t4,80000654 <fail>
+
+0000000080000274 <test_10>:
+ 80000274: 00000213 li tp,0
+ 80000278: 0ff010b7 lui ra,0xff01
+ 8000027c: ff00809b addiw ra,ra,-16
+ 80000280: 000f1137 lui sp,0xf1
+ 80000284: f0f1011b addiw sp,sp,-241
+ 80000288: 00c11113 slli sp,sp,0xc
+ 8000028c: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 80000290: 0020ff33 and t5,ra,sp
+ 80000294: 00000013 nop
+ 80000298: 000f0313 mv t1,t5
+ 8000029c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a0: 00200293 li t0,2
+ 800002a4: fc521ae3 bne tp,t0,80000278 <test_10+0x4>
+ 800002a8: 00f00eb7 lui t4,0xf00
+ 800002ac: 0f0e8e9b addiw t4,t4,240
+ 800002b0: 00a00193 li gp,10
+ 800002b4: 3bd31063 bne t1,t4,80000654 <fail>
+
+00000000800002b8 <test_11>:
+ 800002b8: 00000213 li tp,0
+ 800002bc: 00ff00b7 lui ra,0xff0
+ 800002c0: 0ff0809b addiw ra,ra,255
+ 800002c4: 0f0f1137 lui sp,0xf0f1
+ 800002c8: f0f1011b addiw sp,sp,-241
+ 800002cc: 0020ff33 and t5,ra,sp
+ 800002d0: 00000013 nop
+ 800002d4: 00000013 nop
+ 800002d8: 000f0313 mv t1,t5
+ 800002dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002e0: 00200293 li t0,2
+ 800002e4: fc521ce3 bne tp,t0,800002bc <test_11+0x4>
+ 800002e8: 000f0eb7 lui t4,0xf0
+ 800002ec: 00fe8e9b addiw t4,t4,15
+ 800002f0: 00b00193 li gp,11
+ 800002f4: 37d31063 bne t1,t4,80000654 <fail>
+
+00000000800002f8 <test_12>:
+ 800002f8: 00000213 li tp,0
+ 800002fc: 000100b7 lui ra,0x10
+ 80000300: f010809b addiw ra,ra,-255
+ 80000304: 01009093 slli ra,ra,0x10
+ 80000308: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 8000030c: 0f0f1137 lui sp,0xf0f1
+ 80000310: f0f1011b addiw sp,sp,-241
+ 80000314: 0020ff33 and t5,ra,sp
+ 80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000031c: 00200293 li t0,2
+ 80000320: fc521ee3 bne tp,t0,800002fc <test_12+0x4>
+ 80000324: 0f001eb7 lui t4,0xf001
+ 80000328: f00e8e9b addiw t4,t4,-256
+ 8000032c: 00c00193 li gp,12
+ 80000330: 33df1263 bne t5,t4,80000654 <fail>
+
+0000000080000334 <test_13>:
+ 80000334: 00000213 li tp,0
+ 80000338: 0ff010b7 lui ra,0xff01
+ 8000033c: ff00809b addiw ra,ra,-16
+ 80000340: 000f1137 lui sp,0xf1
+ 80000344: f0f1011b addiw sp,sp,-241
+ 80000348: 00c11113 slli sp,sp,0xc
+ 8000034c: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 80000350: 00000013 nop
+ 80000354: 0020ff33 and t5,ra,sp
+ 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000035c: 00200293 li t0,2
+ 80000360: fc521ce3 bne tp,t0,80000338 <test_13+0x4>
+ 80000364: 00f00eb7 lui t4,0xf00
+ 80000368: 0f0e8e9b addiw t4,t4,240
+ 8000036c: 00d00193 li gp,13
+ 80000370: 2fdf1263 bne t5,t4,80000654 <fail>
+
+0000000080000374 <test_14>:
+ 80000374: 00000213 li tp,0
+ 80000378: 00ff00b7 lui ra,0xff0
+ 8000037c: 0ff0809b addiw ra,ra,255
+ 80000380: 0f0f1137 lui sp,0xf0f1
+ 80000384: f0f1011b addiw sp,sp,-241
+ 80000388: 00000013 nop
+ 8000038c: 00000013 nop
+ 80000390: 0020ff33 and t5,ra,sp
+ 80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000398: 00200293 li t0,2
+ 8000039c: fc521ee3 bne tp,t0,80000378 <test_14+0x4>
+ 800003a0: 000f0eb7 lui t4,0xf0
+ 800003a4: 00fe8e9b addiw t4,t4,15
+ 800003a8: 00e00193 li gp,14
+ 800003ac: 2bdf1463 bne t5,t4,80000654 <fail>
+
+00000000800003b0 <test_15>:
+ 800003b0: 00000213 li tp,0
+ 800003b4: 000100b7 lui ra,0x10
+ 800003b8: f010809b addiw ra,ra,-255
+ 800003bc: 01009093 slli ra,ra,0x10
+ 800003c0: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 800003c4: 00000013 nop
+ 800003c8: 0f0f1137 lui sp,0xf0f1
+ 800003cc: f0f1011b addiw sp,sp,-241
+ 800003d0: 0020ff33 and t5,ra,sp
+ 800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003d8: 00200293 li t0,2
+ 800003dc: fc521ce3 bne tp,t0,800003b4 <test_15+0x4>
+ 800003e0: 0f001eb7 lui t4,0xf001
+ 800003e4: f00e8e9b addiw t4,t4,-256
+ 800003e8: 00f00193 li gp,15
+ 800003ec: 27df1463 bne t5,t4,80000654 <fail>
+
+00000000800003f0 <test_16>:
+ 800003f0: 00000213 li tp,0
+ 800003f4: 0ff010b7 lui ra,0xff01
+ 800003f8: ff00809b addiw ra,ra,-16
+ 800003fc: 00000013 nop
+ 80000400: 000f1137 lui sp,0xf1
+ 80000404: f0f1011b addiw sp,sp,-241
+ 80000408: 00c11113 slli sp,sp,0xc
+ 8000040c: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 80000410: 00000013 nop
+ 80000414: 0020ff33 and t5,ra,sp
+ 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000041c: 00200293 li t0,2
+ 80000420: fc521ae3 bne tp,t0,800003f4 <test_16+0x4>
+ 80000424: 00f00eb7 lui t4,0xf00
+ 80000428: 0f0e8e9b addiw t4,t4,240
+ 8000042c: 01000193 li gp,16
+ 80000430: 23df1263 bne t5,t4,80000654 <fail>
+
+0000000080000434 <test_17>:
+ 80000434: 00000213 li tp,0
+ 80000438: 00ff00b7 lui ra,0xff0
+ 8000043c: 0ff0809b addiw ra,ra,255
+ 80000440: 00000013 nop
+ 80000444: 00000013 nop
+ 80000448: 0f0f1137 lui sp,0xf0f1
+ 8000044c: f0f1011b addiw sp,sp,-241
+ 80000450: 0020ff33 and t5,ra,sp
+ 80000454: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000458: 00200293 li t0,2
+ 8000045c: fc521ee3 bne tp,t0,80000438 <test_17+0x4>
+ 80000460: 000f0eb7 lui t4,0xf0
+ 80000464: 00fe8e9b addiw t4,t4,15
+ 80000468: 01100193 li gp,17
+ 8000046c: 1fdf1463 bne t5,t4,80000654 <fail>
+
+0000000080000470 <test_18>:
+ 80000470: 00000213 li tp,0
+ 80000474: 0f0f1137 lui sp,0xf0f1
+ 80000478: f0f1011b addiw sp,sp,-241
+ 8000047c: 000100b7 lui ra,0x10
+ 80000480: f010809b addiw ra,ra,-255
+ 80000484: 01009093 slli ra,ra,0x10
+ 80000488: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 8000048c: 0020ff33 and t5,ra,sp
+ 80000490: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000494: 00200293 li t0,2
+ 80000498: fc521ee3 bne tp,t0,80000474 <test_18+0x4>
+ 8000049c: 0f001eb7 lui t4,0xf001
+ 800004a0: f00e8e9b addiw t4,t4,-256
+ 800004a4: 01200193 li gp,18
+ 800004a8: 1bdf1663 bne t5,t4,80000654 <fail>
+
+00000000800004ac <test_19>:
+ 800004ac: 00000213 li tp,0
+ 800004b0: 000f1137 lui sp,0xf1
+ 800004b4: f0f1011b addiw sp,sp,-241
+ 800004b8: 00c11113 slli sp,sp,0xc
+ 800004bc: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 800004c0: 0ff010b7 lui ra,0xff01
+ 800004c4: ff00809b addiw ra,ra,-16
+ 800004c8: 00000013 nop
+ 800004cc: 0020ff33 and t5,ra,sp
+ 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004d4: 00200293 li t0,2
+ 800004d8: fc521ce3 bne tp,t0,800004b0 <test_19+0x4>
+ 800004dc: 00f00eb7 lui t4,0xf00
+ 800004e0: 0f0e8e9b addiw t4,t4,240
+ 800004e4: 01300193 li gp,19
+ 800004e8: 17df1663 bne t5,t4,80000654 <fail>
+
+00000000800004ec <test_20>:
+ 800004ec: 00000213 li tp,0
+ 800004f0: 0f0f1137 lui sp,0xf0f1
+ 800004f4: f0f1011b addiw sp,sp,-241
+ 800004f8: 00ff00b7 lui ra,0xff0
+ 800004fc: 0ff0809b addiw ra,ra,255
+ 80000500: 00000013 nop
+ 80000504: 00000013 nop
+ 80000508: 0020ff33 and t5,ra,sp
+ 8000050c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000510: 00200293 li t0,2
+ 80000514: fc521ee3 bne tp,t0,800004f0 <test_20+0x4>
+ 80000518: 000f0eb7 lui t4,0xf0
+ 8000051c: 00fe8e9b addiw t4,t4,15
+ 80000520: 01400193 li gp,20
+ 80000524: 13df1863 bne t5,t4,80000654 <fail>
+
+0000000080000528 <test_21>:
+ 80000528: 00000213 li tp,0
+ 8000052c: 0f0f1137 lui sp,0xf0f1
+ 80000530: f0f1011b addiw sp,sp,-241
+ 80000534: 00000013 nop
+ 80000538: 000100b7 lui ra,0x10
+ 8000053c: f010809b addiw ra,ra,-255
+ 80000540: 01009093 slli ra,ra,0x10
+ 80000544: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000548: 0020ff33 and t5,ra,sp
+ 8000054c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000550: 00200293 li t0,2
+ 80000554: fc521ce3 bne tp,t0,8000052c <test_21+0x4>
+ 80000558: 0f001eb7 lui t4,0xf001
+ 8000055c: f00e8e9b addiw t4,t4,-256
+ 80000560: 01500193 li gp,21
+ 80000564: 0fdf1863 bne t5,t4,80000654 <fail>
+
+0000000080000568 <test_22>:
+ 80000568: 00000213 li tp,0
+ 8000056c: 000f1137 lui sp,0xf1
+ 80000570: f0f1011b addiw sp,sp,-241
+ 80000574: 00c11113 slli sp,sp,0xc
+ 80000578: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 8000057c: 00000013 nop
+ 80000580: 0ff010b7 lui ra,0xff01
+ 80000584: ff00809b addiw ra,ra,-16
+ 80000588: 00000013 nop
+ 8000058c: 0020ff33 and t5,ra,sp
+ 80000590: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000594: 00200293 li t0,2
+ 80000598: fc521ae3 bne tp,t0,8000056c <test_22+0x4>
+ 8000059c: 00f00eb7 lui t4,0xf00
+ 800005a0: 0f0e8e9b addiw t4,t4,240
+ 800005a4: 01600193 li gp,22
+ 800005a8: 0bdf1663 bne t5,t4,80000654 <fail>
+
+00000000800005ac <test_23>:
+ 800005ac: 00000213 li tp,0
+ 800005b0: 0f0f1137 lui sp,0xf0f1
+ 800005b4: f0f1011b addiw sp,sp,-241
+ 800005b8: 00000013 nop
+ 800005bc: 00000013 nop
+ 800005c0: 00ff00b7 lui ra,0xff0
+ 800005c4: 0ff0809b addiw ra,ra,255
+ 800005c8: 0020ff33 and t5,ra,sp
+ 800005cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005d0: 00200293 li t0,2
+ 800005d4: fc521ee3 bne tp,t0,800005b0 <test_23+0x4>
+ 800005d8: 000f0eb7 lui t4,0xf0
+ 800005dc: 00fe8e9b addiw t4,t4,15
+ 800005e0: 01700193 li gp,23
+ 800005e4: 07df1863 bne t5,t4,80000654 <fail>
+
+00000000800005e8 <test_24>:
+ 800005e8: 000100b7 lui ra,0x10
+ 800005ec: f010809b addiw ra,ra,-255
+ 800005f0: 01009093 slli ra,ra,0x10
+ 800005f4: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 800005f8: 00107133 and sp,zero,ra
+ 800005fc: 00000e93 li t4,0
+ 80000600: 01800193 li gp,24
+ 80000604: 05d11863 bne sp,t4,80000654 <fail>
+
+0000000080000608 <test_25>:
+ 80000608: 00ff00b7 lui ra,0xff0
+ 8000060c: 0ff0809b addiw ra,ra,255
+ 80000610: 0000f133 and sp,ra,zero
+ 80000614: 00000e93 li t4,0
+ 80000618: 01900193 li gp,25
+ 8000061c: 03d11c63 bne sp,t4,80000654 <fail>
+
+0000000080000620 <test_26>:
+ 80000620: 000070b3 and ra,zero,zero
+ 80000624: 00000e93 li t4,0
+ 80000628: 01a00193 li gp,26
+ 8000062c: 03d09463 bne ra,t4,80000654 <fail>
+
+0000000080000630 <test_27>:
+ 80000630: 111110b7 lui ra,0x11111
+ 80000634: 1110809b addiw ra,ra,273
+ 80000638: 22222137 lui sp,0x22222
+ 8000063c: 2221011b addiw sp,sp,546
+ 80000640: 0020f033 and zero,ra,sp
+ 80000644: 00000e93 li t4,0
+ 80000648: 01b00193 li gp,27
+ 8000064c: 01d01463 bne zero,t4,80000654 <fail>
+ 80000650: 00301c63 bne zero,gp,80000668 <pass>
+
+0000000080000654 <fail>:
+ 80000654: 0ff0000f fence
+ 80000658: 00018063 beqz gp,80000658 <fail+0x4>
+ 8000065c: 00119193 slli gp,gp,0x1
+ 80000660: 0011e193 ori gp,gp,1
+ 80000664: 00000073 ecall
+
+0000000080000668 <pass>:
+ 80000668: 0ff0000f fence
+ 8000066c: 00100193 li gp,1
+ 80000670: 00000073 ecall
+ 80000674: c0001073 unimp
+ 80000678: 0000 unimp
+ 8000067a: 0000 unimp
+ 8000067c: 0000 unimp
+ 8000067e: 0000 unimp
+ 80000680: 0000 unimp
+ 80000682: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-and.elf b/test/riscv/tests/rv64ui-p-and.elf
new file mode 100755
index 00000000..66d59699
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-and.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-andi.dump b/test/riscv/tests/rv64ui-p-andi.dump
new file mode 100644
index 00000000..2349dd1c
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-andi.dump
@@ -0,0 +1,265 @@
+
+rv64ui-p-andi: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 000100b7 lui ra,0x10
+ 80000100: f010809b addiw ra,ra,-255
+ 80000104: 01009093 slli ra,ra,0x10
+ 80000108: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 8000010c: f0f0ff13 andi t5,ra,-241
+ 80000110: 00010eb7 lui t4,0x10
+ 80000114: f01e8e9b addiw t4,t4,-255
+ 80000118: 010e9e93 slli t4,t4,0x10
+ 8000011c: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 80000120: 00200193 li gp,2
+ 80000124: 1ddf1863 bne t5,t4,800002f4 <fail>
+
+0000000080000128 <test_3>:
+ 80000128: 0ff010b7 lui ra,0xff01
+ 8000012c: ff00809b addiw ra,ra,-16
+ 80000130: 0f00ff13 andi t5,ra,240
+ 80000134: 0f000e93 li t4,240
+ 80000138: 00300193 li gp,3
+ 8000013c: 1bdf1c63 bne t5,t4,800002f4 <fail>
+
+0000000080000140 <test_4>:
+ 80000140: 00ff00b7 lui ra,0xff0
+ 80000144: 0ff0809b addiw ra,ra,255
+ 80000148: 70f0ff13 andi t5,ra,1807
+ 8000014c: 00f00e93 li t4,15
+ 80000150: 00400193 li gp,4
+ 80000154: 1bdf1063 bne t5,t4,800002f4 <fail>
+
+0000000080000158 <test_5>:
+ 80000158: 000f00b7 lui ra,0xf0
+ 8000015c: 0ff0809b addiw ra,ra,255
+ 80000160: 00c09093 slli ra,ra,0xc
+ 80000164: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1>
+ 80000168: 0f00ff13 andi t5,ra,240
+ 8000016c: 00000e93 li t4,0
+ 80000170: 00500193 li gp,5
+ 80000174: 19df1063 bne t5,t4,800002f4 <fail>
+
+0000000080000178 <test_6>:
+ 80000178: 000100b7 lui ra,0x10
+ 8000017c: f010809b addiw ra,ra,-255
+ 80000180: 01009093 slli ra,ra,0x10
+ 80000184: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000188: 0f00f093 andi ra,ra,240
+ 8000018c: 00000e93 li t4,0
+ 80000190: 00600193 li gp,6
+ 80000194: 17d09063 bne ra,t4,800002f4 <fail>
+
+0000000080000198 <test_7>:
+ 80000198: 00000213 li tp,0
+ 8000019c: 0ff010b7 lui ra,0xff01
+ 800001a0: ff00809b addiw ra,ra,-16
+ 800001a4: 70f0ff13 andi t5,ra,1807
+ 800001a8: 000f0313 mv t1,t5
+ 800001ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800001b0: 00200293 li t0,2
+ 800001b4: fe5214e3 bne tp,t0,8000019c <test_7+0x4>
+ 800001b8: 70000e93 li t4,1792
+ 800001bc: 00700193 li gp,7
+ 800001c0: 13d31a63 bne t1,t4,800002f4 <fail>
+
+00000000800001c4 <test_8>:
+ 800001c4: 00000213 li tp,0
+ 800001c8: 00ff00b7 lui ra,0xff0
+ 800001cc: 0ff0809b addiw ra,ra,255
+ 800001d0: 0f00ff13 andi t5,ra,240
+ 800001d4: 00000013 nop
+ 800001d8: 000f0313 mv t1,t5
+ 800001dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800001e0: 00200293 li t0,2
+ 800001e4: fe5212e3 bne tp,t0,800001c8 <test_8+0x4>
+ 800001e8: 0f000e93 li t4,240
+ 800001ec: 00800193 li gp,8
+ 800001f0: 11d31263 bne t1,t4,800002f4 <fail>
+
+00000000800001f4 <test_9>:
+ 800001f4: 00000213 li tp,0
+ 800001f8: 000f00b7 lui ra,0xf0
+ 800001fc: 0ff0809b addiw ra,ra,255
+ 80000200: 00c09093 slli ra,ra,0xc
+ 80000204: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1>
+ 80000208: f0f0ff13 andi t5,ra,-241
+ 8000020c: 00000013 nop
+ 80000210: 00000013 nop
+ 80000214: 000f0313 mv t1,t5
+ 80000218: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000021c: 00200293 li t0,2
+ 80000220: fc521ce3 bne tp,t0,800001f8 <test_9+0x4>
+ 80000224: 000f0eb7 lui t4,0xf0
+ 80000228: 0ffe8e9b addiw t4,t4,255
+ 8000022c: 00ce9e93 slli t4,t4,0xc
+ 80000230: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 80000234: 00900193 li gp,9
+ 80000238: 0bd31e63 bne t1,t4,800002f4 <fail>
+
+000000008000023c <test_10>:
+ 8000023c: 00000213 li tp,0
+ 80000240: 0ff010b7 lui ra,0xff01
+ 80000244: ff00809b addiw ra,ra,-16
+ 80000248: 70f0ff13 andi t5,ra,1807
+ 8000024c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000250: 00200293 li t0,2
+ 80000254: fe5216e3 bne tp,t0,80000240 <test_10+0x4>
+ 80000258: 70000e93 li t4,1792
+ 8000025c: 00a00193 li gp,10
+ 80000260: 09df1a63 bne t5,t4,800002f4 <fail>
+
+0000000080000264 <test_11>:
+ 80000264: 00000213 li tp,0
+ 80000268: 00ff00b7 lui ra,0xff0
+ 8000026c: 0ff0809b addiw ra,ra,255
+ 80000270: 00000013 nop
+ 80000274: 0f00ff13 andi t5,ra,240
+ 80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000027c: 00200293 li t0,2
+ 80000280: fe5214e3 bne tp,t0,80000268 <test_11+0x4>
+ 80000284: 0f000e93 li t4,240
+ 80000288: 00b00193 li gp,11
+ 8000028c: 07df1463 bne t5,t4,800002f4 <fail>
+
+0000000080000290 <test_12>:
+ 80000290: 00000213 li tp,0
+ 80000294: 000f00b7 lui ra,0xf0
+ 80000298: 0ff0809b addiw ra,ra,255
+ 8000029c: 00c09093 slli ra,ra,0xc
+ 800002a0: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1>
+ 800002a4: 00000013 nop
+ 800002a8: 00000013 nop
+ 800002ac: 70f0ff13 andi t5,ra,1807
+ 800002b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002b4: 00200293 li t0,2
+ 800002b8: fc521ee3 bne tp,t0,80000294 <test_12+0x4>
+ 800002bc: 00f00e93 li t4,15
+ 800002c0: 00c00193 li gp,12
+ 800002c4: 03df1863 bne t5,t4,800002f4 <fail>
+
+00000000800002c8 <test_13>:
+ 800002c8: 0f007093 andi ra,zero,240
+ 800002cc: 00000e93 li t4,0
+ 800002d0: 00d00193 li gp,13
+ 800002d4: 03d09063 bne ra,t4,800002f4 <fail>
+
+00000000800002d8 <test_14>:
+ 800002d8: 00ff00b7 lui ra,0xff0
+ 800002dc: 0ff0809b addiw ra,ra,255
+ 800002e0: 70f0f013 andi zero,ra,1807
+ 800002e4: 00000e93 li t4,0
+ 800002e8: 00e00193 li gp,14
+ 800002ec: 01d01463 bne zero,t4,800002f4 <fail>
+ 800002f0: 00301c63 bne zero,gp,80000308 <pass>
+
+00000000800002f4 <fail>:
+ 800002f4: 0ff0000f fence
+ 800002f8: 00018063 beqz gp,800002f8 <fail+0x4>
+ 800002fc: 00119193 slli gp,gp,0x1
+ 80000300: 0011e193 ori gp,gp,1
+ 80000304: 00000073 ecall
+
+0000000080000308 <pass>:
+ 80000308: 0ff0000f fence
+ 8000030c: 00100193 li gp,1
+ 80000310: 00000073 ecall
+ 80000314: c0001073 unimp
+ 80000318: 0000 unimp
+ 8000031a: 0000 unimp
+ 8000031c: 0000 unimp
+ 8000031e: 0000 unimp
+ 80000320: 0000 unimp
+ 80000322: 0000 unimp
+ 80000324: 0000 unimp
+ 80000326: 0000 unimp
+ 80000328: 0000 unimp
+ 8000032a: 0000 unimp
+ 8000032c: 0000 unimp
+ 8000032e: 0000 unimp
+ 80000330: 0000 unimp
+ 80000332: 0000 unimp
+ 80000334: 0000 unimp
+ 80000336: 0000 unimp
+ 80000338: 0000 unimp
+ 8000033a: 0000 unimp
+ 8000033c: 0000 unimp
+ 8000033e: 0000 unimp
+ 80000340: 0000 unimp
+ 80000342: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-andi.elf b/test/riscv/tests/rv64ui-p-andi.elf
new file mode 100755
index 00000000..2886a877
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-andi.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-auipc.dump b/test/riscv/tests/rv64ui-p-auipc.dump
new file mode 100644
index 00000000..0302a06d
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-auipc.dump
@@ -0,0 +1,125 @@
+
+rv64ui-p-auipc: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000013 nop
+ 80000100: 00002517 auipc a0,0x2
+ 80000104: 71c50513 addi a0,a0,1820 # 8000281c <_end+0x81c>
+ 80000108: 004005ef jal a1,8000010c <test_2+0x10>
+ 8000010c: 40b50533 sub a0,a0,a1
+ 80000110: 00002eb7 lui t4,0x2
+ 80000114: 710e8e9b addiw t4,t4,1808
+ 80000118: 00200193 li gp,2
+ 8000011c: 03d51463 bne a0,t4,80000144 <fail>
+
+0000000080000120 <test_3>:
+ 80000120: ffffe517 auipc a0,0xffffe
+ 80000124: 8fc50513 addi a0,a0,-1796 # 7fffda1c <_start-0x25e4>
+ 80000128: 004005ef jal a1,8000012c <test_3+0xc>
+ 8000012c: 40b50533 sub a0,a0,a1
+ 80000130: ffffeeb7 lui t4,0xffffe
+ 80000134: 8f0e8e9b addiw t4,t4,-1808
+ 80000138: 00300193 li gp,3
+ 8000013c: 01d51463 bne a0,t4,80000144 <fail>
+ 80000140: 00301c63 bne zero,gp,80000158 <pass>
+
+0000000080000144 <fail>:
+ 80000144: 0ff0000f fence
+ 80000148: 00018063 beqz gp,80000148 <fail+0x4>
+ 8000014c: 00119193 slli gp,gp,0x1
+ 80000150: 0011e193 ori gp,gp,1
+ 80000154: 00000073 ecall
+
+0000000080000158 <pass>:
+ 80000158: 0ff0000f fence
+ 8000015c: 00100193 li gp,1
+ 80000160: 00000073 ecall
+ 80000164: c0001073 unimp
+ 80000168: 0000 unimp
+ 8000016a: 0000 unimp
+ 8000016c: 0000 unimp
+ 8000016e: 0000 unimp
+ 80000170: 0000 unimp
+ 80000172: 0000 unimp
+ 80000174: 0000 unimp
+ 80000176: 0000 unimp
+ 80000178: 0000 unimp
+ 8000017a: 0000 unimp
+ 8000017c: 0000 unimp
+ 8000017e: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-auipc.elf b/test/riscv/tests/rv64ui-p-auipc.elf
new file mode 100755
index 00000000..4ef544d1
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-auipc.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-beq.dump b/test/riscv/tests/rv64ui-p-beq.dump
new file mode 100644
index 00000000..d09e1753
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-beq.dump
@@ -0,0 +1,325 @@
+
+rv64ui-p-beq: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00200193 li gp,2
+ 80000100: 00000093 li ra,0
+ 80000104: 00000113 li sp,0
+ 80000108: 00208663 beq ra,sp,80000114 <test_2+0x18>
+ 8000010c: 2a301863 bne zero,gp,800003bc <fail>
+ 80000110: 00301663 bne zero,gp,8000011c <test_3>
+ 80000114: fe208ee3 beq ra,sp,80000110 <test_2+0x14>
+ 80000118: 2a301263 bne zero,gp,800003bc <fail>
+
+000000008000011c <test_3>:
+ 8000011c: 00300193 li gp,3
+ 80000120: 00100093 li ra,1
+ 80000124: 00100113 li sp,1
+ 80000128: 00208663 beq ra,sp,80000134 <test_3+0x18>
+ 8000012c: 28301863 bne zero,gp,800003bc <fail>
+ 80000130: 00301663 bne zero,gp,8000013c <test_4>
+ 80000134: fe208ee3 beq ra,sp,80000130 <test_3+0x14>
+ 80000138: 28301263 bne zero,gp,800003bc <fail>
+
+000000008000013c <test_4>:
+ 8000013c: 00400193 li gp,4
+ 80000140: fff00093 li ra,-1
+ 80000144: fff00113 li sp,-1
+ 80000148: 00208663 beq ra,sp,80000154 <test_4+0x18>
+ 8000014c: 26301863 bne zero,gp,800003bc <fail>
+ 80000150: 00301663 bne zero,gp,8000015c <test_5>
+ 80000154: fe208ee3 beq ra,sp,80000150 <test_4+0x14>
+ 80000158: 26301263 bne zero,gp,800003bc <fail>
+
+000000008000015c <test_5>:
+ 8000015c: 00500193 li gp,5
+ 80000160: 00000093 li ra,0
+ 80000164: 00100113 li sp,1
+ 80000168: 00208463 beq ra,sp,80000170 <test_5+0x14>
+ 8000016c: 00301463 bne zero,gp,80000174 <test_5+0x18>
+ 80000170: 24301663 bne zero,gp,800003bc <fail>
+ 80000174: fe208ee3 beq ra,sp,80000170 <test_5+0x14>
+
+0000000080000178 <test_6>:
+ 80000178: 00600193 li gp,6
+ 8000017c: 00100093 li ra,1
+ 80000180: 00000113 li sp,0
+ 80000184: 00208463 beq ra,sp,8000018c <test_6+0x14>
+ 80000188: 00301463 bne zero,gp,80000190 <test_6+0x18>
+ 8000018c: 22301863 bne zero,gp,800003bc <fail>
+ 80000190: fe208ee3 beq ra,sp,8000018c <test_6+0x14>
+
+0000000080000194 <test_7>:
+ 80000194: 00700193 li gp,7
+ 80000198: fff00093 li ra,-1
+ 8000019c: 00100113 li sp,1
+ 800001a0: 00208463 beq ra,sp,800001a8 <test_7+0x14>
+ 800001a4: 00301463 bne zero,gp,800001ac <test_7+0x18>
+ 800001a8: 20301a63 bne zero,gp,800003bc <fail>
+ 800001ac: fe208ee3 beq ra,sp,800001a8 <test_7+0x14>
+
+00000000800001b0 <test_8>:
+ 800001b0: 00800193 li gp,8
+ 800001b4: 00100093 li ra,1
+ 800001b8: fff00113 li sp,-1
+ 800001bc: 00208463 beq ra,sp,800001c4 <test_8+0x14>
+ 800001c0: 00301463 bne zero,gp,800001c8 <test_8+0x18>
+ 800001c4: 1e301c63 bne zero,gp,800003bc <fail>
+ 800001c8: fe208ee3 beq ra,sp,800001c4 <test_8+0x14>
+
+00000000800001cc <test_9>:
+ 800001cc: 00900193 li gp,9
+ 800001d0: 00000213 li tp,0
+ 800001d4: 00000093 li ra,0
+ 800001d8: fff00113 li sp,-1
+ 800001dc: 1e208063 beq ra,sp,800003bc <fail>
+ 800001e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800001e4: 00200293 li t0,2
+ 800001e8: fe5216e3 bne tp,t0,800001d4 <test_9+0x8>
+
+00000000800001ec <test_10>:
+ 800001ec: 00a00193 li gp,10
+ 800001f0: 00000213 li tp,0
+ 800001f4: 00000093 li ra,0
+ 800001f8: fff00113 li sp,-1
+ 800001fc: 00000013 nop
+ 80000200: 1a208e63 beq ra,sp,800003bc <fail>
+ 80000204: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000208: 00200293 li t0,2
+ 8000020c: fe5214e3 bne tp,t0,800001f4 <test_10+0x8>
+
+0000000080000210 <test_11>:
+ 80000210: 00b00193 li gp,11
+ 80000214: 00000213 li tp,0
+ 80000218: 00000093 li ra,0
+ 8000021c: fff00113 li sp,-1
+ 80000220: 00000013 nop
+ 80000224: 00000013 nop
+ 80000228: 18208a63 beq ra,sp,800003bc <fail>
+ 8000022c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000230: 00200293 li t0,2
+ 80000234: fe5212e3 bne tp,t0,80000218 <test_11+0x8>
+
+0000000080000238 <test_12>:
+ 80000238: 00c00193 li gp,12
+ 8000023c: 00000213 li tp,0
+ 80000240: 00000093 li ra,0
+ 80000244: 00000013 nop
+ 80000248: fff00113 li sp,-1
+ 8000024c: 16208863 beq ra,sp,800003bc <fail>
+ 80000250: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000254: 00200293 li t0,2
+ 80000258: fe5214e3 bne tp,t0,80000240 <test_12+0x8>
+
+000000008000025c <test_13>:
+ 8000025c: 00d00193 li gp,13
+ 80000260: 00000213 li tp,0
+ 80000264: 00000093 li ra,0
+ 80000268: 00000013 nop
+ 8000026c: fff00113 li sp,-1
+ 80000270: 00000013 nop
+ 80000274: 14208463 beq ra,sp,800003bc <fail>
+ 80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000027c: 00200293 li t0,2
+ 80000280: fe5212e3 bne tp,t0,80000264 <test_13+0x8>
+
+0000000080000284 <test_14>:
+ 80000284: 00e00193 li gp,14
+ 80000288: 00000213 li tp,0
+ 8000028c: 00000093 li ra,0
+ 80000290: 00000013 nop
+ 80000294: 00000013 nop
+ 80000298: fff00113 li sp,-1
+ 8000029c: 12208063 beq ra,sp,800003bc <fail>
+ 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a4: 00200293 li t0,2
+ 800002a8: fe5212e3 bne tp,t0,8000028c <test_14+0x8>
+
+00000000800002ac <test_15>:
+ 800002ac: 00f00193 li gp,15
+ 800002b0: 00000213 li tp,0
+ 800002b4: 00000093 li ra,0
+ 800002b8: fff00113 li sp,-1
+ 800002bc: 10208063 beq ra,sp,800003bc <fail>
+ 800002c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002c4: 00200293 li t0,2
+ 800002c8: fe5216e3 bne tp,t0,800002b4 <test_15+0x8>
+
+00000000800002cc <test_16>:
+ 800002cc: 01000193 li gp,16
+ 800002d0: 00000213 li tp,0
+ 800002d4: 00000093 li ra,0
+ 800002d8: fff00113 li sp,-1
+ 800002dc: 00000013 nop
+ 800002e0: 0c208e63 beq ra,sp,800003bc <fail>
+ 800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002e8: 00200293 li t0,2
+ 800002ec: fe5214e3 bne tp,t0,800002d4 <test_16+0x8>
+
+00000000800002f0 <test_17>:
+ 800002f0: 01100193 li gp,17
+ 800002f4: 00000213 li tp,0
+ 800002f8: 00000093 li ra,0
+ 800002fc: fff00113 li sp,-1
+ 80000300: 00000013 nop
+ 80000304: 00000013 nop
+ 80000308: 0a208a63 beq ra,sp,800003bc <fail>
+ 8000030c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000310: 00200293 li t0,2
+ 80000314: fe5212e3 bne tp,t0,800002f8 <test_17+0x8>
+
+0000000080000318 <test_18>:
+ 80000318: 01200193 li gp,18
+ 8000031c: 00000213 li tp,0
+ 80000320: 00000093 li ra,0
+ 80000324: 00000013 nop
+ 80000328: fff00113 li sp,-1
+ 8000032c: 08208863 beq ra,sp,800003bc <fail>
+ 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000334: 00200293 li t0,2
+ 80000338: fe5214e3 bne tp,t0,80000320 <test_18+0x8>
+
+000000008000033c <test_19>:
+ 8000033c: 01300193 li gp,19
+ 80000340: 00000213 li tp,0
+ 80000344: 00000093 li ra,0
+ 80000348: 00000013 nop
+ 8000034c: fff00113 li sp,-1
+ 80000350: 00000013 nop
+ 80000354: 06208463 beq ra,sp,800003bc <fail>
+ 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000035c: 00200293 li t0,2
+ 80000360: fe5212e3 bne tp,t0,80000344 <test_19+0x8>
+
+0000000080000364 <test_20>:
+ 80000364: 01400193 li gp,20
+ 80000368: 00000213 li tp,0
+ 8000036c: 00000093 li ra,0
+ 80000370: 00000013 nop
+ 80000374: 00000013 nop
+ 80000378: fff00113 li sp,-1
+ 8000037c: 04208063 beq ra,sp,800003bc <fail>
+ 80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000384: 00200293 li t0,2
+ 80000388: fe5212e3 bne tp,t0,8000036c <test_20+0x8>
+
+000000008000038c <test_21>:
+ 8000038c: 00100093 li ra,1
+ 80000390: 00000a63 beqz zero,800003a4 <test_21+0x18>
+ 80000394: 00108093 addi ra,ra,1
+ 80000398: 00108093 addi ra,ra,1
+ 8000039c: 00108093 addi ra,ra,1
+ 800003a0: 00108093 addi ra,ra,1
+ 800003a4: 00108093 addi ra,ra,1
+ 800003a8: 00108093 addi ra,ra,1
+ 800003ac: 00300e93 li t4,3
+ 800003b0: 01500193 li gp,21
+ 800003b4: 01d09463 bne ra,t4,800003bc <fail>
+ 800003b8: 00301c63 bne zero,gp,800003d0 <pass>
+
+00000000800003bc <fail>:
+ 800003bc: 0ff0000f fence
+ 800003c0: 00018063 beqz gp,800003c0 <fail+0x4>
+ 800003c4: 00119193 slli gp,gp,0x1
+ 800003c8: 0011e193 ori gp,gp,1
+ 800003cc: 00000073 ecall
+
+00000000800003d0 <pass>:
+ 800003d0: 0ff0000f fence
+ 800003d4: 00100193 li gp,1
+ 800003d8: 00000073 ecall
+ 800003dc: c0001073 unimp
+ 800003e0: 0000 unimp
+ 800003e2: 0000 unimp
+ 800003e4: 0000 unimp
+ 800003e6: 0000 unimp
+ 800003e8: 0000 unimp
+ 800003ea: 0000 unimp
+ 800003ec: 0000 unimp
+ 800003ee: 0000 unimp
+ 800003f0: 0000 unimp
+ 800003f2: 0000 unimp
+ 800003f4: 0000 unimp
+ 800003f6: 0000 unimp
+ 800003f8: 0000 unimp
+ 800003fa: 0000 unimp
+ 800003fc: 0000 unimp
+ 800003fe: 0000 unimp
+ 80000400: 0000 unimp
+ 80000402: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-beq.elf b/test/riscv/tests/rv64ui-p-beq.elf
new file mode 100755
index 00000000..38481b96
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-beq.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-bge.dump b/test/riscv/tests/rv64ui-p-bge.dump
new file mode 100644
index 00000000..bd863ee8
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-bge.dump
@@ -0,0 +1,339 @@
+
+rv64ui-p-bge: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00200193 li gp,2
+ 80000100: 00000093 li ra,0
+ 80000104: 00000113 li sp,0
+ 80000108: 0020d663 ble sp,ra,80000114 <test_2+0x18>
+ 8000010c: 30301863 bne zero,gp,8000041c <fail>
+ 80000110: 00301663 bne zero,gp,8000011c <test_3>
+ 80000114: fe20dee3 ble sp,ra,80000110 <test_2+0x14>
+ 80000118: 30301263 bne zero,gp,8000041c <fail>
+
+000000008000011c <test_3>:
+ 8000011c: 00300193 li gp,3
+ 80000120: 00100093 li ra,1
+ 80000124: 00100113 li sp,1
+ 80000128: 0020d663 ble sp,ra,80000134 <test_3+0x18>
+ 8000012c: 2e301863 bne zero,gp,8000041c <fail>
+ 80000130: 00301663 bne zero,gp,8000013c <test_4>
+ 80000134: fe20dee3 ble sp,ra,80000130 <test_3+0x14>
+ 80000138: 2e301263 bne zero,gp,8000041c <fail>
+
+000000008000013c <test_4>:
+ 8000013c: 00400193 li gp,4
+ 80000140: fff00093 li ra,-1
+ 80000144: fff00113 li sp,-1
+ 80000148: 0020d663 ble sp,ra,80000154 <test_4+0x18>
+ 8000014c: 2c301863 bne zero,gp,8000041c <fail>
+ 80000150: 00301663 bne zero,gp,8000015c <test_5>
+ 80000154: fe20dee3 ble sp,ra,80000150 <test_4+0x14>
+ 80000158: 2c301263 bne zero,gp,8000041c <fail>
+
+000000008000015c <test_5>:
+ 8000015c: 00500193 li gp,5
+ 80000160: 00100093 li ra,1
+ 80000164: 00000113 li sp,0
+ 80000168: 0020d663 ble sp,ra,80000174 <test_5+0x18>
+ 8000016c: 2a301863 bne zero,gp,8000041c <fail>
+ 80000170: 00301663 bne zero,gp,8000017c <test_6>
+ 80000174: fe20dee3 ble sp,ra,80000170 <test_5+0x14>
+ 80000178: 2a301263 bne zero,gp,8000041c <fail>
+
+000000008000017c <test_6>:
+ 8000017c: 00600193 li gp,6
+ 80000180: 00100093 li ra,1
+ 80000184: fff00113 li sp,-1
+ 80000188: 0020d663 ble sp,ra,80000194 <test_6+0x18>
+ 8000018c: 28301863 bne zero,gp,8000041c <fail>
+ 80000190: 00301663 bne zero,gp,8000019c <test_7>
+ 80000194: fe20dee3 ble sp,ra,80000190 <test_6+0x14>
+ 80000198: 28301263 bne zero,gp,8000041c <fail>
+
+000000008000019c <test_7>:
+ 8000019c: 00700193 li gp,7
+ 800001a0: fff00093 li ra,-1
+ 800001a4: ffe00113 li sp,-2
+ 800001a8: 0020d663 ble sp,ra,800001b4 <test_7+0x18>
+ 800001ac: 26301863 bne zero,gp,8000041c <fail>
+ 800001b0: 00301663 bne zero,gp,800001bc <test_8>
+ 800001b4: fe20dee3 ble sp,ra,800001b0 <test_7+0x14>
+ 800001b8: 26301263 bne zero,gp,8000041c <fail>
+
+00000000800001bc <test_8>:
+ 800001bc: 00800193 li gp,8
+ 800001c0: 00000093 li ra,0
+ 800001c4: 00100113 li sp,1
+ 800001c8: 0020d463 ble sp,ra,800001d0 <test_8+0x14>
+ 800001cc: 00301463 bne zero,gp,800001d4 <test_8+0x18>
+ 800001d0: 24301663 bne zero,gp,8000041c <fail>
+ 800001d4: fe20dee3 ble sp,ra,800001d0 <test_8+0x14>
+
+00000000800001d8 <test_9>:
+ 800001d8: 00900193 li gp,9
+ 800001dc: fff00093 li ra,-1
+ 800001e0: 00100113 li sp,1
+ 800001e4: 0020d463 ble sp,ra,800001ec <test_9+0x14>
+ 800001e8: 00301463 bne zero,gp,800001f0 <test_9+0x18>
+ 800001ec: 22301863 bne zero,gp,8000041c <fail>
+ 800001f0: fe20dee3 ble sp,ra,800001ec <test_9+0x14>
+
+00000000800001f4 <test_10>:
+ 800001f4: 00a00193 li gp,10
+ 800001f8: ffe00093 li ra,-2
+ 800001fc: fff00113 li sp,-1
+ 80000200: 0020d463 ble sp,ra,80000208 <test_10+0x14>
+ 80000204: 00301463 bne zero,gp,8000020c <test_10+0x18>
+ 80000208: 20301a63 bne zero,gp,8000041c <fail>
+ 8000020c: fe20dee3 ble sp,ra,80000208 <test_10+0x14>
+
+0000000080000210 <test_11>:
+ 80000210: 00b00193 li gp,11
+ 80000214: ffe00093 li ra,-2
+ 80000218: 00100113 li sp,1
+ 8000021c: 0020d463 ble sp,ra,80000224 <test_11+0x14>
+ 80000220: 00301463 bne zero,gp,80000228 <test_11+0x18>
+ 80000224: 1e301c63 bne zero,gp,8000041c <fail>
+ 80000228: fe20dee3 ble sp,ra,80000224 <test_11+0x14>
+
+000000008000022c <test_12>:
+ 8000022c: 00c00193 li gp,12
+ 80000230: 00000213 li tp,0
+ 80000234: fff00093 li ra,-1
+ 80000238: 00000113 li sp,0
+ 8000023c: 1e20d063 ble sp,ra,8000041c <fail>
+ 80000240: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000244: 00200293 li t0,2
+ 80000248: fe5216e3 bne tp,t0,80000234 <test_12+0x8>
+
+000000008000024c <test_13>:
+ 8000024c: 00d00193 li gp,13
+ 80000250: 00000213 li tp,0
+ 80000254: fff00093 li ra,-1
+ 80000258: 00000113 li sp,0
+ 8000025c: 00000013 nop
+ 80000260: 1a20de63 ble sp,ra,8000041c <fail>
+ 80000264: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000268: 00200293 li t0,2
+ 8000026c: fe5214e3 bne tp,t0,80000254 <test_13+0x8>
+
+0000000080000270 <test_14>:
+ 80000270: 00e00193 li gp,14
+ 80000274: 00000213 li tp,0
+ 80000278: fff00093 li ra,-1
+ 8000027c: 00000113 li sp,0
+ 80000280: 00000013 nop
+ 80000284: 00000013 nop
+ 80000288: 1820da63 ble sp,ra,8000041c <fail>
+ 8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000290: 00200293 li t0,2
+ 80000294: fe5212e3 bne tp,t0,80000278 <test_14+0x8>
+
+0000000080000298 <test_15>:
+ 80000298: 00f00193 li gp,15
+ 8000029c: 00000213 li tp,0
+ 800002a0: fff00093 li ra,-1
+ 800002a4: 00000013 nop
+ 800002a8: 00000113 li sp,0
+ 800002ac: 1620d863 ble sp,ra,8000041c <fail>
+ 800002b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002b4: 00200293 li t0,2
+ 800002b8: fe5214e3 bne tp,t0,800002a0 <test_15+0x8>
+
+00000000800002bc <test_16>:
+ 800002bc: 01000193 li gp,16
+ 800002c0: 00000213 li tp,0
+ 800002c4: fff00093 li ra,-1
+ 800002c8: 00000013 nop
+ 800002cc: 00000113 li sp,0
+ 800002d0: 00000013 nop
+ 800002d4: 1420d463 ble sp,ra,8000041c <fail>
+ 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002dc: 00200293 li t0,2
+ 800002e0: fe5212e3 bne tp,t0,800002c4 <test_16+0x8>
+
+00000000800002e4 <test_17>:
+ 800002e4: 01100193 li gp,17
+ 800002e8: 00000213 li tp,0
+ 800002ec: fff00093 li ra,-1
+ 800002f0: 00000013 nop
+ 800002f4: 00000013 nop
+ 800002f8: 00000113 li sp,0
+ 800002fc: 1220d063 ble sp,ra,8000041c <fail>
+ 80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000304: 00200293 li t0,2
+ 80000308: fe5212e3 bne tp,t0,800002ec <test_17+0x8>
+
+000000008000030c <test_18>:
+ 8000030c: 01200193 li gp,18
+ 80000310: 00000213 li tp,0
+ 80000314: fff00093 li ra,-1
+ 80000318: 00000113 li sp,0
+ 8000031c: 1020d063 ble sp,ra,8000041c <fail>
+ 80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000324: 00200293 li t0,2
+ 80000328: fe5216e3 bne tp,t0,80000314 <test_18+0x8>
+
+000000008000032c <test_19>:
+ 8000032c: 01300193 li gp,19
+ 80000330: 00000213 li tp,0
+ 80000334: fff00093 li ra,-1
+ 80000338: 00000113 li sp,0
+ 8000033c: 00000013 nop
+ 80000340: 0c20de63 ble sp,ra,8000041c <fail>
+ 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000348: 00200293 li t0,2
+ 8000034c: fe5214e3 bne tp,t0,80000334 <test_19+0x8>
+
+0000000080000350 <test_20>:
+ 80000350: 01400193 li gp,20
+ 80000354: 00000213 li tp,0
+ 80000358: fff00093 li ra,-1
+ 8000035c: 00000113 li sp,0
+ 80000360: 00000013 nop
+ 80000364: 00000013 nop
+ 80000368: 0a20da63 ble sp,ra,8000041c <fail>
+ 8000036c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000370: 00200293 li t0,2
+ 80000374: fe5212e3 bne tp,t0,80000358 <test_20+0x8>
+
+0000000080000378 <test_21>:
+ 80000378: 01500193 li gp,21
+ 8000037c: 00000213 li tp,0
+ 80000380: fff00093 li ra,-1
+ 80000384: 00000013 nop
+ 80000388: 00000113 li sp,0
+ 8000038c: 0820d863 ble sp,ra,8000041c <fail>
+ 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000394: 00200293 li t0,2
+ 80000398: fe5214e3 bne tp,t0,80000380 <test_21+0x8>
+
+000000008000039c <test_22>:
+ 8000039c: 01600193 li gp,22
+ 800003a0: 00000213 li tp,0
+ 800003a4: fff00093 li ra,-1
+ 800003a8: 00000013 nop
+ 800003ac: 00000113 li sp,0
+ 800003b0: 00000013 nop
+ 800003b4: 0620d463 ble sp,ra,8000041c <fail>
+ 800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003bc: 00200293 li t0,2
+ 800003c0: fe5212e3 bne tp,t0,800003a4 <test_22+0x8>
+
+00000000800003c4 <test_23>:
+ 800003c4: 01700193 li gp,23
+ 800003c8: 00000213 li tp,0
+ 800003cc: fff00093 li ra,-1
+ 800003d0: 00000013 nop
+ 800003d4: 00000013 nop
+ 800003d8: 00000113 li sp,0
+ 800003dc: 0420d063 ble sp,ra,8000041c <fail>
+ 800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003e4: 00200293 li t0,2
+ 800003e8: fe5212e3 bne tp,t0,800003cc <test_23+0x8>
+
+00000000800003ec <test_24>:
+ 800003ec: 00100093 li ra,1
+ 800003f0: 0000da63 bgez ra,80000404 <test_24+0x18>
+ 800003f4: 00108093 addi ra,ra,1
+ 800003f8: 00108093 addi ra,ra,1
+ 800003fc: 00108093 addi ra,ra,1
+ 80000400: 00108093 addi ra,ra,1
+ 80000404: 00108093 addi ra,ra,1
+ 80000408: 00108093 addi ra,ra,1
+ 8000040c: 00300e93 li t4,3
+ 80000410: 01800193 li gp,24
+ 80000414: 01d09463 bne ra,t4,8000041c <fail>
+ 80000418: 00301c63 bne zero,gp,80000430 <pass>
+
+000000008000041c <fail>:
+ 8000041c: 0ff0000f fence
+ 80000420: 00018063 beqz gp,80000420 <fail+0x4>
+ 80000424: 00119193 slli gp,gp,0x1
+ 80000428: 0011e193 ori gp,gp,1
+ 8000042c: 00000073 ecall
+
+0000000080000430 <pass>:
+ 80000430: 0ff0000f fence
+ 80000434: 00100193 li gp,1
+ 80000438: 00000073 ecall
+ 8000043c: c0001073 unimp
+ 80000440: 0000 unimp
+ 80000442: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-bge.elf b/test/riscv/tests/rv64ui-p-bge.elf
new file mode 100755
index 00000000..31d9ecd4
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-bge.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-bgeu.dump b/test/riscv/tests/rv64ui-p-bgeu.dump
new file mode 100644
index 00000000..c773c7de
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-bgeu.dump
@@ -0,0 +1,413 @@
+
+rv64ui-p-bgeu: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00200193 li gp,2
+ 80000100: 00000093 li ra,0
+ 80000104: 00000113 li sp,0
+ 80000108: 0020f663 bleu sp,ra,80000114 <test_2+0x18>
+ 8000010c: 3e301463 bne zero,gp,800004f4 <fail>
+ 80000110: 00301663 bne zero,gp,8000011c <test_3>
+ 80000114: fe20fee3 bleu sp,ra,80000110 <test_2+0x14>
+ 80000118: 3c301e63 bne zero,gp,800004f4 <fail>
+
+000000008000011c <test_3>:
+ 8000011c: 00300193 li gp,3
+ 80000120: 00100093 li ra,1
+ 80000124: 00100113 li sp,1
+ 80000128: 0020f663 bleu sp,ra,80000134 <test_3+0x18>
+ 8000012c: 3c301463 bne zero,gp,800004f4 <fail>
+ 80000130: 00301663 bne zero,gp,8000013c <test_4>
+ 80000134: fe20fee3 bleu sp,ra,80000130 <test_3+0x14>
+ 80000138: 3a301e63 bne zero,gp,800004f4 <fail>
+
+000000008000013c <test_4>:
+ 8000013c: 00400193 li gp,4
+ 80000140: 0010009b addiw ra,zero,1
+ 80000144: 02009093 slli ra,ra,0x20
+ 80000148: fff08093 addi ra,ra,-1
+ 8000014c: 0010011b addiw sp,zero,1
+ 80000150: 02011113 slli sp,sp,0x20
+ 80000154: fff10113 addi sp,sp,-1
+ 80000158: 0020f663 bleu sp,ra,80000164 <test_4+0x28>
+ 8000015c: 38301c63 bne zero,gp,800004f4 <fail>
+ 80000160: 00301663 bne zero,gp,8000016c <test_5>
+ 80000164: fe20fee3 bleu sp,ra,80000160 <test_4+0x24>
+ 80000168: 38301663 bne zero,gp,800004f4 <fail>
+
+000000008000016c <test_5>:
+ 8000016c: 00500193 li gp,5
+ 80000170: 00100093 li ra,1
+ 80000174: 00000113 li sp,0
+ 80000178: 0020f663 bleu sp,ra,80000184 <test_5+0x18>
+ 8000017c: 36301c63 bne zero,gp,800004f4 <fail>
+ 80000180: 00301663 bne zero,gp,8000018c <test_6>
+ 80000184: fe20fee3 bleu sp,ra,80000180 <test_5+0x14>
+ 80000188: 36301663 bne zero,gp,800004f4 <fail>
+
+000000008000018c <test_6>:
+ 8000018c: 00600193 li gp,6
+ 80000190: 0010009b addiw ra,zero,1
+ 80000194: 02009093 slli ra,ra,0x20
+ 80000198: fff08093 addi ra,ra,-1
+ 8000019c: 0010011b addiw sp,zero,1
+ 800001a0: 02011113 slli sp,sp,0x20
+ 800001a4: ffe10113 addi sp,sp,-2
+ 800001a8: 0020f663 bleu sp,ra,800001b4 <test_6+0x28>
+ 800001ac: 34301463 bne zero,gp,800004f4 <fail>
+ 800001b0: 00301663 bne zero,gp,800001bc <test_7>
+ 800001b4: fe20fee3 bleu sp,ra,800001b0 <test_6+0x24>
+ 800001b8: 32301e63 bne zero,gp,800004f4 <fail>
+
+00000000800001bc <test_7>:
+ 800001bc: 00700193 li gp,7
+ 800001c0: 0010009b addiw ra,zero,1
+ 800001c4: 02009093 slli ra,ra,0x20
+ 800001c8: fff08093 addi ra,ra,-1
+ 800001cc: 00000113 li sp,0
+ 800001d0: 0020f663 bleu sp,ra,800001dc <test_7+0x20>
+ 800001d4: 32301063 bne zero,gp,800004f4 <fail>
+ 800001d8: 00301663 bne zero,gp,800001e4 <test_8>
+ 800001dc: fe20fee3 bleu sp,ra,800001d8 <test_7+0x1c>
+ 800001e0: 30301a63 bne zero,gp,800004f4 <fail>
+
+00000000800001e4 <test_8>:
+ 800001e4: 00800193 li gp,8
+ 800001e8: 00000093 li ra,0
+ 800001ec: 00100113 li sp,1
+ 800001f0: 0020f463 bleu sp,ra,800001f8 <test_8+0x14>
+ 800001f4: 00301463 bne zero,gp,800001fc <test_8+0x18>
+ 800001f8: 2e301e63 bne zero,gp,800004f4 <fail>
+ 800001fc: fe20fee3 bleu sp,ra,800001f8 <test_8+0x14>
+
+0000000080000200 <test_9>:
+ 80000200: 00900193 li gp,9
+ 80000204: 0010009b addiw ra,zero,1
+ 80000208: 02009093 slli ra,ra,0x20
+ 8000020c: ffe08093 addi ra,ra,-2
+ 80000210: 0010011b addiw sp,zero,1
+ 80000214: 02011113 slli sp,sp,0x20
+ 80000218: fff10113 addi sp,sp,-1
+ 8000021c: 0020f463 bleu sp,ra,80000224 <test_9+0x24>
+ 80000220: 00301463 bne zero,gp,80000228 <test_9+0x28>
+ 80000224: 2c301863 bne zero,gp,800004f4 <fail>
+ 80000228: fe20fee3 bleu sp,ra,80000224 <test_9+0x24>
+
+000000008000022c <test_10>:
+ 8000022c: 00a00193 li gp,10
+ 80000230: 00000093 li ra,0
+ 80000234: 0010011b addiw sp,zero,1
+ 80000238: 02011113 slli sp,sp,0x20
+ 8000023c: fff10113 addi sp,sp,-1
+ 80000240: 0020f463 bleu sp,ra,80000248 <test_10+0x1c>
+ 80000244: 00301463 bne zero,gp,8000024c <test_10+0x20>
+ 80000248: 2a301663 bne zero,gp,800004f4 <fail>
+ 8000024c: fe20fee3 bleu sp,ra,80000248 <test_10+0x1c>
+
+0000000080000250 <test_11>:
+ 80000250: 00b00193 li gp,11
+ 80000254: 800000b7 lui ra,0x80000
+ 80000258: fff0809b addiw ra,ra,-1
+ 8000025c: 0010011b addiw sp,zero,1
+ 80000260: 01f11113 slli sp,sp,0x1f
+ 80000264: 0020f463 bleu sp,ra,8000026c <test_11+0x1c>
+ 80000268: 00301463 bne zero,gp,80000270 <test_11+0x20>
+ 8000026c: 28301463 bne zero,gp,800004f4 <fail>
+ 80000270: fe20fee3 bleu sp,ra,8000026c <test_11+0x1c>
+
+0000000080000274 <test_12>:
+ 80000274: 00c00193 li gp,12
+ 80000278: 00000213 li tp,0
+ 8000027c: 00f0009b addiw ra,zero,15
+ 80000280: 01c09093 slli ra,ra,0x1c
+ 80000284: fff08093 addi ra,ra,-1 # ffffffff7fffffff <_end+0xfffffffeffffdfff>
+ 80000288: 00f0011b addiw sp,zero,15
+ 8000028c: 01c11113 slli sp,sp,0x1c
+ 80000290: 2620f263 bleu sp,ra,800004f4 <fail>
+ 80000294: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000298: 00200293 li t0,2
+ 8000029c: fe5210e3 bne tp,t0,8000027c <test_12+0x8>
+
+00000000800002a0 <test_13>:
+ 800002a0: 00d00193 li gp,13
+ 800002a4: 00000213 li tp,0
+ 800002a8: 00f0009b addiw ra,zero,15
+ 800002ac: 01c09093 slli ra,ra,0x1c
+ 800002b0: fff08093 addi ra,ra,-1
+ 800002b4: 00f0011b addiw sp,zero,15
+ 800002b8: 01c11113 slli sp,sp,0x1c
+ 800002bc: 00000013 nop
+ 800002c0: 2220fa63 bleu sp,ra,800004f4 <fail>
+ 800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002c8: 00200293 li t0,2
+ 800002cc: fc521ee3 bne tp,t0,800002a8 <test_13+0x8>
+
+00000000800002d0 <test_14>:
+ 800002d0: 00e00193 li gp,14
+ 800002d4: 00000213 li tp,0
+ 800002d8: 00f0009b addiw ra,zero,15
+ 800002dc: 01c09093 slli ra,ra,0x1c
+ 800002e0: fff08093 addi ra,ra,-1
+ 800002e4: 00f0011b addiw sp,zero,15
+ 800002e8: 01c11113 slli sp,sp,0x1c
+ 800002ec: 00000013 nop
+ 800002f0: 00000013 nop
+ 800002f4: 2020f063 bleu sp,ra,800004f4 <fail>
+ 800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002fc: 00200293 li t0,2
+ 80000300: fc521ce3 bne tp,t0,800002d8 <test_14+0x8>
+
+0000000080000304 <test_15>:
+ 80000304: 00f00193 li gp,15
+ 80000308: 00000213 li tp,0
+ 8000030c: 00f0009b addiw ra,zero,15
+ 80000310: 01c09093 slli ra,ra,0x1c
+ 80000314: fff08093 addi ra,ra,-1
+ 80000318: 00000013 nop
+ 8000031c: 00f0011b addiw sp,zero,15
+ 80000320: 01c11113 slli sp,sp,0x1c
+ 80000324: 1c20f863 bleu sp,ra,800004f4 <fail>
+ 80000328: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000032c: 00200293 li t0,2
+ 80000330: fc521ee3 bne tp,t0,8000030c <test_15+0x8>
+
+0000000080000334 <test_16>:
+ 80000334: 01000193 li gp,16
+ 80000338: 00000213 li tp,0
+ 8000033c: 00f0009b addiw ra,zero,15
+ 80000340: 01c09093 slli ra,ra,0x1c
+ 80000344: fff08093 addi ra,ra,-1
+ 80000348: 00000013 nop
+ 8000034c: 00f0011b addiw sp,zero,15
+ 80000350: 01c11113 slli sp,sp,0x1c
+ 80000354: 00000013 nop
+ 80000358: 1820fe63 bleu sp,ra,800004f4 <fail>
+ 8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000360: 00200293 li t0,2
+ 80000364: fc521ce3 bne tp,t0,8000033c <test_16+0x8>
+
+0000000080000368 <test_17>:
+ 80000368: 01100193 li gp,17
+ 8000036c: 00000213 li tp,0
+ 80000370: 00f0009b addiw ra,zero,15
+ 80000374: 01c09093 slli ra,ra,0x1c
+ 80000378: fff08093 addi ra,ra,-1
+ 8000037c: 00000013 nop
+ 80000380: 00000013 nop
+ 80000384: 00f0011b addiw sp,zero,15
+ 80000388: 01c11113 slli sp,sp,0x1c
+ 8000038c: 1620f463 bleu sp,ra,800004f4 <fail>
+ 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000394: 00200293 li t0,2
+ 80000398: fc521ce3 bne tp,t0,80000370 <test_17+0x8>
+
+000000008000039c <test_18>:
+ 8000039c: 01200193 li gp,18
+ 800003a0: 00000213 li tp,0
+ 800003a4: 00f0009b addiw ra,zero,15
+ 800003a8: 01c09093 slli ra,ra,0x1c
+ 800003ac: fff08093 addi ra,ra,-1
+ 800003b0: 00f0011b addiw sp,zero,15
+ 800003b4: 01c11113 slli sp,sp,0x1c
+ 800003b8: 1220fe63 bleu sp,ra,800004f4 <fail>
+ 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003c0: 00200293 li t0,2
+ 800003c4: fe5210e3 bne tp,t0,800003a4 <test_18+0x8>
+
+00000000800003c8 <test_19>:
+ 800003c8: 01300193 li gp,19
+ 800003cc: 00000213 li tp,0
+ 800003d0: 00f0009b addiw ra,zero,15
+ 800003d4: 01c09093 slli ra,ra,0x1c
+ 800003d8: fff08093 addi ra,ra,-1
+ 800003dc: 00f0011b addiw sp,zero,15
+ 800003e0: 01c11113 slli sp,sp,0x1c
+ 800003e4: 00000013 nop
+ 800003e8: 1020f663 bleu sp,ra,800004f4 <fail>
+ 800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003f0: 00200293 li t0,2
+ 800003f4: fc521ee3 bne tp,t0,800003d0 <test_19+0x8>
+
+00000000800003f8 <test_20>:
+ 800003f8: 01400193 li gp,20
+ 800003fc: 00000213 li tp,0
+ 80000400: 00f0009b addiw ra,zero,15
+ 80000404: 01c09093 slli ra,ra,0x1c
+ 80000408: fff08093 addi ra,ra,-1
+ 8000040c: 00f0011b addiw sp,zero,15
+ 80000410: 01c11113 slli sp,sp,0x1c
+ 80000414: 00000013 nop
+ 80000418: 00000013 nop
+ 8000041c: 0c20fc63 bleu sp,ra,800004f4 <fail>
+ 80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000424: 00200293 li t0,2
+ 80000428: fc521ce3 bne tp,t0,80000400 <test_20+0x8>
+
+000000008000042c <test_21>:
+ 8000042c: 01500193 li gp,21
+ 80000430: 00000213 li tp,0
+ 80000434: 00f0009b addiw ra,zero,15
+ 80000438: 01c09093 slli ra,ra,0x1c
+ 8000043c: fff08093 addi ra,ra,-1
+ 80000440: 00000013 nop
+ 80000444: 00f0011b addiw sp,zero,15
+ 80000448: 01c11113 slli sp,sp,0x1c
+ 8000044c: 0a20f463 bleu sp,ra,800004f4 <fail>
+ 80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000454: 00200293 li t0,2
+ 80000458: fc521ee3 bne tp,t0,80000434 <test_21+0x8>
+
+000000008000045c <test_22>:
+ 8000045c: 01600193 li gp,22
+ 80000460: 00000213 li tp,0
+ 80000464: 00f0009b addiw ra,zero,15
+ 80000468: 01c09093 slli ra,ra,0x1c
+ 8000046c: fff08093 addi ra,ra,-1
+ 80000470: 00000013 nop
+ 80000474: 00f0011b addiw sp,zero,15
+ 80000478: 01c11113 slli sp,sp,0x1c
+ 8000047c: 00000013 nop
+ 80000480: 0620fa63 bleu sp,ra,800004f4 <fail>
+ 80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000488: 00200293 li t0,2
+ 8000048c: fc521ce3 bne tp,t0,80000464 <test_22+0x8>
+
+0000000080000490 <test_23>:
+ 80000490: 01700193 li gp,23
+ 80000494: 00000213 li tp,0
+ 80000498: 00f0009b addiw ra,zero,15
+ 8000049c: 01c09093 slli ra,ra,0x1c
+ 800004a0: fff08093 addi ra,ra,-1
+ 800004a4: 00000013 nop
+ 800004a8: 00000013 nop
+ 800004ac: 00f0011b addiw sp,zero,15
+ 800004b0: 01c11113 slli sp,sp,0x1c
+ 800004b4: 0420f063 bleu sp,ra,800004f4 <fail>
+ 800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004bc: 00200293 li t0,2
+ 800004c0: fc521ce3 bne tp,t0,80000498 <test_23+0x8>
+
+00000000800004c4 <test_24>:
+ 800004c4: 00100093 li ra,1
+ 800004c8: 0000fa63 bleu zero,ra,800004dc <test_24+0x18>
+ 800004cc: 00108093 addi ra,ra,1
+ 800004d0: 00108093 addi ra,ra,1
+ 800004d4: 00108093 addi ra,ra,1
+ 800004d8: 00108093 addi ra,ra,1
+ 800004dc: 00108093 addi ra,ra,1
+ 800004e0: 00108093 addi ra,ra,1
+ 800004e4: 00300e93 li t4,3
+ 800004e8: 01800193 li gp,24
+ 800004ec: 01d09463 bne ra,t4,800004f4 <fail>
+ 800004f0: 00301c63 bne zero,gp,80000508 <pass>
+
+00000000800004f4 <fail>:
+ 800004f4: 0ff0000f fence
+ 800004f8: 00018063 beqz gp,800004f8 <fail+0x4>
+ 800004fc: 00119193 slli gp,gp,0x1
+ 80000500: 0011e193 ori gp,gp,1
+ 80000504: 00000073 ecall
+
+0000000080000508 <pass>:
+ 80000508: 0ff0000f fence
+ 8000050c: 00100193 li gp,1
+ 80000510: 00000073 ecall
+ 80000514: c0001073 unimp
+ 80000518: 0000 unimp
+ 8000051a: 0000 unimp
+ 8000051c: 0000 unimp
+ 8000051e: 0000 unimp
+ 80000520: 0000 unimp
+ 80000522: 0000 unimp
+ 80000524: 0000 unimp
+ 80000526: 0000 unimp
+ 80000528: 0000 unimp
+ 8000052a: 0000 unimp
+ 8000052c: 0000 unimp
+ 8000052e: 0000 unimp
+ 80000530: 0000 unimp
+ 80000532: 0000 unimp
+ 80000534: 0000 unimp
+ 80000536: 0000 unimp
+ 80000538: 0000 unimp
+ 8000053a: 0000 unimp
+ 8000053c: 0000 unimp
+ 8000053e: 0000 unimp
+ 80000540: 0000 unimp
+ 80000542: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-bgeu.elf b/test/riscv/tests/rv64ui-p-bgeu.elf
new file mode 100755
index 00000000..a7e14bac
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-bgeu.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-blt.dump b/test/riscv/tests/rv64ui-p-blt.dump
new file mode 100644
index 00000000..3e6b518b
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-blt.dump
@@ -0,0 +1,325 @@
+
+rv64ui-p-blt: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00200193 li gp,2
+ 80000100: 00000093 li ra,0
+ 80000104: 00100113 li sp,1
+ 80000108: 0020c663 blt ra,sp,80000114 <test_2+0x18>
+ 8000010c: 2a301863 bne zero,gp,800003bc <fail>
+ 80000110: 00301663 bne zero,gp,8000011c <test_3>
+ 80000114: fe20cee3 blt ra,sp,80000110 <test_2+0x14>
+ 80000118: 2a301263 bne zero,gp,800003bc <fail>
+
+000000008000011c <test_3>:
+ 8000011c: 00300193 li gp,3
+ 80000120: fff00093 li ra,-1
+ 80000124: 00100113 li sp,1
+ 80000128: 0020c663 blt ra,sp,80000134 <test_3+0x18>
+ 8000012c: 28301863 bne zero,gp,800003bc <fail>
+ 80000130: 00301663 bne zero,gp,8000013c <test_4>
+ 80000134: fe20cee3 blt ra,sp,80000130 <test_3+0x14>
+ 80000138: 28301263 bne zero,gp,800003bc <fail>
+
+000000008000013c <test_4>:
+ 8000013c: 00400193 li gp,4
+ 80000140: ffe00093 li ra,-2
+ 80000144: fff00113 li sp,-1
+ 80000148: 0020c663 blt ra,sp,80000154 <test_4+0x18>
+ 8000014c: 26301863 bne zero,gp,800003bc <fail>
+ 80000150: 00301663 bne zero,gp,8000015c <test_5>
+ 80000154: fe20cee3 blt ra,sp,80000150 <test_4+0x14>
+ 80000158: 26301263 bne zero,gp,800003bc <fail>
+
+000000008000015c <test_5>:
+ 8000015c: 00500193 li gp,5
+ 80000160: 00100093 li ra,1
+ 80000164: 00000113 li sp,0
+ 80000168: 0020c463 blt ra,sp,80000170 <test_5+0x14>
+ 8000016c: 00301463 bne zero,gp,80000174 <test_5+0x18>
+ 80000170: 24301663 bne zero,gp,800003bc <fail>
+ 80000174: fe20cee3 blt ra,sp,80000170 <test_5+0x14>
+
+0000000080000178 <test_6>:
+ 80000178: 00600193 li gp,6
+ 8000017c: 00100093 li ra,1
+ 80000180: fff00113 li sp,-1
+ 80000184: 0020c463 blt ra,sp,8000018c <test_6+0x14>
+ 80000188: 00301463 bne zero,gp,80000190 <test_6+0x18>
+ 8000018c: 22301863 bne zero,gp,800003bc <fail>
+ 80000190: fe20cee3 blt ra,sp,8000018c <test_6+0x14>
+
+0000000080000194 <test_7>:
+ 80000194: 00700193 li gp,7
+ 80000198: fff00093 li ra,-1
+ 8000019c: ffe00113 li sp,-2
+ 800001a0: 0020c463 blt ra,sp,800001a8 <test_7+0x14>
+ 800001a4: 00301463 bne zero,gp,800001ac <test_7+0x18>
+ 800001a8: 20301a63 bne zero,gp,800003bc <fail>
+ 800001ac: fe20cee3 blt ra,sp,800001a8 <test_7+0x14>
+
+00000000800001b0 <test_8>:
+ 800001b0: 00800193 li gp,8
+ 800001b4: 00100093 li ra,1
+ 800001b8: ffe00113 li sp,-2
+ 800001bc: 0020c463 blt ra,sp,800001c4 <test_8+0x14>
+ 800001c0: 00301463 bne zero,gp,800001c8 <test_8+0x18>
+ 800001c4: 1e301c63 bne zero,gp,800003bc <fail>
+ 800001c8: fe20cee3 blt ra,sp,800001c4 <test_8+0x14>
+
+00000000800001cc <test_9>:
+ 800001cc: 00900193 li gp,9
+ 800001d0: 00000213 li tp,0
+ 800001d4: 00000093 li ra,0
+ 800001d8: fff00113 li sp,-1
+ 800001dc: 1e20c063 blt ra,sp,800003bc <fail>
+ 800001e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800001e4: 00200293 li t0,2
+ 800001e8: fe5216e3 bne tp,t0,800001d4 <test_9+0x8>
+
+00000000800001ec <test_10>:
+ 800001ec: 00a00193 li gp,10
+ 800001f0: 00000213 li tp,0
+ 800001f4: 00000093 li ra,0
+ 800001f8: fff00113 li sp,-1
+ 800001fc: 00000013 nop
+ 80000200: 1a20ce63 blt ra,sp,800003bc <fail>
+ 80000204: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000208: 00200293 li t0,2
+ 8000020c: fe5214e3 bne tp,t0,800001f4 <test_10+0x8>
+
+0000000080000210 <test_11>:
+ 80000210: 00b00193 li gp,11
+ 80000214: 00000213 li tp,0
+ 80000218: 00000093 li ra,0
+ 8000021c: fff00113 li sp,-1
+ 80000220: 00000013 nop
+ 80000224: 00000013 nop
+ 80000228: 1820ca63 blt ra,sp,800003bc <fail>
+ 8000022c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000230: 00200293 li t0,2
+ 80000234: fe5212e3 bne tp,t0,80000218 <test_11+0x8>
+
+0000000080000238 <test_12>:
+ 80000238: 00c00193 li gp,12
+ 8000023c: 00000213 li tp,0
+ 80000240: 00000093 li ra,0
+ 80000244: 00000013 nop
+ 80000248: fff00113 li sp,-1
+ 8000024c: 1620c863 blt ra,sp,800003bc <fail>
+ 80000250: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000254: 00200293 li t0,2
+ 80000258: fe5214e3 bne tp,t0,80000240 <test_12+0x8>
+
+000000008000025c <test_13>:
+ 8000025c: 00d00193 li gp,13
+ 80000260: 00000213 li tp,0
+ 80000264: 00000093 li ra,0
+ 80000268: 00000013 nop
+ 8000026c: fff00113 li sp,-1
+ 80000270: 00000013 nop
+ 80000274: 1420c463 blt ra,sp,800003bc <fail>
+ 80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000027c: 00200293 li t0,2
+ 80000280: fe5212e3 bne tp,t0,80000264 <test_13+0x8>
+
+0000000080000284 <test_14>:
+ 80000284: 00e00193 li gp,14
+ 80000288: 00000213 li tp,0
+ 8000028c: 00000093 li ra,0
+ 80000290: 00000013 nop
+ 80000294: 00000013 nop
+ 80000298: fff00113 li sp,-1
+ 8000029c: 1220c063 blt ra,sp,800003bc <fail>
+ 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a4: 00200293 li t0,2
+ 800002a8: fe5212e3 bne tp,t0,8000028c <test_14+0x8>
+
+00000000800002ac <test_15>:
+ 800002ac: 00f00193 li gp,15
+ 800002b0: 00000213 li tp,0
+ 800002b4: 00000093 li ra,0
+ 800002b8: fff00113 li sp,-1
+ 800002bc: 1020c063 blt ra,sp,800003bc <fail>
+ 800002c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002c4: 00200293 li t0,2
+ 800002c8: fe5216e3 bne tp,t0,800002b4 <test_15+0x8>
+
+00000000800002cc <test_16>:
+ 800002cc: 01000193 li gp,16
+ 800002d0: 00000213 li tp,0
+ 800002d4: 00000093 li ra,0
+ 800002d8: fff00113 li sp,-1
+ 800002dc: 00000013 nop
+ 800002e0: 0c20ce63 blt ra,sp,800003bc <fail>
+ 800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002e8: 00200293 li t0,2
+ 800002ec: fe5214e3 bne tp,t0,800002d4 <test_16+0x8>
+
+00000000800002f0 <test_17>:
+ 800002f0: 01100193 li gp,17
+ 800002f4: 00000213 li tp,0
+ 800002f8: 00000093 li ra,0
+ 800002fc: fff00113 li sp,-1
+ 80000300: 00000013 nop
+ 80000304: 00000013 nop
+ 80000308: 0a20ca63 blt ra,sp,800003bc <fail>
+ 8000030c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000310: 00200293 li t0,2
+ 80000314: fe5212e3 bne tp,t0,800002f8 <test_17+0x8>
+
+0000000080000318 <test_18>:
+ 80000318: 01200193 li gp,18
+ 8000031c: 00000213 li tp,0
+ 80000320: 00000093 li ra,0
+ 80000324: 00000013 nop
+ 80000328: fff00113 li sp,-1
+ 8000032c: 0820c863 blt ra,sp,800003bc <fail>
+ 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000334: 00200293 li t0,2
+ 80000338: fe5214e3 bne tp,t0,80000320 <test_18+0x8>
+
+000000008000033c <test_19>:
+ 8000033c: 01300193 li gp,19
+ 80000340: 00000213 li tp,0
+ 80000344: 00000093 li ra,0
+ 80000348: 00000013 nop
+ 8000034c: fff00113 li sp,-1
+ 80000350: 00000013 nop
+ 80000354: 0620c463 blt ra,sp,800003bc <fail>
+ 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000035c: 00200293 li t0,2
+ 80000360: fe5212e3 bne tp,t0,80000344 <test_19+0x8>
+
+0000000080000364 <test_20>:
+ 80000364: 01400193 li gp,20
+ 80000368: 00000213 li tp,0
+ 8000036c: 00000093 li ra,0
+ 80000370: 00000013 nop
+ 80000374: 00000013 nop
+ 80000378: fff00113 li sp,-1
+ 8000037c: 0420c063 blt ra,sp,800003bc <fail>
+ 80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000384: 00200293 li t0,2
+ 80000388: fe5212e3 bne tp,t0,8000036c <test_20+0x8>
+
+000000008000038c <test_21>:
+ 8000038c: 00100093 li ra,1
+ 80000390: 00104a63 bgtz ra,800003a4 <test_21+0x18>
+ 80000394: 00108093 addi ra,ra,1
+ 80000398: 00108093 addi ra,ra,1
+ 8000039c: 00108093 addi ra,ra,1
+ 800003a0: 00108093 addi ra,ra,1
+ 800003a4: 00108093 addi ra,ra,1
+ 800003a8: 00108093 addi ra,ra,1
+ 800003ac: 00300e93 li t4,3
+ 800003b0: 01500193 li gp,21
+ 800003b4: 01d09463 bne ra,t4,800003bc <fail>
+ 800003b8: 00301c63 bne zero,gp,800003d0 <pass>
+
+00000000800003bc <fail>:
+ 800003bc: 0ff0000f fence
+ 800003c0: 00018063 beqz gp,800003c0 <fail+0x4>
+ 800003c4: 00119193 slli gp,gp,0x1
+ 800003c8: 0011e193 ori gp,gp,1
+ 800003cc: 00000073 ecall
+
+00000000800003d0 <pass>:
+ 800003d0: 0ff0000f fence
+ 800003d4: 00100193 li gp,1
+ 800003d8: 00000073 ecall
+ 800003dc: c0001073 unimp
+ 800003e0: 0000 unimp
+ 800003e2: 0000 unimp
+ 800003e4: 0000 unimp
+ 800003e6: 0000 unimp
+ 800003e8: 0000 unimp
+ 800003ea: 0000 unimp
+ 800003ec: 0000 unimp
+ 800003ee: 0000 unimp
+ 800003f0: 0000 unimp
+ 800003f2: 0000 unimp
+ 800003f4: 0000 unimp
+ 800003f6: 0000 unimp
+ 800003f8: 0000 unimp
+ 800003fa: 0000 unimp
+ 800003fc: 0000 unimp
+ 800003fe: 0000 unimp
+ 80000400: 0000 unimp
+ 80000402: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-blt.elf b/test/riscv/tests/rv64ui-p-blt.elf
new file mode 100755
index 00000000..eec6ce60
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-blt.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-bltu.dump b/test/riscv/tests/rv64ui-p-bltu.dump
new file mode 100644
index 00000000..ec344211
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-bltu.dump
@@ -0,0 +1,371 @@
+
+rv64ui-p-bltu: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00200193 li gp,2
+ 80000100: 00000093 li ra,0
+ 80000104: 00100113 li sp,1
+ 80000108: 0020e663 bltu ra,sp,80000114 <test_2+0x18>
+ 8000010c: 36301c63 bne zero,gp,80000484 <fail>
+ 80000110: 00301663 bne zero,gp,8000011c <test_3>
+ 80000114: fe20eee3 bltu ra,sp,80000110 <test_2+0x14>
+ 80000118: 36301663 bne zero,gp,80000484 <fail>
+
+000000008000011c <test_3>:
+ 8000011c: 00300193 li gp,3
+ 80000120: 0010009b addiw ra,zero,1
+ 80000124: 02009093 slli ra,ra,0x20
+ 80000128: ffe08093 addi ra,ra,-2
+ 8000012c: 0010011b addiw sp,zero,1
+ 80000130: 02011113 slli sp,sp,0x20
+ 80000134: fff10113 addi sp,sp,-1
+ 80000138: 0020e663 bltu ra,sp,80000144 <test_3+0x28>
+ 8000013c: 34301463 bne zero,gp,80000484 <fail>
+ 80000140: 00301663 bne zero,gp,8000014c <test_4>
+ 80000144: fe20eee3 bltu ra,sp,80000140 <test_3+0x24>
+ 80000148: 32301e63 bne zero,gp,80000484 <fail>
+
+000000008000014c <test_4>:
+ 8000014c: 00400193 li gp,4
+ 80000150: 00000093 li ra,0
+ 80000154: 0010011b addiw sp,zero,1
+ 80000158: 02011113 slli sp,sp,0x20
+ 8000015c: fff10113 addi sp,sp,-1
+ 80000160: 0020e663 bltu ra,sp,8000016c <test_4+0x20>
+ 80000164: 32301063 bne zero,gp,80000484 <fail>
+ 80000168: 00301663 bne zero,gp,80000174 <test_5>
+ 8000016c: fe20eee3 bltu ra,sp,80000168 <test_4+0x1c>
+ 80000170: 30301a63 bne zero,gp,80000484 <fail>
+
+0000000080000174 <test_5>:
+ 80000174: 00500193 li gp,5
+ 80000178: 00100093 li ra,1
+ 8000017c: 00000113 li sp,0
+ 80000180: 0020e463 bltu ra,sp,80000188 <test_5+0x14>
+ 80000184: 00301463 bne zero,gp,8000018c <test_5+0x18>
+ 80000188: 2e301e63 bne zero,gp,80000484 <fail>
+ 8000018c: fe20eee3 bltu ra,sp,80000188 <test_5+0x14>
+
+0000000080000190 <test_6>:
+ 80000190: 00600193 li gp,6
+ 80000194: 0010009b addiw ra,zero,1
+ 80000198: 02009093 slli ra,ra,0x20
+ 8000019c: fff08093 addi ra,ra,-1
+ 800001a0: 0010011b addiw sp,zero,1
+ 800001a4: 02011113 slli sp,sp,0x20
+ 800001a8: ffe10113 addi sp,sp,-2
+ 800001ac: 0020e463 bltu ra,sp,800001b4 <test_6+0x24>
+ 800001b0: 00301463 bne zero,gp,800001b8 <test_6+0x28>
+ 800001b4: 2c301863 bne zero,gp,80000484 <fail>
+ 800001b8: fe20eee3 bltu ra,sp,800001b4 <test_6+0x24>
+
+00000000800001bc <test_7>:
+ 800001bc: 00700193 li gp,7
+ 800001c0: 0010009b addiw ra,zero,1
+ 800001c4: 02009093 slli ra,ra,0x20
+ 800001c8: fff08093 addi ra,ra,-1
+ 800001cc: 00000113 li sp,0
+ 800001d0: 0020e463 bltu ra,sp,800001d8 <test_7+0x1c>
+ 800001d4: 00301463 bne zero,gp,800001dc <test_7+0x20>
+ 800001d8: 2a301663 bne zero,gp,80000484 <fail>
+ 800001dc: fe20eee3 bltu ra,sp,800001d8 <test_7+0x1c>
+
+00000000800001e0 <test_8>:
+ 800001e0: 00800193 li gp,8
+ 800001e4: 0010009b addiw ra,zero,1
+ 800001e8: 01f09093 slli ra,ra,0x1f
+ 800001ec: 80000137 lui sp,0x80000
+ 800001f0: fff1011b addiw sp,sp,-1
+ 800001f4: 0020e463 bltu ra,sp,800001fc <test_8+0x1c>
+ 800001f8: 00301463 bne zero,gp,80000200 <test_8+0x20>
+ 800001fc: 28301463 bne zero,gp,80000484 <fail>
+ 80000200: fe20eee3 bltu ra,sp,800001fc <test_8+0x1c>
+
+0000000080000204 <test_9>:
+ 80000204: 00900193 li gp,9
+ 80000208: 00000213 li tp,0
+ 8000020c: 00f0009b addiw ra,zero,15
+ 80000210: 01c09093 slli ra,ra,0x1c
+ 80000214: 00f0011b addiw sp,zero,15
+ 80000218: 01c11113 slli sp,sp,0x1c
+ 8000021c: fff10113 addi sp,sp,-1 # ffffffff7fffffff <_end+0xfffffffeffffdfff>
+ 80000220: 2620e263 bltu ra,sp,80000484 <fail>
+ 80000224: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000228: 00200293 li t0,2
+ 8000022c: fe5210e3 bne tp,t0,8000020c <test_9+0x8>
+
+0000000080000230 <test_10>:
+ 80000230: 00a00193 li gp,10
+ 80000234: 00000213 li tp,0
+ 80000238: 00f0009b addiw ra,zero,15
+ 8000023c: 01c09093 slli ra,ra,0x1c
+ 80000240: 00f0011b addiw sp,zero,15
+ 80000244: 01c11113 slli sp,sp,0x1c
+ 80000248: fff10113 addi sp,sp,-1
+ 8000024c: 00000013 nop
+ 80000250: 2220ea63 bltu ra,sp,80000484 <fail>
+ 80000254: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000258: 00200293 li t0,2
+ 8000025c: fc521ee3 bne tp,t0,80000238 <test_10+0x8>
+
+0000000080000260 <test_11>:
+ 80000260: 00b00193 li gp,11
+ 80000264: 00000213 li tp,0
+ 80000268: 00f0009b addiw ra,zero,15
+ 8000026c: 01c09093 slli ra,ra,0x1c
+ 80000270: 00f0011b addiw sp,zero,15
+ 80000274: 01c11113 slli sp,sp,0x1c
+ 80000278: fff10113 addi sp,sp,-1
+ 8000027c: 00000013 nop
+ 80000280: 00000013 nop
+ 80000284: 2020e063 bltu ra,sp,80000484 <fail>
+ 80000288: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000028c: 00200293 li t0,2
+ 80000290: fc521ce3 bne tp,t0,80000268 <test_11+0x8>
+
+0000000080000294 <test_12>:
+ 80000294: 00c00193 li gp,12
+ 80000298: 00000213 li tp,0
+ 8000029c: 00f0009b addiw ra,zero,15
+ 800002a0: 01c09093 slli ra,ra,0x1c
+ 800002a4: 00000013 nop
+ 800002a8: 00f0011b addiw sp,zero,15
+ 800002ac: 01c11113 slli sp,sp,0x1c
+ 800002b0: fff10113 addi sp,sp,-1
+ 800002b4: 1c20e863 bltu ra,sp,80000484 <fail>
+ 800002b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002bc: 00200293 li t0,2
+ 800002c0: fc521ee3 bne tp,t0,8000029c <test_12+0x8>
+
+00000000800002c4 <test_13>:
+ 800002c4: 00d00193 li gp,13
+ 800002c8: 00000213 li tp,0
+ 800002cc: 00f0009b addiw ra,zero,15
+ 800002d0: 01c09093 slli ra,ra,0x1c
+ 800002d4: 00000013 nop
+ 800002d8: 00f0011b addiw sp,zero,15
+ 800002dc: 01c11113 slli sp,sp,0x1c
+ 800002e0: fff10113 addi sp,sp,-1
+ 800002e4: 00000013 nop
+ 800002e8: 1820ee63 bltu ra,sp,80000484 <fail>
+ 800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002f0: 00200293 li t0,2
+ 800002f4: fc521ce3 bne tp,t0,800002cc <test_13+0x8>
+
+00000000800002f8 <test_14>:
+ 800002f8: 00e00193 li gp,14
+ 800002fc: 00000213 li tp,0
+ 80000300: 00f0009b addiw ra,zero,15
+ 80000304: 01c09093 slli ra,ra,0x1c
+ 80000308: 00000013 nop
+ 8000030c: 00000013 nop
+ 80000310: 00f0011b addiw sp,zero,15
+ 80000314: 01c11113 slli sp,sp,0x1c
+ 80000318: fff10113 addi sp,sp,-1
+ 8000031c: 1620e463 bltu ra,sp,80000484 <fail>
+ 80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000324: 00200293 li t0,2
+ 80000328: fc521ce3 bne tp,t0,80000300 <test_14+0x8>
+
+000000008000032c <test_15>:
+ 8000032c: 00f00193 li gp,15
+ 80000330: 00000213 li tp,0
+ 80000334: 00f0009b addiw ra,zero,15
+ 80000338: 01c09093 slli ra,ra,0x1c
+ 8000033c: 00f0011b addiw sp,zero,15
+ 80000340: 01c11113 slli sp,sp,0x1c
+ 80000344: fff10113 addi sp,sp,-1
+ 80000348: 1220ee63 bltu ra,sp,80000484 <fail>
+ 8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000350: 00200293 li t0,2
+ 80000354: fe5210e3 bne tp,t0,80000334 <test_15+0x8>
+
+0000000080000358 <test_16>:
+ 80000358: 01000193 li gp,16
+ 8000035c: 00000213 li tp,0
+ 80000360: 00f0009b addiw ra,zero,15
+ 80000364: 01c09093 slli ra,ra,0x1c
+ 80000368: 00f0011b addiw sp,zero,15
+ 8000036c: 01c11113 slli sp,sp,0x1c
+ 80000370: fff10113 addi sp,sp,-1
+ 80000374: 00000013 nop
+ 80000378: 1020e663 bltu ra,sp,80000484 <fail>
+ 8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000380: 00200293 li t0,2
+ 80000384: fc521ee3 bne tp,t0,80000360 <test_16+0x8>
+
+0000000080000388 <test_17>:
+ 80000388: 01100193 li gp,17
+ 8000038c: 00000213 li tp,0
+ 80000390: 00f0009b addiw ra,zero,15
+ 80000394: 01c09093 slli ra,ra,0x1c
+ 80000398: 00f0011b addiw sp,zero,15
+ 8000039c: 01c11113 slli sp,sp,0x1c
+ 800003a0: fff10113 addi sp,sp,-1
+ 800003a4: 00000013 nop
+ 800003a8: 00000013 nop
+ 800003ac: 0c20ec63 bltu ra,sp,80000484 <fail>
+ 800003b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003b4: 00200293 li t0,2
+ 800003b8: fc521ce3 bne tp,t0,80000390 <test_17+0x8>
+
+00000000800003bc <test_18>:
+ 800003bc: 01200193 li gp,18
+ 800003c0: 00000213 li tp,0
+ 800003c4: 00f0009b addiw ra,zero,15
+ 800003c8: 01c09093 slli ra,ra,0x1c
+ 800003cc: 00000013 nop
+ 800003d0: 00f0011b addiw sp,zero,15
+ 800003d4: 01c11113 slli sp,sp,0x1c
+ 800003d8: fff10113 addi sp,sp,-1
+ 800003dc: 0a20e463 bltu ra,sp,80000484 <fail>
+ 800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003e4: 00200293 li t0,2
+ 800003e8: fc521ee3 bne tp,t0,800003c4 <test_18+0x8>
+
+00000000800003ec <test_19>:
+ 800003ec: 01300193 li gp,19
+ 800003f0: 00000213 li tp,0
+ 800003f4: 00f0009b addiw ra,zero,15
+ 800003f8: 01c09093 slli ra,ra,0x1c
+ 800003fc: 00000013 nop
+ 80000400: 00f0011b addiw sp,zero,15
+ 80000404: 01c11113 slli sp,sp,0x1c
+ 80000408: fff10113 addi sp,sp,-1
+ 8000040c: 00000013 nop
+ 80000410: 0620ea63 bltu ra,sp,80000484 <fail>
+ 80000414: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000418: 00200293 li t0,2
+ 8000041c: fc521ce3 bne tp,t0,800003f4 <test_19+0x8>
+
+0000000080000420 <test_20>:
+ 80000420: 01400193 li gp,20
+ 80000424: 00000213 li tp,0
+ 80000428: 00f0009b addiw ra,zero,15
+ 8000042c: 01c09093 slli ra,ra,0x1c
+ 80000430: 00000013 nop
+ 80000434: 00000013 nop
+ 80000438: 00f0011b addiw sp,zero,15
+ 8000043c: 01c11113 slli sp,sp,0x1c
+ 80000440: fff10113 addi sp,sp,-1
+ 80000444: 0420e063 bltu ra,sp,80000484 <fail>
+ 80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000044c: 00200293 li t0,2
+ 80000450: fc521ce3 bne tp,t0,80000428 <test_20+0x8>
+
+0000000080000454 <test_21>:
+ 80000454: 00100093 li ra,1
+ 80000458: 00106a63 bltu zero,ra,8000046c <test_21+0x18>
+ 8000045c: 00108093 addi ra,ra,1
+ 80000460: 00108093 addi ra,ra,1
+ 80000464: 00108093 addi ra,ra,1
+ 80000468: 00108093 addi ra,ra,1
+ 8000046c: 00108093 addi ra,ra,1
+ 80000470: 00108093 addi ra,ra,1
+ 80000474: 00300e93 li t4,3
+ 80000478: 01500193 li gp,21
+ 8000047c: 01d09463 bne ra,t4,80000484 <fail>
+ 80000480: 00301c63 bne zero,gp,80000498 <pass>
+
+0000000080000484 <fail>:
+ 80000484: 0ff0000f fence
+ 80000488: 00018063 beqz gp,80000488 <fail+0x4>
+ 8000048c: 00119193 slli gp,gp,0x1
+ 80000490: 0011e193 ori gp,gp,1
+ 80000494: 00000073 ecall
+
+0000000080000498 <pass>:
+ 80000498: 0ff0000f fence
+ 8000049c: 00100193 li gp,1
+ 800004a0: 00000073 ecall
+ 800004a4: c0001073 unimp
+ 800004a8: 0000 unimp
+ 800004aa: 0000 unimp
+ 800004ac: 0000 unimp
+ 800004ae: 0000 unimp
+ 800004b0: 0000 unimp
+ 800004b2: 0000 unimp
+ 800004b4: 0000 unimp
+ 800004b6: 0000 unimp
+ 800004b8: 0000 unimp
+ 800004ba: 0000 unimp
+ 800004bc: 0000 unimp
+ 800004be: 0000 unimp
+ 800004c0: 0000 unimp
+ 800004c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-bltu.elf b/test/riscv/tests/rv64ui-p-bltu.elf
new file mode 100755
index 00000000..05ee4bec
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-bltu.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-bne.dump b/test/riscv/tests/rv64ui-p-bne.dump
new file mode 100644
index 00000000..42f4613f
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-bne.dump
@@ -0,0 +1,324 @@
+
+rv64ui-p-bne: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00200193 li gp,2
+ 80000100: 00000093 li ra,0
+ 80000104: 00100113 li sp,1
+ 80000108: 00209663 bne ra,sp,80000114 <test_2+0x18>
+ 8000010c: 2a301a63 bne zero,gp,800003c0 <fail>
+ 80000110: 00301663 bne zero,gp,8000011c <test_3>
+ 80000114: fe209ee3 bne ra,sp,80000110 <test_2+0x14>
+ 80000118: 2a301463 bne zero,gp,800003c0 <fail>
+
+000000008000011c <test_3>:
+ 8000011c: 00300193 li gp,3
+ 80000120: 00100093 li ra,1
+ 80000124: 00000113 li sp,0
+ 80000128: 00209663 bne ra,sp,80000134 <test_3+0x18>
+ 8000012c: 28301a63 bne zero,gp,800003c0 <fail>
+ 80000130: 00301663 bne zero,gp,8000013c <test_4>
+ 80000134: fe209ee3 bne ra,sp,80000130 <test_3+0x14>
+ 80000138: 28301463 bne zero,gp,800003c0 <fail>
+
+000000008000013c <test_4>:
+ 8000013c: 00400193 li gp,4
+ 80000140: fff00093 li ra,-1
+ 80000144: 00100113 li sp,1
+ 80000148: 00209663 bne ra,sp,80000154 <test_4+0x18>
+ 8000014c: 26301a63 bne zero,gp,800003c0 <fail>
+ 80000150: 00301663 bne zero,gp,8000015c <test_5>
+ 80000154: fe209ee3 bne ra,sp,80000150 <test_4+0x14>
+ 80000158: 26301463 bne zero,gp,800003c0 <fail>
+
+000000008000015c <test_5>:
+ 8000015c: 00500193 li gp,5
+ 80000160: 00100093 li ra,1
+ 80000164: fff00113 li sp,-1
+ 80000168: 00209663 bne ra,sp,80000174 <test_5+0x18>
+ 8000016c: 24301a63 bne zero,gp,800003c0 <fail>
+ 80000170: 00301663 bne zero,gp,8000017c <test_6>
+ 80000174: fe209ee3 bne ra,sp,80000170 <test_5+0x14>
+ 80000178: 24301463 bne zero,gp,800003c0 <fail>
+
+000000008000017c <test_6>:
+ 8000017c: 00600193 li gp,6
+ 80000180: 00000093 li ra,0
+ 80000184: 00000113 li sp,0
+ 80000188: 00209463 bne ra,sp,80000190 <test_6+0x14>
+ 8000018c: 00301463 bne zero,gp,80000194 <test_6+0x18>
+ 80000190: 22301863 bne zero,gp,800003c0 <fail>
+ 80000194: fe209ee3 bne ra,sp,80000190 <test_6+0x14>
+
+0000000080000198 <test_7>:
+ 80000198: 00700193 li gp,7
+ 8000019c: 00100093 li ra,1
+ 800001a0: 00100113 li sp,1
+ 800001a4: 00209463 bne ra,sp,800001ac <test_7+0x14>
+ 800001a8: 00301463 bne zero,gp,800001b0 <test_7+0x18>
+ 800001ac: 20301a63 bne zero,gp,800003c0 <fail>
+ 800001b0: fe209ee3 bne ra,sp,800001ac <test_7+0x14>
+
+00000000800001b4 <test_8>:
+ 800001b4: 00800193 li gp,8
+ 800001b8: fff00093 li ra,-1
+ 800001bc: fff00113 li sp,-1
+ 800001c0: 00209463 bne ra,sp,800001c8 <test_8+0x14>
+ 800001c4: 00301463 bne zero,gp,800001cc <test_8+0x18>
+ 800001c8: 1e301c63 bne zero,gp,800003c0 <fail>
+ 800001cc: fe209ee3 bne ra,sp,800001c8 <test_8+0x14>
+
+00000000800001d0 <test_9>:
+ 800001d0: 00900193 li gp,9
+ 800001d4: 00000213 li tp,0
+ 800001d8: 00000093 li ra,0
+ 800001dc: 00000113 li sp,0
+ 800001e0: 1e209063 bne ra,sp,800003c0 <fail>
+ 800001e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800001e8: 00200293 li t0,2
+ 800001ec: fe5216e3 bne tp,t0,800001d8 <test_9+0x8>
+
+00000000800001f0 <test_10>:
+ 800001f0: 00a00193 li gp,10
+ 800001f4: 00000213 li tp,0
+ 800001f8: 00000093 li ra,0
+ 800001fc: 00000113 li sp,0
+ 80000200: 00000013 nop
+ 80000204: 1a209e63 bne ra,sp,800003c0 <fail>
+ 80000208: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000020c: 00200293 li t0,2
+ 80000210: fe5214e3 bne tp,t0,800001f8 <test_10+0x8>
+
+0000000080000214 <test_11>:
+ 80000214: 00b00193 li gp,11
+ 80000218: 00000213 li tp,0
+ 8000021c: 00000093 li ra,0
+ 80000220: 00000113 li sp,0
+ 80000224: 00000013 nop
+ 80000228: 00000013 nop
+ 8000022c: 18209a63 bne ra,sp,800003c0 <fail>
+ 80000230: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000234: 00200293 li t0,2
+ 80000238: fe5212e3 bne tp,t0,8000021c <test_11+0x8>
+
+000000008000023c <test_12>:
+ 8000023c: 00c00193 li gp,12
+ 80000240: 00000213 li tp,0
+ 80000244: 00000093 li ra,0
+ 80000248: 00000013 nop
+ 8000024c: 00000113 li sp,0
+ 80000250: 16209863 bne ra,sp,800003c0 <fail>
+ 80000254: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000258: 00200293 li t0,2
+ 8000025c: fe5214e3 bne tp,t0,80000244 <test_12+0x8>
+
+0000000080000260 <test_13>:
+ 80000260: 00d00193 li gp,13
+ 80000264: 00000213 li tp,0
+ 80000268: 00000093 li ra,0
+ 8000026c: 00000013 nop
+ 80000270: 00000113 li sp,0
+ 80000274: 00000013 nop
+ 80000278: 14209463 bne ra,sp,800003c0 <fail>
+ 8000027c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000280: 00200293 li t0,2
+ 80000284: fe5212e3 bne tp,t0,80000268 <test_13+0x8>
+
+0000000080000288 <test_14>:
+ 80000288: 00e00193 li gp,14
+ 8000028c: 00000213 li tp,0
+ 80000290: 00000093 li ra,0
+ 80000294: 00000013 nop
+ 80000298: 00000013 nop
+ 8000029c: 00000113 li sp,0
+ 800002a0: 12209063 bne ra,sp,800003c0 <fail>
+ 800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a8: 00200293 li t0,2
+ 800002ac: fe5212e3 bne tp,t0,80000290 <test_14+0x8>
+
+00000000800002b0 <test_15>:
+ 800002b0: 00f00193 li gp,15
+ 800002b4: 00000213 li tp,0
+ 800002b8: 00000093 li ra,0
+ 800002bc: 00000113 li sp,0
+ 800002c0: 10209063 bne ra,sp,800003c0 <fail>
+ 800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002c8: 00200293 li t0,2
+ 800002cc: fe5216e3 bne tp,t0,800002b8 <test_15+0x8>
+
+00000000800002d0 <test_16>:
+ 800002d0: 01000193 li gp,16
+ 800002d4: 00000213 li tp,0
+ 800002d8: 00000093 li ra,0
+ 800002dc: 00000113 li sp,0
+ 800002e0: 00000013 nop
+ 800002e4: 0c209e63 bne ra,sp,800003c0 <fail>
+ 800002e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002ec: 00200293 li t0,2
+ 800002f0: fe5214e3 bne tp,t0,800002d8 <test_16+0x8>
+
+00000000800002f4 <test_17>:
+ 800002f4: 01100193 li gp,17
+ 800002f8: 00000213 li tp,0
+ 800002fc: 00000093 li ra,0
+ 80000300: 00000113 li sp,0
+ 80000304: 00000013 nop
+ 80000308: 00000013 nop
+ 8000030c: 0a209a63 bne ra,sp,800003c0 <fail>
+ 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000314: 00200293 li t0,2
+ 80000318: fe5212e3 bne tp,t0,800002fc <test_17+0x8>
+
+000000008000031c <test_18>:
+ 8000031c: 01200193 li gp,18
+ 80000320: 00000213 li tp,0
+ 80000324: 00000093 li ra,0
+ 80000328: 00000013 nop
+ 8000032c: 00000113 li sp,0
+ 80000330: 08209863 bne ra,sp,800003c0 <fail>
+ 80000334: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000338: 00200293 li t0,2
+ 8000033c: fe5214e3 bne tp,t0,80000324 <test_18+0x8>
+
+0000000080000340 <test_19>:
+ 80000340: 01300193 li gp,19
+ 80000344: 00000213 li tp,0
+ 80000348: 00000093 li ra,0
+ 8000034c: 00000013 nop
+ 80000350: 00000113 li sp,0
+ 80000354: 00000013 nop
+ 80000358: 06209463 bne ra,sp,800003c0 <fail>
+ 8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000360: 00200293 li t0,2
+ 80000364: fe5212e3 bne tp,t0,80000348 <test_19+0x8>
+
+0000000080000368 <test_20>:
+ 80000368: 01400193 li gp,20
+ 8000036c: 00000213 li tp,0
+ 80000370: 00000093 li ra,0
+ 80000374: 00000013 nop
+ 80000378: 00000013 nop
+ 8000037c: 00000113 li sp,0
+ 80000380: 04209063 bne ra,sp,800003c0 <fail>
+ 80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000388: 00200293 li t0,2
+ 8000038c: fe5212e3 bne tp,t0,80000370 <test_20+0x8>
+
+0000000080000390 <test_21>:
+ 80000390: 00100093 li ra,1
+ 80000394: 00009a63 bnez ra,800003a8 <test_21+0x18>
+ 80000398: 00108093 addi ra,ra,1
+ 8000039c: 00108093 addi ra,ra,1
+ 800003a0: 00108093 addi ra,ra,1
+ 800003a4: 00108093 addi ra,ra,1
+ 800003a8: 00108093 addi ra,ra,1
+ 800003ac: 00108093 addi ra,ra,1
+ 800003b0: 00300e93 li t4,3
+ 800003b4: 01500193 li gp,21
+ 800003b8: 01d09463 bne ra,t4,800003c0 <fail>
+ 800003bc: 00301c63 bne zero,gp,800003d4 <pass>
+
+00000000800003c0 <fail>:
+ 800003c0: 0ff0000f fence
+ 800003c4: 00018063 beqz gp,800003c4 <fail+0x4>
+ 800003c8: 00119193 slli gp,gp,0x1
+ 800003cc: 0011e193 ori gp,gp,1
+ 800003d0: 00000073 ecall
+
+00000000800003d4 <pass>:
+ 800003d4: 0ff0000f fence
+ 800003d8: 00100193 li gp,1
+ 800003dc: 00000073 ecall
+ 800003e0: c0001073 unimp
+ 800003e4: 0000 unimp
+ 800003e6: 0000 unimp
+ 800003e8: 0000 unimp
+ 800003ea: 0000 unimp
+ 800003ec: 0000 unimp
+ 800003ee: 0000 unimp
+ 800003f0: 0000 unimp
+ 800003f2: 0000 unimp
+ 800003f4: 0000 unimp
+ 800003f6: 0000 unimp
+ 800003f8: 0000 unimp
+ 800003fa: 0000 unimp
+ 800003fc: 0000 unimp
+ 800003fe: 0000 unimp
+ 80000400: 0000 unimp
+ 80000402: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-bne.elf b/test/riscv/tests/rv64ui-p-bne.elf
new file mode 100755
index 00000000..f44e9132
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-bne.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-fence_i.dump b/test/riscv/tests/rv64ui-p-fence_i.dump
new file mode 100644
index 00000000..8bbfcfdb
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-fence_i.dump
@@ -0,0 +1,189 @@
+
+rv64ui-p-fence_i: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <reset_vector+0xb0>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+ 800000fc: 06f00693 li a3,111
+ 80000100: 00002517 auipc a0,0x2
+ 80000104: f0051503 lh a0,-256(a0) # 80002000 <begin_signature>
+ 80000108: 00002597 auipc a1,0x2
+ 8000010c: efa59583 lh a1,-262(a1) # 80002002 <begin_signature+0x2>
+ 80000110: 00000013 nop
+ 80000114: 00000013 nop
+ 80000118: 00000013 nop
+ 8000011c: 00000013 nop
+ 80000120: 00000013 nop
+ 80000124: 00000013 nop
+ 80000128: 00000013 nop
+ 8000012c: 00000013 nop
+ 80000130: 00000013 nop
+ 80000134: 00000013 nop
+ 80000138: 00000013 nop
+ 8000013c: 00000013 nop
+ 80000140: 00000297 auipc t0,0x0
+ 80000144: 00a29a23 sh a0,20(t0) # 80000154 <reset_vector+0x108>
+ 80000148: 00000297 auipc t0,0x0
+ 8000014c: 00b29723 sh a1,14(t0) # 80000156 <reset_vector+0x10a>
+ 80000150: 0000100f fence.i
+ 80000154: 0de68693 addi a3,a3,222
+
+0000000080000158 <test_2>:
+ 80000158: 00000013 nop
+ 8000015c: 1bc00e93 li t4,444
+ 80000160: 00200193 li gp,2
+ 80000164: 07d69a63 bne a3,t4,800001d8 <fail>
+ 80000168: 06400713 li a4,100
+ 8000016c: fff70713 addi a4,a4,-1
+ 80000170: fe071ee3 bnez a4,8000016c <test_2+0x14>
+ 80000174: 00000297 auipc t0,0x0
+ 80000178: 04a29623 sh a0,76(t0) # 800001c0 <test_2+0x68>
+ 8000017c: 00000297 auipc t0,0x0
+ 80000180: 04b29323 sh a1,70(t0) # 800001c2 <test_2+0x6a>
+ 80000184: 0000100f fence.i
+ 80000188: 00000013 nop
+ 8000018c: 00000013 nop
+ 80000190: 00000013 nop
+ 80000194: 00000013 nop
+ 80000198: 00000013 nop
+ 8000019c: 00000013 nop
+ 800001a0: 00000013 nop
+ 800001a4: 00000013 nop
+ 800001a8: 00000013 nop
+ 800001ac: 00000013 nop
+ 800001b0: 00000013 nop
+ 800001b4: 00000013 nop
+ 800001b8: 00000013 nop
+ 800001bc: 00000013 nop
+ 800001c0: 22b68693 addi a3,a3,555
+
+00000000800001c4 <test_3>:
+ 800001c4: 00000013 nop
+ 800001c8: 30900e93 li t4,777
+ 800001cc: 00300193 li gp,3
+ 800001d0: 01d69463 bne a3,t4,800001d8 <fail>
+ 800001d4: 00301c63 bne zero,gp,800001ec <pass>
+
+00000000800001d8 <fail>:
+ 800001d8: 0ff0000f fence
+ 800001dc: 00018063 beqz gp,800001dc <fail+0x4>
+ 800001e0: 00119193 slli gp,gp,0x1
+ 800001e4: 0011e193 ori gp,gp,1
+ 800001e8: 00000073 ecall
+
+00000000800001ec <pass>:
+ 800001ec: 0ff0000f fence
+ 800001f0: 00100193 li gp,1
+ 800001f4: 00000073 ecall
+ 800001f8: c0001073 unimp
+ 800001fc: 0000 unimp
+ 800001fe: 0000 unimp
+ 80000200: 0000 unimp
+ 80000202: 0000 unimp
+ 80000204: 0000 unimp
+ 80000206: 0000 unimp
+ 80000208: 0000 unimp
+ 8000020a: 0000 unimp
+ 8000020c: 0000 unimp
+ 8000020e: 0000 unimp
+ 80000210: 0000 unimp
+ 80000212: 0000 unimp
+ 80000214: 0000 unimp
+ 80000216: 0000 unimp
+ 80000218: 0000 unimp
+ 8000021a: 0000 unimp
+ 8000021c: 0000 unimp
+ 8000021e: 0000 unimp
+ 80000220: 0000 unimp
+ 80000222: 0000 unimp
+ 80000224: 0000 unimp
+ 80000226: 0000 unimp
+ 80000228: 0000 unimp
+ 8000022a: 0000 unimp
+ 8000022c: 0000 unimp
+ 8000022e: 0000 unimp
+ 80000230: 0000 unimp
+ 80000232: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: 14d68693 addi a3,a3,333
+ 80002004: 0000 unimp
+ 80002006: 0000 unimp
+ 80002008: 0000 unimp
+ 8000200a: 0000 unimp
+ 8000200c: 0000 unimp
+ 8000200e: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-fence_i.elf b/test/riscv/tests/rv64ui-p-fence_i.elf
new file mode 100755
index 00000000..da16800e
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-fence_i.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-jal.dump b/test/riscv/tests/rv64ui-p-jal.dump
new file mode 100644
index 00000000..2a86bb86
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-jal.dump
@@ -0,0 +1,128 @@
+
+rv64ui-p-jal: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00200193 li gp,2
+ 80000100: 00000093 li ra,0
+ 80000104: 0100026f jal tp,80000114 <target_2>
+
+0000000080000108 <linkaddr_2>:
+ 80000108: 00000013 nop
+ 8000010c: 00000013 nop
+ 80000110: 0400006f j 80000150 <fail>
+
+0000000080000114 <target_2>:
+ 80000114: 00000117 auipc sp,0x0
+ 80000118: ff410113 addi sp,sp,-12 # 80000108 <linkaddr_2>
+ 8000011c: 02411a63 bne sp,tp,80000150 <fail>
+
+0000000080000120 <test_3>:
+ 80000120: 00100093 li ra,1
+ 80000124: 0140006f j 80000138 <test_3+0x18>
+ 80000128: 00108093 addi ra,ra,1
+ 8000012c: 00108093 addi ra,ra,1
+ 80000130: 00108093 addi ra,ra,1
+ 80000134: 00108093 addi ra,ra,1
+ 80000138: 00108093 addi ra,ra,1
+ 8000013c: 00108093 addi ra,ra,1
+ 80000140: 00300e93 li t4,3
+ 80000144: 00300193 li gp,3
+ 80000148: 01d09463 bne ra,t4,80000150 <fail>
+ 8000014c: 00301c63 bne zero,gp,80000164 <pass>
+
+0000000080000150 <fail>:
+ 80000150: 0ff0000f fence
+ 80000154: 00018063 beqz gp,80000154 <fail+0x4>
+ 80000158: 00119193 slli gp,gp,0x1
+ 8000015c: 0011e193 ori gp,gp,1
+ 80000160: 00000073 ecall
+
+0000000080000164 <pass>:
+ 80000164: 0ff0000f fence
+ 80000168: 00100193 li gp,1
+ 8000016c: 00000073 ecall
+ 80000170: c0001073 unimp
+ 80000174: 0000 unimp
+ 80000176: 0000 unimp
+ 80000178: 0000 unimp
+ 8000017a: 0000 unimp
+ 8000017c: 0000 unimp
+ 8000017e: 0000 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-jal.elf b/test/riscv/tests/rv64ui-p-jal.elf
new file mode 100755
index 00000000..a6a2933f
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-jal.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-jalr.dump b/test/riscv/tests/rv64ui-p-jalr.dump
new file mode 100644
index 00000000..029a6922
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-jalr.dump
@@ -0,0 +1,166 @@
+
+rv64ui-p-jalr: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00200193 li gp,2
+ 80000100: 00000293 li t0,0
+ 80000104: 00000317 auipc t1,0x0
+ 80000108: 01030313 addi t1,t1,16 # 80000114 <target_2>
+ 8000010c: 000302e7 jalr t0,t1
+
+0000000080000110 <linkaddr_2>:
+ 80000110: 0c00006f j 800001d0 <fail>
+
+0000000080000114 <target_2>:
+ 80000114: 00000317 auipc t1,0x0
+ 80000118: ffc30313 addi t1,t1,-4 # 80000110 <linkaddr_2>
+ 8000011c: 0a629a63 bne t0,t1,800001d0 <fail>
+
+0000000080000120 <test_4>:
+ 80000120: 00400193 li gp,4
+ 80000124: 00000213 li tp,0
+ 80000128: 00000317 auipc t1,0x0
+ 8000012c: 01030313 addi t1,t1,16 # 80000138 <test_4+0x18>
+ 80000130: 000309e7 jalr s3,t1
+ 80000134: 08301e63 bne zero,gp,800001d0 <fail>
+ 80000138: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000013c: 00200293 li t0,2
+ 80000140: fe5214e3 bne tp,t0,80000128 <test_4+0x8>
+
+0000000080000144 <test_5>:
+ 80000144: 00500193 li gp,5
+ 80000148: 00000213 li tp,0
+ 8000014c: 00000317 auipc t1,0x0
+ 80000150: 01430313 addi t1,t1,20 # 80000160 <test_5+0x1c>
+ 80000154: 00000013 nop
+ 80000158: 000309e7 jalr s3,t1
+ 8000015c: 06301a63 bne zero,gp,800001d0 <fail>
+ 80000160: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000164: 00200293 li t0,2
+ 80000168: fe5212e3 bne tp,t0,8000014c <test_5+0x8>
+
+000000008000016c <test_6>:
+ 8000016c: 00600193 li gp,6
+ 80000170: 00000213 li tp,0
+ 80000174: 00000317 auipc t1,0x0
+ 80000178: 01830313 addi t1,t1,24 # 8000018c <test_6+0x20>
+ 8000017c: 00000013 nop
+ 80000180: 00000013 nop
+ 80000184: 000309e7 jalr s3,t1
+ 80000188: 04301463 bne zero,gp,800001d0 <fail>
+ 8000018c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000190: 00200293 li t0,2
+ 80000194: fe5210e3 bne tp,t0,80000174 <test_6+0x8>
+
+0000000080000198 <test_7>:
+ 80000198: 00100293 li t0,1
+ 8000019c: 00000317 auipc t1,0x0
+ 800001a0: 01c30313 addi t1,t1,28 # 800001b8 <test_7+0x20>
+ 800001a4: ffc30067 jr -4(t1)
+ 800001a8: 00128293 addi t0,t0,1
+ 800001ac: 00128293 addi t0,t0,1
+ 800001b0: 00128293 addi t0,t0,1
+ 800001b4: 00128293 addi t0,t0,1
+ 800001b8: 00128293 addi t0,t0,1
+ 800001bc: 00128293 addi t0,t0,1
+ 800001c0: 00400e93 li t4,4
+ 800001c4: 00700193 li gp,7
+ 800001c8: 01d29463 bne t0,t4,800001d0 <fail>
+ 800001cc: 00301c63 bne zero,gp,800001e4 <pass>
+
+00000000800001d0 <fail>:
+ 800001d0: 0ff0000f fence
+ 800001d4: 00018063 beqz gp,800001d4 <fail+0x4>
+ 800001d8: 00119193 slli gp,gp,0x1
+ 800001dc: 0011e193 ori gp,gp,1
+ 800001e0: 00000073 ecall
+
+00000000800001e4 <pass>:
+ 800001e4: 0ff0000f fence
+ 800001e8: 00100193 li gp,1
+ 800001ec: 00000073 ecall
+ 800001f0: c0001073 unimp
+ 800001f4: 0000 unimp
+ 800001f6: 0000 unimp
+ 800001f8: 0000 unimp
+ 800001fa: 0000 unimp
+ 800001fc: 0000 unimp
+ 800001fe: 0000 unimp
+ 80000200: 0000 unimp
+ 80000202: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-jalr.elf b/test/riscv/tests/rv64ui-p-jalr.elf
new file mode 100755
index 00000000..709778a9
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-jalr.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-lb.dump b/test/riscv/tests/rv64ui-p-lb.dump
new file mode 100644
index 00000000..dbf78e7d
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lb.dump
@@ -0,0 +1,306 @@
+
+rv64ui-p-lb: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00002097 auipc ra,0x2
+ 80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature>
+ 80000104: 00008f03 lb t5,0(ra)
+ 80000108: fff00e93 li t4,-1
+ 8000010c: 00200193 li gp,2
+ 80000110: 23df1c63 bne t5,t4,80000348 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00002097 auipc ra,0x2
+ 80000118: eec08093 addi ra,ra,-276 # 80002000 <begin_signature>
+ 8000011c: 00108f03 lb t5,1(ra)
+ 80000120: 00000e93 li t4,0
+ 80000124: 00300193 li gp,3
+ 80000128: 23df1063 bne t5,t4,80000348 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00002097 auipc ra,0x2
+ 80000130: ed408093 addi ra,ra,-300 # 80002000 <begin_signature>
+ 80000134: 00208f03 lb t5,2(ra)
+ 80000138: ff000e93 li t4,-16
+ 8000013c: 00400193 li gp,4
+ 80000140: 21df1463 bne t5,t4,80000348 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00002097 auipc ra,0x2
+ 80000148: ebc08093 addi ra,ra,-324 # 80002000 <begin_signature>
+ 8000014c: 00308f03 lb t5,3(ra)
+ 80000150: 00f00e93 li t4,15
+ 80000154: 00500193 li gp,5
+ 80000158: 1fdf1863 bne t5,t4,80000348 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 00002097 auipc ra,0x2
+ 80000160: ea708093 addi ra,ra,-345 # 80002003 <tdat4>
+ 80000164: ffd08f03 lb t5,-3(ra)
+ 80000168: fff00e93 li t4,-1
+ 8000016c: 00600193 li gp,6
+ 80000170: 1ddf1c63 bne t5,t4,80000348 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 00002097 auipc ra,0x2
+ 80000178: e8f08093 addi ra,ra,-369 # 80002003 <tdat4>
+ 8000017c: ffe08f03 lb t5,-2(ra)
+ 80000180: 00000e93 li t4,0
+ 80000184: 00700193 li gp,7
+ 80000188: 1ddf1063 bne t5,t4,80000348 <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 00002097 auipc ra,0x2
+ 80000190: e7708093 addi ra,ra,-393 # 80002003 <tdat4>
+ 80000194: fff08f03 lb t5,-1(ra)
+ 80000198: ff000e93 li t4,-16
+ 8000019c: 00800193 li gp,8
+ 800001a0: 1bdf1463 bne t5,t4,80000348 <fail>
+
+00000000800001a4 <test_9>:
+ 800001a4: 00002097 auipc ra,0x2
+ 800001a8: e5f08093 addi ra,ra,-417 # 80002003 <tdat4>
+ 800001ac: 00008f03 lb t5,0(ra)
+ 800001b0: 00f00e93 li t4,15
+ 800001b4: 00900193 li gp,9
+ 800001b8: 19df1863 bne t5,t4,80000348 <fail>
+
+00000000800001bc <test_10>:
+ 800001bc: 00002097 auipc ra,0x2
+ 800001c0: e4408093 addi ra,ra,-444 # 80002000 <begin_signature>
+ 800001c4: fe008093 addi ra,ra,-32
+ 800001c8: 02008283 lb t0,32(ra)
+ 800001cc: fff00e93 li t4,-1
+ 800001d0: 00a00193 li gp,10
+ 800001d4: 17d29a63 bne t0,t4,80000348 <fail>
+
+00000000800001d8 <test_11>:
+ 800001d8: 00002097 auipc ra,0x2
+ 800001dc: e2808093 addi ra,ra,-472 # 80002000 <begin_signature>
+ 800001e0: ffa08093 addi ra,ra,-6
+ 800001e4: 00708283 lb t0,7(ra)
+ 800001e8: 00000e93 li t4,0
+ 800001ec: 00b00193 li gp,11
+ 800001f0: 15d29c63 bne t0,t4,80000348 <fail>
+
+00000000800001f4 <test_12>:
+ 800001f4: 00c00193 li gp,12
+ 800001f8: 00000213 li tp,0
+ 800001fc: 00002097 auipc ra,0x2
+ 80000200: e0508093 addi ra,ra,-507 # 80002001 <tdat2>
+ 80000204: 00108f03 lb t5,1(ra)
+ 80000208: 000f0313 mv t1,t5
+ 8000020c: ff000e93 li t4,-16
+ 80000210: 13d31c63 bne t1,t4,80000348 <fail>
+ 80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000218: 00200293 li t0,2
+ 8000021c: fe5210e3 bne tp,t0,800001fc <test_12+0x8>
+
+0000000080000220 <test_13>:
+ 80000220: 00d00193 li gp,13
+ 80000224: 00000213 li tp,0
+ 80000228: 00002097 auipc ra,0x2
+ 8000022c: dda08093 addi ra,ra,-550 # 80002002 <tdat3>
+ 80000230: 00108f03 lb t5,1(ra)
+ 80000234: 00000013 nop
+ 80000238: 000f0313 mv t1,t5
+ 8000023c: 00f00e93 li t4,15
+ 80000240: 11d31463 bne t1,t4,80000348 <fail>
+ 80000244: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000248: 00200293 li t0,2
+ 8000024c: fc521ee3 bne tp,t0,80000228 <test_13+0x8>
+
+0000000080000250 <test_14>:
+ 80000250: 00e00193 li gp,14
+ 80000254: 00000213 li tp,0
+ 80000258: 00002097 auipc ra,0x2
+ 8000025c: da808093 addi ra,ra,-600 # 80002000 <begin_signature>
+ 80000260: 00108f03 lb t5,1(ra)
+ 80000264: 00000013 nop
+ 80000268: 00000013 nop
+ 8000026c: 000f0313 mv t1,t5
+ 80000270: 00000e93 li t4,0
+ 80000274: 0dd31a63 bne t1,t4,80000348 <fail>
+ 80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000027c: 00200293 li t0,2
+ 80000280: fc521ce3 bne tp,t0,80000258 <test_14+0x8>
+
+0000000080000284 <test_15>:
+ 80000284: 00f00193 li gp,15
+ 80000288: 00000213 li tp,0
+ 8000028c: 00002097 auipc ra,0x2
+ 80000290: d7508093 addi ra,ra,-651 # 80002001 <tdat2>
+ 80000294: 00108f03 lb t5,1(ra)
+ 80000298: ff000e93 li t4,-16
+ 8000029c: 0bdf1663 bne t5,t4,80000348 <fail>
+ 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a4: 00200293 li t0,2
+ 800002a8: fe5212e3 bne tp,t0,8000028c <test_15+0x8>
+
+00000000800002ac <test_16>:
+ 800002ac: 01000193 li gp,16
+ 800002b0: 00000213 li tp,0
+ 800002b4: 00002097 auipc ra,0x2
+ 800002b8: d4e08093 addi ra,ra,-690 # 80002002 <tdat3>
+ 800002bc: 00000013 nop
+ 800002c0: 00108f03 lb t5,1(ra)
+ 800002c4: 00f00e93 li t4,15
+ 800002c8: 09df1063 bne t5,t4,80000348 <fail>
+ 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002d0: 00200293 li t0,2
+ 800002d4: fe5210e3 bne tp,t0,800002b4 <test_16+0x8>
+
+00000000800002d8 <test_17>:
+ 800002d8: 01100193 li gp,17
+ 800002dc: 00000213 li tp,0
+ 800002e0: 00002097 auipc ra,0x2
+ 800002e4: d2008093 addi ra,ra,-736 # 80002000 <begin_signature>
+ 800002e8: 00000013 nop
+ 800002ec: 00000013 nop
+ 800002f0: 00108f03 lb t5,1(ra)
+ 800002f4: 00000e93 li t4,0
+ 800002f8: 05df1863 bne t5,t4,80000348 <fail>
+ 800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000300: 00200293 li t0,2
+ 80000304: fc521ee3 bne tp,t0,800002e0 <test_17+0x8>
+
+0000000080000308 <test_18>:
+ 80000308: 00002297 auipc t0,0x2
+ 8000030c: cf828293 addi t0,t0,-776 # 80002000 <begin_signature>
+ 80000310: 00028103 lb sp,0(t0)
+ 80000314: 00200113 li sp,2
+ 80000318: 00200e93 li t4,2
+ 8000031c: 01200193 li gp,18
+ 80000320: 03d11463 bne sp,t4,80000348 <fail>
+
+0000000080000324 <test_19>:
+ 80000324: 00002297 auipc t0,0x2
+ 80000328: cdc28293 addi t0,t0,-804 # 80002000 <begin_signature>
+ 8000032c: 00028103 lb sp,0(t0)
+ 80000330: 00000013 nop
+ 80000334: 00200113 li sp,2
+ 80000338: 00200e93 li t4,2
+ 8000033c: 01300193 li gp,19
+ 80000340: 01d11463 bne sp,t4,80000348 <fail>
+ 80000344: 00301c63 bne zero,gp,8000035c <pass>
+
+0000000080000348 <fail>:
+ 80000348: 0ff0000f fence
+ 8000034c: 00018063 beqz gp,8000034c <fail+0x4>
+ 80000350: 00119193 slli gp,gp,0x1
+ 80000354: 0011e193 ori gp,gp,1
+ 80000358: 00000073 ecall
+
+000000008000035c <pass>:
+ 8000035c: 0ff0000f fence
+ 80000360: 00100193 li gp,1
+ 80000364: 00000073 ecall
+ 80000368: c0001073 unimp
+ 8000036c: 0000 unimp
+ 8000036e: 0000 unimp
+ 80000370: 0000 unimp
+ 80000372: 0000 unimp
+ 80000374: 0000 unimp
+ 80000376: 0000 unimp
+ 80000378: 0000 unimp
+ 8000037a: 0000 unimp
+ 8000037c: 0000 unimp
+ 8000037e: 0000 unimp
+ 80000380: 0000 unimp
+ 80000382: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: 0xff
+
+0000000080002001 <tdat2>:
+ 80002001: sd s0,32(s0)
+
+0000000080002002 <tdat3>:
+ 80002002: addi a2,sp,988
+
+0000000080002003 <tdat4>:
+ 80002003: 0000000f fence unknown,unknown
+ 80002007: 0000 unimp
+ 80002009: 0000 unimp
+ 8000200b: 0000 unimp
+ 8000200d: 0000 unimp
+ 8000200f: 00 Address 0x000000008000200f is out of bounds.
+
diff --git a/test/riscv/tests/rv64ui-p-lb.elf b/test/riscv/tests/rv64ui-p-lb.elf
new file mode 100755
index 00000000..c1723c06
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lb.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-lbu.dump b/test/riscv/tests/rv64ui-p-lbu.dump
new file mode 100644
index 00000000..4365b07b
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lbu.dump
@@ -0,0 +1,306 @@
+
+rv64ui-p-lbu: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00002097 auipc ra,0x2
+ 80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature>
+ 80000104: 0000cf03 lbu t5,0(ra)
+ 80000108: 0ff00e93 li t4,255
+ 8000010c: 00200193 li gp,2
+ 80000110: 23df1c63 bne t5,t4,80000348 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00002097 auipc ra,0x2
+ 80000118: eec08093 addi ra,ra,-276 # 80002000 <begin_signature>
+ 8000011c: 0010cf03 lbu t5,1(ra)
+ 80000120: 00000e93 li t4,0
+ 80000124: 00300193 li gp,3
+ 80000128: 23df1063 bne t5,t4,80000348 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00002097 auipc ra,0x2
+ 80000130: ed408093 addi ra,ra,-300 # 80002000 <begin_signature>
+ 80000134: 0020cf03 lbu t5,2(ra)
+ 80000138: 0f000e93 li t4,240
+ 8000013c: 00400193 li gp,4
+ 80000140: 21df1463 bne t5,t4,80000348 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00002097 auipc ra,0x2
+ 80000148: ebc08093 addi ra,ra,-324 # 80002000 <begin_signature>
+ 8000014c: 0030cf03 lbu t5,3(ra)
+ 80000150: 00f00e93 li t4,15
+ 80000154: 00500193 li gp,5
+ 80000158: 1fdf1863 bne t5,t4,80000348 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 00002097 auipc ra,0x2
+ 80000160: ea708093 addi ra,ra,-345 # 80002003 <tdat4>
+ 80000164: ffd0cf03 lbu t5,-3(ra)
+ 80000168: 0ff00e93 li t4,255
+ 8000016c: 00600193 li gp,6
+ 80000170: 1ddf1c63 bne t5,t4,80000348 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 00002097 auipc ra,0x2
+ 80000178: e8f08093 addi ra,ra,-369 # 80002003 <tdat4>
+ 8000017c: ffe0cf03 lbu t5,-2(ra)
+ 80000180: 00000e93 li t4,0
+ 80000184: 00700193 li gp,7
+ 80000188: 1ddf1063 bne t5,t4,80000348 <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 00002097 auipc ra,0x2
+ 80000190: e7708093 addi ra,ra,-393 # 80002003 <tdat4>
+ 80000194: fff0cf03 lbu t5,-1(ra)
+ 80000198: 0f000e93 li t4,240
+ 8000019c: 00800193 li gp,8
+ 800001a0: 1bdf1463 bne t5,t4,80000348 <fail>
+
+00000000800001a4 <test_9>:
+ 800001a4: 00002097 auipc ra,0x2
+ 800001a8: e5f08093 addi ra,ra,-417 # 80002003 <tdat4>
+ 800001ac: 0000cf03 lbu t5,0(ra)
+ 800001b0: 00f00e93 li t4,15
+ 800001b4: 00900193 li gp,9
+ 800001b8: 19df1863 bne t5,t4,80000348 <fail>
+
+00000000800001bc <test_10>:
+ 800001bc: 00002097 auipc ra,0x2
+ 800001c0: e4408093 addi ra,ra,-444 # 80002000 <begin_signature>
+ 800001c4: fe008093 addi ra,ra,-32
+ 800001c8: 0200c283 lbu t0,32(ra)
+ 800001cc: 0ff00e93 li t4,255
+ 800001d0: 00a00193 li gp,10
+ 800001d4: 17d29a63 bne t0,t4,80000348 <fail>
+
+00000000800001d8 <test_11>:
+ 800001d8: 00002097 auipc ra,0x2
+ 800001dc: e2808093 addi ra,ra,-472 # 80002000 <begin_signature>
+ 800001e0: ffa08093 addi ra,ra,-6
+ 800001e4: 0070c283 lbu t0,7(ra)
+ 800001e8: 00000e93 li t4,0
+ 800001ec: 00b00193 li gp,11
+ 800001f0: 15d29c63 bne t0,t4,80000348 <fail>
+
+00000000800001f4 <test_12>:
+ 800001f4: 00c00193 li gp,12
+ 800001f8: 00000213 li tp,0
+ 800001fc: 00002097 auipc ra,0x2
+ 80000200: e0508093 addi ra,ra,-507 # 80002001 <tdat2>
+ 80000204: 0010cf03 lbu t5,1(ra)
+ 80000208: 000f0313 mv t1,t5
+ 8000020c: 0f000e93 li t4,240
+ 80000210: 13d31c63 bne t1,t4,80000348 <fail>
+ 80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000218: 00200293 li t0,2
+ 8000021c: fe5210e3 bne tp,t0,800001fc <test_12+0x8>
+
+0000000080000220 <test_13>:
+ 80000220: 00d00193 li gp,13
+ 80000224: 00000213 li tp,0
+ 80000228: 00002097 auipc ra,0x2
+ 8000022c: dda08093 addi ra,ra,-550 # 80002002 <tdat3>
+ 80000230: 0010cf03 lbu t5,1(ra)
+ 80000234: 00000013 nop
+ 80000238: 000f0313 mv t1,t5
+ 8000023c: 00f00e93 li t4,15
+ 80000240: 11d31463 bne t1,t4,80000348 <fail>
+ 80000244: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000248: 00200293 li t0,2
+ 8000024c: fc521ee3 bne tp,t0,80000228 <test_13+0x8>
+
+0000000080000250 <test_14>:
+ 80000250: 00e00193 li gp,14
+ 80000254: 00000213 li tp,0
+ 80000258: 00002097 auipc ra,0x2
+ 8000025c: da808093 addi ra,ra,-600 # 80002000 <begin_signature>
+ 80000260: 0010cf03 lbu t5,1(ra)
+ 80000264: 00000013 nop
+ 80000268: 00000013 nop
+ 8000026c: 000f0313 mv t1,t5
+ 80000270: 00000e93 li t4,0
+ 80000274: 0dd31a63 bne t1,t4,80000348 <fail>
+ 80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000027c: 00200293 li t0,2
+ 80000280: fc521ce3 bne tp,t0,80000258 <test_14+0x8>
+
+0000000080000284 <test_15>:
+ 80000284: 00f00193 li gp,15
+ 80000288: 00000213 li tp,0
+ 8000028c: 00002097 auipc ra,0x2
+ 80000290: d7508093 addi ra,ra,-651 # 80002001 <tdat2>
+ 80000294: 0010cf03 lbu t5,1(ra)
+ 80000298: 0f000e93 li t4,240
+ 8000029c: 0bdf1663 bne t5,t4,80000348 <fail>
+ 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a4: 00200293 li t0,2
+ 800002a8: fe5212e3 bne tp,t0,8000028c <test_15+0x8>
+
+00000000800002ac <test_16>:
+ 800002ac: 01000193 li gp,16
+ 800002b0: 00000213 li tp,0
+ 800002b4: 00002097 auipc ra,0x2
+ 800002b8: d4e08093 addi ra,ra,-690 # 80002002 <tdat3>
+ 800002bc: 00000013 nop
+ 800002c0: 0010cf03 lbu t5,1(ra)
+ 800002c4: 00f00e93 li t4,15
+ 800002c8: 09df1063 bne t5,t4,80000348 <fail>
+ 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002d0: 00200293 li t0,2
+ 800002d4: fe5210e3 bne tp,t0,800002b4 <test_16+0x8>
+
+00000000800002d8 <test_17>:
+ 800002d8: 01100193 li gp,17
+ 800002dc: 00000213 li tp,0
+ 800002e0: 00002097 auipc ra,0x2
+ 800002e4: d2008093 addi ra,ra,-736 # 80002000 <begin_signature>
+ 800002e8: 00000013 nop
+ 800002ec: 00000013 nop
+ 800002f0: 0010cf03 lbu t5,1(ra)
+ 800002f4: 00000e93 li t4,0
+ 800002f8: 05df1863 bne t5,t4,80000348 <fail>
+ 800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000300: 00200293 li t0,2
+ 80000304: fc521ee3 bne tp,t0,800002e0 <test_17+0x8>
+
+0000000080000308 <test_18>:
+ 80000308: 00002297 auipc t0,0x2
+ 8000030c: cf828293 addi t0,t0,-776 # 80002000 <begin_signature>
+ 80000310: 0002c103 lbu sp,0(t0)
+ 80000314: 00200113 li sp,2
+ 80000318: 00200e93 li t4,2
+ 8000031c: 01200193 li gp,18
+ 80000320: 03d11463 bne sp,t4,80000348 <fail>
+
+0000000080000324 <test_19>:
+ 80000324: 00002297 auipc t0,0x2
+ 80000328: cdc28293 addi t0,t0,-804 # 80002000 <begin_signature>
+ 8000032c: 0002c103 lbu sp,0(t0)
+ 80000330: 00000013 nop
+ 80000334: 00200113 li sp,2
+ 80000338: 00200e93 li t4,2
+ 8000033c: 01300193 li gp,19
+ 80000340: 01d11463 bne sp,t4,80000348 <fail>
+ 80000344: 00301c63 bne zero,gp,8000035c <pass>
+
+0000000080000348 <fail>:
+ 80000348: 0ff0000f fence
+ 8000034c: 00018063 beqz gp,8000034c <fail+0x4>
+ 80000350: 00119193 slli gp,gp,0x1
+ 80000354: 0011e193 ori gp,gp,1
+ 80000358: 00000073 ecall
+
+000000008000035c <pass>:
+ 8000035c: 0ff0000f fence
+ 80000360: 00100193 li gp,1
+ 80000364: 00000073 ecall
+ 80000368: c0001073 unimp
+ 8000036c: 0000 unimp
+ 8000036e: 0000 unimp
+ 80000370: 0000 unimp
+ 80000372: 0000 unimp
+ 80000374: 0000 unimp
+ 80000376: 0000 unimp
+ 80000378: 0000 unimp
+ 8000037a: 0000 unimp
+ 8000037c: 0000 unimp
+ 8000037e: 0000 unimp
+ 80000380: 0000 unimp
+ 80000382: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: 0xff
+
+0000000080002001 <tdat2>:
+ 80002001: sd s0,32(s0)
+
+0000000080002002 <tdat3>:
+ 80002002: addi a2,sp,988
+
+0000000080002003 <tdat4>:
+ 80002003: 0000000f fence unknown,unknown
+ 80002007: 0000 unimp
+ 80002009: 0000 unimp
+ 8000200b: 0000 unimp
+ 8000200d: 0000 unimp
+ 8000200f: 00 Address 0x000000008000200f is out of bounds.
+
diff --git a/test/riscv/tests/rv64ui-p-lbu.elf b/test/riscv/tests/rv64ui-p-lbu.elf
new file mode 100755
index 00000000..e14ea798
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lbu.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-ld.dump b/test/riscv/tests/rv64ui-p-ld.dump
new file mode 100644
index 00000000..dcebe2d6
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-ld.dump
@@ -0,0 +1,406 @@
+
+rv64ui-p-ld: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00002097 auipc ra,0x2
+ 80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature>
+ 80000104: 0000bf03 ld t5,0(ra)
+ 80000108: 00ff0eb7 lui t4,0xff0
+ 8000010c: 0ffe8e9b addiw t4,t4,255
+ 80000110: 010e9e93 slli t4,t4,0x10
+ 80000114: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01>
+ 80000118: 010e9e93 slli t4,t4,0x10
+ 8000011c: 0ffe8e93 addi t4,t4,255
+ 80000120: 00200193 li gp,2
+ 80000124: 3bdf1263 bne t5,t4,800004c8 <fail>
+
+0000000080000128 <test_3>:
+ 80000128: 00002097 auipc ra,0x2
+ 8000012c: ed808093 addi ra,ra,-296 # 80002000 <begin_signature>
+ 80000130: 0080bf03 ld t5,8(ra)
+ 80000134: ff010eb7 lui t4,0xff010
+ 80000138: f01e8e9b addiw t4,t4,-255
+ 8000013c: 010e9e93 slli t4,t4,0x10
+ 80000140: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f00dee1>
+ 80000144: 010e9e93 slli t4,t4,0x10
+ 80000148: f00e8e93 addi t4,t4,-256
+ 8000014c: 00300193 li gp,3
+ 80000150: 37df1c63 bne t5,t4,800004c8 <fail>
+
+0000000080000154 <test_4>:
+ 80000154: 00002097 auipc ra,0x2
+ 80000158: eac08093 addi ra,ra,-340 # 80002000 <begin_signature>
+ 8000015c: 0100bf03 ld t5,16(ra)
+ 80000160: 00010eb7 lui t4,0x10
+ 80000164: f01e8e9b addiw t4,t4,-255
+ 80000168: 010e9e93 slli t4,t4,0x10
+ 8000016c: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff>
+ 80000170: 010e9e93 slli t4,t4,0x10
+ 80000174: f01e8e93 addi t4,t4,-255
+ 80000178: 00ce9e93 slli t4,t4,0xc
+ 8000017c: ff0e8e93 addi t4,t4,-16
+ 80000180: 00400193 li gp,4
+ 80000184: 35df1263 bne t5,t4,800004c8 <fail>
+
+0000000080000188 <test_5>:
+ 80000188: 00002097 auipc ra,0x2
+ 8000018c: e7808093 addi ra,ra,-392 # 80002000 <begin_signature>
+ 80000190: 0180bf03 ld t5,24(ra)
+ 80000194: ffff0eb7 lui t4,0xffff0
+ 80000198: 0ffe8e9b addiw t4,t4,255
+ 8000019c: 010e9e93 slli t4,t4,0x10
+ 800001a0: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffee0df>
+ 800001a4: 010e9e93 slli t4,t4,0x10
+ 800001a8: 0ffe8e93 addi t4,t4,255
+ 800001ac: 00ce9e93 slli t4,t4,0xc
+ 800001b0: 00fe8e93 addi t4,t4,15
+ 800001b4: 00500193 li gp,5
+ 800001b8: 31df1863 bne t5,t4,800004c8 <fail>
+
+00000000800001bc <test_6>:
+ 800001bc: 00002097 auipc ra,0x2
+ 800001c0: e5c08093 addi ra,ra,-420 # 80002018 <tdat4>
+ 800001c4: fe80bf03 ld t5,-24(ra)
+ 800001c8: 00ff0eb7 lui t4,0xff0
+ 800001cc: 0ffe8e9b addiw t4,t4,255
+ 800001d0: 010e9e93 slli t4,t4,0x10
+ 800001d4: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01>
+ 800001d8: 010e9e93 slli t4,t4,0x10
+ 800001dc: 0ffe8e93 addi t4,t4,255
+ 800001e0: 00600193 li gp,6
+ 800001e4: 2fdf1263 bne t5,t4,800004c8 <fail>
+
+00000000800001e8 <test_7>:
+ 800001e8: 00002097 auipc ra,0x2
+ 800001ec: e3008093 addi ra,ra,-464 # 80002018 <tdat4>
+ 800001f0: ff00bf03 ld t5,-16(ra)
+ 800001f4: ff010eb7 lui t4,0xff010
+ 800001f8: f01e8e9b addiw t4,t4,-255
+ 800001fc: 010e9e93 slli t4,t4,0x10
+ 80000200: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f00dee1>
+ 80000204: 010e9e93 slli t4,t4,0x10
+ 80000208: f00e8e93 addi t4,t4,-256
+ 8000020c: 00700193 li gp,7
+ 80000210: 2bdf1c63 bne t5,t4,800004c8 <fail>
+
+0000000080000214 <test_8>:
+ 80000214: 00002097 auipc ra,0x2
+ 80000218: e0408093 addi ra,ra,-508 # 80002018 <tdat4>
+ 8000021c: ff80bf03 ld t5,-8(ra)
+ 80000220: 00010eb7 lui t4,0x10
+ 80000224: f01e8e9b addiw t4,t4,-255
+ 80000228: 010e9e93 slli t4,t4,0x10
+ 8000022c: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff>
+ 80000230: 010e9e93 slli t4,t4,0x10
+ 80000234: f01e8e93 addi t4,t4,-255
+ 80000238: 00ce9e93 slli t4,t4,0xc
+ 8000023c: ff0e8e93 addi t4,t4,-16
+ 80000240: 00800193 li gp,8
+ 80000244: 29df1263 bne t5,t4,800004c8 <fail>
+
+0000000080000248 <test_9>:
+ 80000248: 00002097 auipc ra,0x2
+ 8000024c: dd008093 addi ra,ra,-560 # 80002018 <tdat4>
+ 80000250: 0000bf03 ld t5,0(ra)
+ 80000254: ffff0eb7 lui t4,0xffff0
+ 80000258: 0ffe8e9b addiw t4,t4,255
+ 8000025c: 010e9e93 slli t4,t4,0x10
+ 80000260: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffee0df>
+ 80000264: 010e9e93 slli t4,t4,0x10
+ 80000268: 0ffe8e93 addi t4,t4,255
+ 8000026c: 00ce9e93 slli t4,t4,0xc
+ 80000270: 00fe8e93 addi t4,t4,15
+ 80000274: 00900193 li gp,9
+ 80000278: 25df1863 bne t5,t4,800004c8 <fail>
+
+000000008000027c <test_10>:
+ 8000027c: 00002097 auipc ra,0x2
+ 80000280: d8408093 addi ra,ra,-636 # 80002000 <begin_signature>
+ 80000284: fe008093 addi ra,ra,-32
+ 80000288: 0200b283 ld t0,32(ra)
+ 8000028c: 00ff0eb7 lui t4,0xff0
+ 80000290: 0ffe8e9b addiw t4,t4,255
+ 80000294: 010e9e93 slli t4,t4,0x10
+ 80000298: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01>
+ 8000029c: 010e9e93 slli t4,t4,0x10
+ 800002a0: 0ffe8e93 addi t4,t4,255
+ 800002a4: 00a00193 li gp,10
+ 800002a8: 23d29063 bne t0,t4,800004c8 <fail>
+
+00000000800002ac <test_11>:
+ 800002ac: 00002097 auipc ra,0x2
+ 800002b0: d5408093 addi ra,ra,-684 # 80002000 <begin_signature>
+ 800002b4: ffd08093 addi ra,ra,-3
+ 800002b8: 00b0b283 ld t0,11(ra)
+ 800002bc: ff010eb7 lui t4,0xff010
+ 800002c0: f01e8e9b addiw t4,t4,-255
+ 800002c4: 010e9e93 slli t4,t4,0x10
+ 800002c8: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f00dee1>
+ 800002cc: 010e9e93 slli t4,t4,0x10
+ 800002d0: f00e8e93 addi t4,t4,-256
+ 800002d4: 00b00193 li gp,11
+ 800002d8: 1fd29863 bne t0,t4,800004c8 <fail>
+
+00000000800002dc <test_12>:
+ 800002dc: 00c00193 li gp,12
+ 800002e0: 00000213 li tp,0
+ 800002e4: 00002097 auipc ra,0x2
+ 800002e8: d2408093 addi ra,ra,-732 # 80002008 <tdat2>
+ 800002ec: 0080bf03 ld t5,8(ra)
+ 800002f0: 000f0313 mv t1,t5
+ 800002f4: 00010eb7 lui t4,0x10
+ 800002f8: f01e8e9b addiw t4,t4,-255
+ 800002fc: 010e9e93 slli t4,t4,0x10
+ 80000300: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff>
+ 80000304: 010e9e93 slli t4,t4,0x10
+ 80000308: f01e8e93 addi t4,t4,-255
+ 8000030c: 00ce9e93 slli t4,t4,0xc
+ 80000310: ff0e8e93 addi t4,t4,-16
+ 80000314: 1bd31a63 bne t1,t4,800004c8 <fail>
+ 80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000031c: 00200293 li t0,2
+ 80000320: fc5212e3 bne tp,t0,800002e4 <test_12+0x8>
+
+0000000080000324 <test_13>:
+ 80000324: 00d00193 li gp,13
+ 80000328: 00000213 li tp,0
+ 8000032c: 00002097 auipc ra,0x2
+ 80000330: ce408093 addi ra,ra,-796 # 80002010 <tdat3>
+ 80000334: 0080bf03 ld t5,8(ra)
+ 80000338: 00000013 nop
+ 8000033c: 000f0313 mv t1,t5
+ 80000340: ffff0eb7 lui t4,0xffff0
+ 80000344: 0ffe8e9b addiw t4,t4,255
+ 80000348: 010e9e93 slli t4,t4,0x10
+ 8000034c: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffee0df>
+ 80000350: 010e9e93 slli t4,t4,0x10
+ 80000354: 0ffe8e93 addi t4,t4,255
+ 80000358: 00ce9e93 slli t4,t4,0xc
+ 8000035c: 00fe8e93 addi t4,t4,15
+ 80000360: 17d31463 bne t1,t4,800004c8 <fail>
+ 80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000368: 00200293 li t0,2
+ 8000036c: fc5210e3 bne tp,t0,8000032c <test_13+0x8>
+
+0000000080000370 <test_14>:
+ 80000370: 00e00193 li gp,14
+ 80000374: 00000213 li tp,0
+ 80000378: 00002097 auipc ra,0x2
+ 8000037c: c8808093 addi ra,ra,-888 # 80002000 <begin_signature>
+ 80000380: 0080bf03 ld t5,8(ra)
+ 80000384: 00000013 nop
+ 80000388: 00000013 nop
+ 8000038c: 000f0313 mv t1,t5
+ 80000390: ff010eb7 lui t4,0xff010
+ 80000394: f01e8e9b addiw t4,t4,-255
+ 80000398: 010e9e93 slli t4,t4,0x10
+ 8000039c: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f00dee1>
+ 800003a0: 010e9e93 slli t4,t4,0x10
+ 800003a4: f00e8e93 addi t4,t4,-256
+ 800003a8: 13d31063 bne t1,t4,800004c8 <fail>
+ 800003ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003b0: 00200293 li t0,2
+ 800003b4: fc5212e3 bne tp,t0,80000378 <test_14+0x8>
+
+00000000800003b8 <test_15>:
+ 800003b8: 00f00193 li gp,15
+ 800003bc: 00000213 li tp,0
+ 800003c0: 00002097 auipc ra,0x2
+ 800003c4: c4808093 addi ra,ra,-952 # 80002008 <tdat2>
+ 800003c8: 0080bf03 ld t5,8(ra)
+ 800003cc: 00010eb7 lui t4,0x10
+ 800003d0: f01e8e9b addiw t4,t4,-255
+ 800003d4: 010e9e93 slli t4,t4,0x10
+ 800003d8: f01e8e93 addi t4,t4,-255 # ff01 <_start-0x7fff00ff>
+ 800003dc: 010e9e93 slli t4,t4,0x10
+ 800003e0: f01e8e93 addi t4,t4,-255
+ 800003e4: 00ce9e93 slli t4,t4,0xc
+ 800003e8: ff0e8e93 addi t4,t4,-16
+ 800003ec: 0ddf1e63 bne t5,t4,800004c8 <fail>
+ 800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003f4: 00200293 li t0,2
+ 800003f8: fc5214e3 bne tp,t0,800003c0 <test_15+0x8>
+
+00000000800003fc <test_16>:
+ 800003fc: 01000193 li gp,16
+ 80000400: 00000213 li tp,0
+ 80000404: 00002097 auipc ra,0x2
+ 80000408: c0c08093 addi ra,ra,-1012 # 80002010 <tdat3>
+ 8000040c: 00000013 nop
+ 80000410: 0080bf03 ld t5,8(ra)
+ 80000414: ffff0eb7 lui t4,0xffff0
+ 80000418: 0ffe8e9b addiw t4,t4,255
+ 8000041c: 010e9e93 slli t4,t4,0x10
+ 80000420: 0ffe8e93 addi t4,t4,255 # ffffffffffff00ff <_end+0xffffffff7ffee0df>
+ 80000424: 010e9e93 slli t4,t4,0x10
+ 80000428: 0ffe8e93 addi t4,t4,255
+ 8000042c: 00ce9e93 slli t4,t4,0xc
+ 80000430: 00fe8e93 addi t4,t4,15
+ 80000434: 09df1a63 bne t5,t4,800004c8 <fail>
+ 80000438: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000043c: 00200293 li t0,2
+ 80000440: fc5212e3 bne tp,t0,80000404 <test_16+0x8>
+
+0000000080000444 <test_17>:
+ 80000444: 01100193 li gp,17
+ 80000448: 00000213 li tp,0
+ 8000044c: 00002097 auipc ra,0x2
+ 80000450: bb408093 addi ra,ra,-1100 # 80002000 <begin_signature>
+ 80000454: 00000013 nop
+ 80000458: 00000013 nop
+ 8000045c: 0080bf03 ld t5,8(ra)
+ 80000460: ff010eb7 lui t4,0xff010
+ 80000464: f01e8e9b addiw t4,t4,-255
+ 80000468: 010e9e93 slli t4,t4,0x10
+ 8000046c: f01e8e93 addi t4,t4,-255 # ffffffffff00ff01 <_end+0xffffffff7f00dee1>
+ 80000470: 010e9e93 slli t4,t4,0x10
+ 80000474: f00e8e93 addi t4,t4,-256
+ 80000478: 05df1863 bne t5,t4,800004c8 <fail>
+ 8000047c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000480: 00200293 li t0,2
+ 80000484: fc5214e3 bne tp,t0,8000044c <test_17+0x8>
+
+0000000080000488 <test_18>:
+ 80000488: 00002297 auipc t0,0x2
+ 8000048c: b7828293 addi t0,t0,-1160 # 80002000 <begin_signature>
+ 80000490: 0002b103 ld sp,0(t0)
+ 80000494: 00200113 li sp,2
+ 80000498: 00200e93 li t4,2
+ 8000049c: 01200193 li gp,18
+ 800004a0: 03d11463 bne sp,t4,800004c8 <fail>
+
+00000000800004a4 <test_19>:
+ 800004a4: 00002297 auipc t0,0x2
+ 800004a8: b5c28293 addi t0,t0,-1188 # 80002000 <begin_signature>
+ 800004ac: 0002b103 ld sp,0(t0)
+ 800004b0: 00000013 nop
+ 800004b4: 00200113 li sp,2
+ 800004b8: 00200e93 li t4,2
+ 800004bc: 01300193 li gp,19
+ 800004c0: 01d11463 bne sp,t4,800004c8 <fail>
+ 800004c4: 00301c63 bne zero,gp,800004dc <pass>
+
+00000000800004c8 <fail>:
+ 800004c8: 0ff0000f fence
+ 800004cc: 00018063 beqz gp,800004cc <fail+0x4>
+ 800004d0: 00119193 slli gp,gp,0x1
+ 800004d4: 0011e193 ori gp,gp,1
+ 800004d8: 00000073 ecall
+
+00000000800004dc <pass>:
+ 800004dc: 0ff0000f fence
+ 800004e0: 00100193 li gp,1
+ 800004e4: 00000073 ecall
+ 800004e8: c0001073 unimp
+ 800004ec: 0000 unimp
+ 800004ee: 0000 unimp
+ 800004f0: 0000 unimp
+ 800004f2: 0000 unimp
+ 800004f4: 0000 unimp
+ 800004f6: 0000 unimp
+ 800004f8: 0000 unimp
+ 800004fa: 0000 unimp
+ 800004fc: 0000 unimp
+ 800004fe: 0000 unimp
+ 80000500: 0000 unimp
+ 80000502: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: 00ff 0xff
+ 80002002: 00ff 0xff
+ 80002004: 00ff 0xff
+ 80002006: 00ff 0xff
+
+0000000080002008 <tdat2>:
+ 80002008: ff00 sd s0,56(a4)
+ 8000200a: ff00 sd s0,56(a4)
+ 8000200c: ff00 sd s0,56(a4)
+ 8000200e: ff00 sd s0,56(a4)
+
+0000000080002010 <tdat3>:
+ 80002010: 0ff0 addi a2,sp,988
+ 80002012: 0ff0 addi a2,sp,988
+ 80002014: 0ff0 addi a2,sp,988
+ 80002016: 0ff0 addi a2,sp,988
+
+0000000080002018 <tdat4>:
+ 80002018: f00ff00f 0xf00ff00f
+ 8000201c: f00ff00f 0xf00ff00f
diff --git a/test/riscv/tests/rv64ui-p-ld.elf b/test/riscv/tests/rv64ui-p-ld.elf
new file mode 100755
index 00000000..5aa623b0
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-ld.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-lh.dump b/test/riscv/tests/rv64ui-p-lh.dump
new file mode 100644
index 00000000..214e5b07
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lh.dump
@@ -0,0 +1,327 @@
+
+rv64ui-p-lh: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00002097 auipc ra,0x2
+ 80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature>
+ 80000104: 00009f03 lh t5,0(ra)
+ 80000108: 0ff00e93 li t4,255
+ 8000010c: 00200193 li gp,2
+ 80000110: 25df1c63 bne t5,t4,80000368 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00002097 auipc ra,0x2
+ 80000118: eec08093 addi ra,ra,-276 # 80002000 <begin_signature>
+ 8000011c: 00209f03 lh t5,2(ra)
+ 80000120: f0000e93 li t4,-256
+ 80000124: 00300193 li gp,3
+ 80000128: 25df1063 bne t5,t4,80000368 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00002097 auipc ra,0x2
+ 80000130: ed408093 addi ra,ra,-300 # 80002000 <begin_signature>
+ 80000134: 00409f03 lh t5,4(ra)
+ 80000138: 00001eb7 lui t4,0x1
+ 8000013c: ff0e8e9b addiw t4,t4,-16
+ 80000140: 00400193 li gp,4
+ 80000144: 23df1263 bne t5,t4,80000368 <fail>
+
+0000000080000148 <test_5>:
+ 80000148: 00002097 auipc ra,0x2
+ 8000014c: eb808093 addi ra,ra,-328 # 80002000 <begin_signature>
+ 80000150: 00609f03 lh t5,6(ra)
+ 80000154: fffffeb7 lui t4,0xfffff
+ 80000158: 00fe8e9b addiw t4,t4,15
+ 8000015c: 00500193 li gp,5
+ 80000160: 21df1463 bne t5,t4,80000368 <fail>
+
+0000000080000164 <test_6>:
+ 80000164: 00002097 auipc ra,0x2
+ 80000168: ea208093 addi ra,ra,-350 # 80002006 <tdat4>
+ 8000016c: ffa09f03 lh t5,-6(ra)
+ 80000170: 0ff00e93 li t4,255
+ 80000174: 00600193 li gp,6
+ 80000178: 1fdf1863 bne t5,t4,80000368 <fail>
+
+000000008000017c <test_7>:
+ 8000017c: 00002097 auipc ra,0x2
+ 80000180: e8a08093 addi ra,ra,-374 # 80002006 <tdat4>
+ 80000184: ffc09f03 lh t5,-4(ra)
+ 80000188: f0000e93 li t4,-256
+ 8000018c: 00700193 li gp,7
+ 80000190: 1ddf1c63 bne t5,t4,80000368 <fail>
+
+0000000080000194 <test_8>:
+ 80000194: 00002097 auipc ra,0x2
+ 80000198: e7208093 addi ra,ra,-398 # 80002006 <tdat4>
+ 8000019c: ffe09f03 lh t5,-2(ra)
+ 800001a0: 00001eb7 lui t4,0x1
+ 800001a4: ff0e8e9b addiw t4,t4,-16
+ 800001a8: 00800193 li gp,8
+ 800001ac: 1bdf1e63 bne t5,t4,80000368 <fail>
+
+00000000800001b0 <test_9>:
+ 800001b0: 00002097 auipc ra,0x2
+ 800001b4: e5608093 addi ra,ra,-426 # 80002006 <tdat4>
+ 800001b8: 00009f03 lh t5,0(ra)
+ 800001bc: fffffeb7 lui t4,0xfffff
+ 800001c0: 00fe8e9b addiw t4,t4,15
+ 800001c4: 00900193 li gp,9
+ 800001c8: 1bdf1063 bne t5,t4,80000368 <fail>
+
+00000000800001cc <test_10>:
+ 800001cc: 00002097 auipc ra,0x2
+ 800001d0: e3408093 addi ra,ra,-460 # 80002000 <begin_signature>
+ 800001d4: fe008093 addi ra,ra,-32
+ 800001d8: 02009283 lh t0,32(ra)
+ 800001dc: 0ff00e93 li t4,255
+ 800001e0: 00a00193 li gp,10
+ 800001e4: 19d29263 bne t0,t4,80000368 <fail>
+
+00000000800001e8 <test_11>:
+ 800001e8: 00002097 auipc ra,0x2
+ 800001ec: e1808093 addi ra,ra,-488 # 80002000 <begin_signature>
+ 800001f0: ffb08093 addi ra,ra,-5
+ 800001f4: 00709283 lh t0,7(ra)
+ 800001f8: f0000e93 li t4,-256
+ 800001fc: 00b00193 li gp,11
+ 80000200: 17d29463 bne t0,t4,80000368 <fail>
+
+0000000080000204 <test_12>:
+ 80000204: 00c00193 li gp,12
+ 80000208: 00000213 li tp,0
+ 8000020c: 00002097 auipc ra,0x2
+ 80000210: df608093 addi ra,ra,-522 # 80002002 <tdat2>
+ 80000214: 00209f03 lh t5,2(ra)
+ 80000218: 000f0313 mv t1,t5
+ 8000021c: 00001eb7 lui t4,0x1
+ 80000220: ff0e8e9b addiw t4,t4,-16
+ 80000224: 15d31263 bne t1,t4,80000368 <fail>
+ 80000228: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000022c: 00200293 li t0,2
+ 80000230: fc521ee3 bne tp,t0,8000020c <test_12+0x8>
+
+0000000080000234 <test_13>:
+ 80000234: 00d00193 li gp,13
+ 80000238: 00000213 li tp,0
+ 8000023c: 00002097 auipc ra,0x2
+ 80000240: dc808093 addi ra,ra,-568 # 80002004 <tdat3>
+ 80000244: 00209f03 lh t5,2(ra)
+ 80000248: 00000013 nop
+ 8000024c: 000f0313 mv t1,t5
+ 80000250: fffffeb7 lui t4,0xfffff
+ 80000254: 00fe8e9b addiw t4,t4,15
+ 80000258: 11d31863 bne t1,t4,80000368 <fail>
+ 8000025c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000260: 00200293 li t0,2
+ 80000264: fc521ce3 bne tp,t0,8000023c <test_13+0x8>
+
+0000000080000268 <test_14>:
+ 80000268: 00e00193 li gp,14
+ 8000026c: 00000213 li tp,0
+ 80000270: 00002097 auipc ra,0x2
+ 80000274: d9008093 addi ra,ra,-624 # 80002000 <begin_signature>
+ 80000278: 00209f03 lh t5,2(ra)
+ 8000027c: 00000013 nop
+ 80000280: 00000013 nop
+ 80000284: 000f0313 mv t1,t5
+ 80000288: f0000e93 li t4,-256
+ 8000028c: 0dd31e63 bne t1,t4,80000368 <fail>
+ 80000290: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000294: 00200293 li t0,2
+ 80000298: fc521ce3 bne tp,t0,80000270 <test_14+0x8>
+
+000000008000029c <test_15>:
+ 8000029c: 00f00193 li gp,15
+ 800002a0: 00000213 li tp,0
+ 800002a4: 00002097 auipc ra,0x2
+ 800002a8: d5e08093 addi ra,ra,-674 # 80002002 <tdat2>
+ 800002ac: 00209f03 lh t5,2(ra)
+ 800002b0: 00001eb7 lui t4,0x1
+ 800002b4: ff0e8e9b addiw t4,t4,-16
+ 800002b8: 0bdf1863 bne t5,t4,80000368 <fail>
+ 800002bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002c0: 00200293 li t0,2
+ 800002c4: fe5210e3 bne tp,t0,800002a4 <test_15+0x8>
+
+00000000800002c8 <test_16>:
+ 800002c8: 01000193 li gp,16
+ 800002cc: 00000213 li tp,0
+ 800002d0: 00002097 auipc ra,0x2
+ 800002d4: d3408093 addi ra,ra,-716 # 80002004 <tdat3>
+ 800002d8: 00000013 nop
+ 800002dc: 00209f03 lh t5,2(ra)
+ 800002e0: fffffeb7 lui t4,0xfffff
+ 800002e4: 00fe8e9b addiw t4,t4,15
+ 800002e8: 09df1063 bne t5,t4,80000368 <fail>
+ 800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002f0: 00200293 li t0,2
+ 800002f4: fc521ee3 bne tp,t0,800002d0 <test_16+0x8>
+
+00000000800002f8 <test_17>:
+ 800002f8: 01100193 li gp,17
+ 800002fc: 00000213 li tp,0
+ 80000300: 00002097 auipc ra,0x2
+ 80000304: d0008093 addi ra,ra,-768 # 80002000 <begin_signature>
+ 80000308: 00000013 nop
+ 8000030c: 00000013 nop
+ 80000310: 00209f03 lh t5,2(ra)
+ 80000314: f0000e93 li t4,-256
+ 80000318: 05df1863 bne t5,t4,80000368 <fail>
+ 8000031c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000320: 00200293 li t0,2
+ 80000324: fc521ee3 bne tp,t0,80000300 <test_17+0x8>
+
+0000000080000328 <test_18>:
+ 80000328: 00002297 auipc t0,0x2
+ 8000032c: cd828293 addi t0,t0,-808 # 80002000 <begin_signature>
+ 80000330: 00029103 lh sp,0(t0)
+ 80000334: 00200113 li sp,2
+ 80000338: 00200e93 li t4,2
+ 8000033c: 01200193 li gp,18
+ 80000340: 03d11463 bne sp,t4,80000368 <fail>
+
+0000000080000344 <test_19>:
+ 80000344: 00002297 auipc t0,0x2
+ 80000348: cbc28293 addi t0,t0,-836 # 80002000 <begin_signature>
+ 8000034c: 00029103 lh sp,0(t0)
+ 80000350: 00000013 nop
+ 80000354: 00200113 li sp,2
+ 80000358: 00200e93 li t4,2
+ 8000035c: 01300193 li gp,19
+ 80000360: 01d11463 bne sp,t4,80000368 <fail>
+ 80000364: 00301c63 bne zero,gp,8000037c <pass>
+
+0000000080000368 <fail>:
+ 80000368: 0ff0000f fence
+ 8000036c: 00018063 beqz gp,8000036c <fail+0x4>
+ 80000370: 00119193 slli gp,gp,0x1
+ 80000374: 0011e193 ori gp,gp,1
+ 80000378: 00000073 ecall
+
+000000008000037c <pass>:
+ 8000037c: 0ff0000f fence
+ 80000380: 00100193 li gp,1
+ 80000384: 00000073 ecall
+ 80000388: c0001073 unimp
+ 8000038c: 0000 unimp
+ 8000038e: 0000 unimp
+ 80000390: 0000 unimp
+ 80000392: 0000 unimp
+ 80000394: 0000 unimp
+ 80000396: 0000 unimp
+ 80000398: 0000 unimp
+ 8000039a: 0000 unimp
+ 8000039c: 0000 unimp
+ 8000039e: 0000 unimp
+ 800003a0: 0000 unimp
+ 800003a2: 0000 unimp
+ 800003a4: 0000 unimp
+ 800003a6: 0000 unimp
+ 800003a8: 0000 unimp
+ 800003aa: 0000 unimp
+ 800003ac: 0000 unimp
+ 800003ae: 0000 unimp
+ 800003b0: 0000 unimp
+ 800003b2: 0000 unimp
+ 800003b4: 0000 unimp
+ 800003b6: 0000 unimp
+ 800003b8: 0000 unimp
+ 800003ba: 0000 unimp
+ 800003bc: 0000 unimp
+ 800003be: 0000 unimp
+ 800003c0: 0000 unimp
+ 800003c2: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: 00ff 0xff
+
+0000000080002002 <tdat2>:
+ 80002002: ff00 sd s0,56(a4)
+
+0000000080002004 <tdat3>:
+ 80002004: 0ff0 addi a2,sp,988
+
+0000000080002006 <tdat4>:
+ 80002006: 0000f00f 0xf00f
+ 8000200a: 0000 unimp
+ 8000200c: 0000 unimp
+ 8000200e: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-lh.elf b/test/riscv/tests/rv64ui-p-lh.elf
new file mode 100755
index 00000000..30db6615
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lh.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-lhu.dump b/test/riscv/tests/rv64ui-p-lhu.dump
new file mode 100644
index 00000000..6cc3defc
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lhu.dump
@@ -0,0 +1,322 @@
+
+rv64ui-p-lhu: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00002097 auipc ra,0x2
+ 80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature>
+ 80000104: 0000df03 lhu t5,0(ra)
+ 80000108: 0ff00e93 li t4,255
+ 8000010c: 00200193 li gp,2
+ 80000110: 27df1663 bne t5,t4,8000037c <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00002097 auipc ra,0x2
+ 80000118: eec08093 addi ra,ra,-276 # 80002000 <begin_signature>
+ 8000011c: 0020df03 lhu t5,2(ra)
+ 80000120: 00010eb7 lui t4,0x10
+ 80000124: f00e8e9b addiw t4,t4,-256
+ 80000128: 00300193 li gp,3
+ 8000012c: 25df1863 bne t5,t4,8000037c <fail>
+
+0000000080000130 <test_4>:
+ 80000130: 00002097 auipc ra,0x2
+ 80000134: ed008093 addi ra,ra,-304 # 80002000 <begin_signature>
+ 80000138: 0040df03 lhu t5,4(ra)
+ 8000013c: 00001eb7 lui t4,0x1
+ 80000140: ff0e8e9b addiw t4,t4,-16
+ 80000144: 00400193 li gp,4
+ 80000148: 23df1a63 bne t5,t4,8000037c <fail>
+
+000000008000014c <test_5>:
+ 8000014c: 00002097 auipc ra,0x2
+ 80000150: eb408093 addi ra,ra,-332 # 80002000 <begin_signature>
+ 80000154: 0060df03 lhu t5,6(ra)
+ 80000158: 0000feb7 lui t4,0xf
+ 8000015c: 00fe8e9b addiw t4,t4,15
+ 80000160: 00500193 li gp,5
+ 80000164: 21df1c63 bne t5,t4,8000037c <fail>
+
+0000000080000168 <test_6>:
+ 80000168: 00002097 auipc ra,0x2
+ 8000016c: e9e08093 addi ra,ra,-354 # 80002006 <tdat4>
+ 80000170: ffa0df03 lhu t5,-6(ra)
+ 80000174: 0ff00e93 li t4,255
+ 80000178: 00600193 li gp,6
+ 8000017c: 21df1063 bne t5,t4,8000037c <fail>
+
+0000000080000180 <test_7>:
+ 80000180: 00002097 auipc ra,0x2
+ 80000184: e8608093 addi ra,ra,-378 # 80002006 <tdat4>
+ 80000188: ffc0df03 lhu t5,-4(ra)
+ 8000018c: 00010eb7 lui t4,0x10
+ 80000190: f00e8e9b addiw t4,t4,-256
+ 80000194: 00700193 li gp,7
+ 80000198: 1fdf1263 bne t5,t4,8000037c <fail>
+
+000000008000019c <test_8>:
+ 8000019c: 00002097 auipc ra,0x2
+ 800001a0: e6a08093 addi ra,ra,-406 # 80002006 <tdat4>
+ 800001a4: ffe0df03 lhu t5,-2(ra)
+ 800001a8: 00001eb7 lui t4,0x1
+ 800001ac: ff0e8e9b addiw t4,t4,-16
+ 800001b0: 00800193 li gp,8
+ 800001b4: 1ddf1463 bne t5,t4,8000037c <fail>
+
+00000000800001b8 <test_9>:
+ 800001b8: 00002097 auipc ra,0x2
+ 800001bc: e4e08093 addi ra,ra,-434 # 80002006 <tdat4>
+ 800001c0: 0000df03 lhu t5,0(ra)
+ 800001c4: 0000feb7 lui t4,0xf
+ 800001c8: 00fe8e9b addiw t4,t4,15
+ 800001cc: 00900193 li gp,9
+ 800001d0: 1bdf1663 bne t5,t4,8000037c <fail>
+
+00000000800001d4 <test_10>:
+ 800001d4: 00002097 auipc ra,0x2
+ 800001d8: e2c08093 addi ra,ra,-468 # 80002000 <begin_signature>
+ 800001dc: fe008093 addi ra,ra,-32
+ 800001e0: 0200d283 lhu t0,32(ra)
+ 800001e4: 0ff00e93 li t4,255
+ 800001e8: 00a00193 li gp,10
+ 800001ec: 19d29863 bne t0,t4,8000037c <fail>
+
+00000000800001f0 <test_11>:
+ 800001f0: 00002097 auipc ra,0x2
+ 800001f4: e1008093 addi ra,ra,-496 # 80002000 <begin_signature>
+ 800001f8: ffb08093 addi ra,ra,-5
+ 800001fc: 0070d283 lhu t0,7(ra)
+ 80000200: 00010eb7 lui t4,0x10
+ 80000204: f00e8e9b addiw t4,t4,-256
+ 80000208: 00b00193 li gp,11
+ 8000020c: 17d29863 bne t0,t4,8000037c <fail>
+
+0000000080000210 <test_12>:
+ 80000210: 00c00193 li gp,12
+ 80000214: 00000213 li tp,0
+ 80000218: 00002097 auipc ra,0x2
+ 8000021c: dea08093 addi ra,ra,-534 # 80002002 <tdat2>
+ 80000220: 0020df03 lhu t5,2(ra)
+ 80000224: 000f0313 mv t1,t5
+ 80000228: 00001eb7 lui t4,0x1
+ 8000022c: ff0e8e9b addiw t4,t4,-16
+ 80000230: 15d31663 bne t1,t4,8000037c <fail>
+ 80000234: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000238: 00200293 li t0,2
+ 8000023c: fc521ee3 bne tp,t0,80000218 <test_12+0x8>
+
+0000000080000240 <test_13>:
+ 80000240: 00d00193 li gp,13
+ 80000244: 00000213 li tp,0
+ 80000248: 00002097 auipc ra,0x2
+ 8000024c: dbc08093 addi ra,ra,-580 # 80002004 <tdat3>
+ 80000250: 0020df03 lhu t5,2(ra)
+ 80000254: 00000013 nop
+ 80000258: 000f0313 mv t1,t5
+ 8000025c: 0000feb7 lui t4,0xf
+ 80000260: 00fe8e9b addiw t4,t4,15
+ 80000264: 11d31c63 bne t1,t4,8000037c <fail>
+ 80000268: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000026c: 00200293 li t0,2
+ 80000270: fc521ce3 bne tp,t0,80000248 <test_13+0x8>
+
+0000000080000274 <test_14>:
+ 80000274: 00e00193 li gp,14
+ 80000278: 00000213 li tp,0
+ 8000027c: 00002097 auipc ra,0x2
+ 80000280: d8408093 addi ra,ra,-636 # 80002000 <begin_signature>
+ 80000284: 0020df03 lhu t5,2(ra)
+ 80000288: 00000013 nop
+ 8000028c: 00000013 nop
+ 80000290: 000f0313 mv t1,t5
+ 80000294: 00010eb7 lui t4,0x10
+ 80000298: f00e8e9b addiw t4,t4,-256
+ 8000029c: 0fd31063 bne t1,t4,8000037c <fail>
+ 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a4: 00200293 li t0,2
+ 800002a8: fc521ae3 bne tp,t0,8000027c <test_14+0x8>
+
+00000000800002ac <test_15>:
+ 800002ac: 00f00193 li gp,15
+ 800002b0: 00000213 li tp,0
+ 800002b4: 00002097 auipc ra,0x2
+ 800002b8: d4e08093 addi ra,ra,-690 # 80002002 <tdat2>
+ 800002bc: 0020df03 lhu t5,2(ra)
+ 800002c0: 00001eb7 lui t4,0x1
+ 800002c4: ff0e8e9b addiw t4,t4,-16
+ 800002c8: 0bdf1a63 bne t5,t4,8000037c <fail>
+ 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002d0: 00200293 li t0,2
+ 800002d4: fe5210e3 bne tp,t0,800002b4 <test_15+0x8>
+
+00000000800002d8 <test_16>:
+ 800002d8: 01000193 li gp,16
+ 800002dc: 00000213 li tp,0
+ 800002e0: 00002097 auipc ra,0x2
+ 800002e4: d2408093 addi ra,ra,-732 # 80002004 <tdat3>
+ 800002e8: 00000013 nop
+ 800002ec: 0020df03 lhu t5,2(ra)
+ 800002f0: 0000feb7 lui t4,0xf
+ 800002f4: 00fe8e9b addiw t4,t4,15
+ 800002f8: 09df1263 bne t5,t4,8000037c <fail>
+ 800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000300: 00200293 li t0,2
+ 80000304: fc521ee3 bne tp,t0,800002e0 <test_16+0x8>
+
+0000000080000308 <test_17>:
+ 80000308: 01100193 li gp,17
+ 8000030c: 00000213 li tp,0
+ 80000310: 00002097 auipc ra,0x2
+ 80000314: cf008093 addi ra,ra,-784 # 80002000 <begin_signature>
+ 80000318: 00000013 nop
+ 8000031c: 00000013 nop
+ 80000320: 0020df03 lhu t5,2(ra)
+ 80000324: 00010eb7 lui t4,0x10
+ 80000328: f00e8e9b addiw t4,t4,-256
+ 8000032c: 05df1863 bne t5,t4,8000037c <fail>
+ 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000334: 00200293 li t0,2
+ 80000338: fc521ce3 bne tp,t0,80000310 <test_17+0x8>
+
+000000008000033c <test_18>:
+ 8000033c: 00002297 auipc t0,0x2
+ 80000340: cc428293 addi t0,t0,-828 # 80002000 <begin_signature>
+ 80000344: 0002d103 lhu sp,0(t0)
+ 80000348: 00200113 li sp,2
+ 8000034c: 00200e93 li t4,2
+ 80000350: 01200193 li gp,18
+ 80000354: 03d11463 bne sp,t4,8000037c <fail>
+
+0000000080000358 <test_19>:
+ 80000358: 00002297 auipc t0,0x2
+ 8000035c: ca828293 addi t0,t0,-856 # 80002000 <begin_signature>
+ 80000360: 0002d103 lhu sp,0(t0)
+ 80000364: 00000013 nop
+ 80000368: 00200113 li sp,2
+ 8000036c: 00200e93 li t4,2
+ 80000370: 01300193 li gp,19
+ 80000374: 01d11463 bne sp,t4,8000037c <fail>
+ 80000378: 00301c63 bne zero,gp,80000390 <pass>
+
+000000008000037c <fail>:
+ 8000037c: 0ff0000f fence
+ 80000380: 00018063 beqz gp,80000380 <fail+0x4>
+ 80000384: 00119193 slli gp,gp,0x1
+ 80000388: 0011e193 ori gp,gp,1
+ 8000038c: 00000073 ecall
+
+0000000080000390 <pass>:
+ 80000390: 0ff0000f fence
+ 80000394: 00100193 li gp,1
+ 80000398: 00000073 ecall
+ 8000039c: c0001073 unimp
+ 800003a0: 0000 unimp
+ 800003a2: 0000 unimp
+ 800003a4: 0000 unimp
+ 800003a6: 0000 unimp
+ 800003a8: 0000 unimp
+ 800003aa: 0000 unimp
+ 800003ac: 0000 unimp
+ 800003ae: 0000 unimp
+ 800003b0: 0000 unimp
+ 800003b2: 0000 unimp
+ 800003b4: 0000 unimp
+ 800003b6: 0000 unimp
+ 800003b8: 0000 unimp
+ 800003ba: 0000 unimp
+ 800003bc: 0000 unimp
+ 800003be: 0000 unimp
+ 800003c0: 0000 unimp
+ 800003c2: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: 00ff 0xff
+
+0000000080002002 <tdat2>:
+ 80002002: ff00 sd s0,56(a4)
+
+0000000080002004 <tdat3>:
+ 80002004: 0ff0 addi a2,sp,988
+
+0000000080002006 <tdat4>:
+ 80002006: 0000f00f 0xf00f
+ 8000200a: 0000 unimp
+ 8000200c: 0000 unimp
+ 8000200e: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-lhu.elf b/test/riscv/tests/rv64ui-p-lhu.elf
new file mode 100755
index 00000000..bae5bc05
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lhu.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-lui.dump b/test/riscv/tests/rv64ui-p-lui.dump
new file mode 100644
index 00000000..329a3c5d
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lui.dump
@@ -0,0 +1,127 @@
+
+rv64ui-p-lui: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 000000b7 lui ra,0x0
+ 80000100: 00000e93 li t4,0
+ 80000104: 00200193 li gp,2
+ 80000108: 05d09a63 bne ra,t4,8000015c <fail>
+
+000000008000010c <test_3>:
+ 8000010c: fffff0b7 lui ra,0xfffff
+ 80000110: 4010d093 srai ra,ra,0x1
+ 80000114: 80000e93 li t4,-2048
+ 80000118: 00300193 li gp,3
+ 8000011c: 05d09063 bne ra,t4,8000015c <fail>
+
+0000000080000120 <test_4>:
+ 80000120: 7ffff0b7 lui ra,0x7ffff
+ 80000124: 4140d093 srai ra,ra,0x14
+ 80000128: 7ff00e93 li t4,2047
+ 8000012c: 00400193 li gp,4
+ 80000130: 03d09663 bne ra,t4,8000015c <fail>
+
+0000000080000134 <test_5>:
+ 80000134: 800000b7 lui ra,0x80000
+ 80000138: 4140d093 srai ra,ra,0x14
+ 8000013c: 80000e93 li t4,-2048
+ 80000140: 00500193 li gp,5
+ 80000144: 01d09c63 bne ra,t4,8000015c <fail>
+
+0000000080000148 <test_6>:
+ 80000148: 80000037 lui zero,0x80000
+ 8000014c: 00000e93 li t4,0
+ 80000150: 00600193 li gp,6
+ 80000154: 01d01463 bne zero,t4,8000015c <fail>
+ 80000158: 00301c63 bne zero,gp,80000170 <pass>
+
+000000008000015c <fail>:
+ 8000015c: 0ff0000f fence
+ 80000160: 00018063 beqz gp,80000160 <fail+0x4>
+ 80000164: 00119193 slli gp,gp,0x1
+ 80000168: 0011e193 ori gp,gp,1
+ 8000016c: 00000073 ecall
+
+0000000080000170 <pass>:
+ 80000170: 0ff0000f fence
+ 80000174: 00100193 li gp,1
+ 80000178: 00000073 ecall
+ 8000017c: c0001073 unimp
+ 80000180: 0000 unimp
+ 80000182: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-lui.elf b/test/riscv/tests/rv64ui-p-lui.elf
new file mode 100755
index 00000000..4bf8d97b
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lui.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-lw.dump b/test/riscv/tests/rv64ui-p-lw.dump
new file mode 100644
index 00000000..889c4521
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lw.dump
@@ -0,0 +1,319 @@
+
+rv64ui-p-lw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00002097 auipc ra,0x2
+ 80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature>
+ 80000104: 0000af03 lw t5,0(ra)
+ 80000108: 00ff0eb7 lui t4,0xff0
+ 8000010c: 0ffe8e9b addiw t4,t4,255
+ 80000110: 00200193 li gp,2
+ 80000114: 27df1a63 bne t5,t4,80000388 <fail>
+
+0000000080000118 <test_3>:
+ 80000118: 00002097 auipc ra,0x2
+ 8000011c: ee808093 addi ra,ra,-280 # 80002000 <begin_signature>
+ 80000120: 0040af03 lw t5,4(ra)
+ 80000124: ff010eb7 lui t4,0xff010
+ 80000128: f00e8e9b addiw t4,t4,-256
+ 8000012c: 00300193 li gp,3
+ 80000130: 25df1c63 bne t5,t4,80000388 <fail>
+
+0000000080000134 <test_4>:
+ 80000134: 00002097 auipc ra,0x2
+ 80000138: ecc08093 addi ra,ra,-308 # 80002000 <begin_signature>
+ 8000013c: 0080af03 lw t5,8(ra)
+ 80000140: 0ff01eb7 lui t4,0xff01
+ 80000144: ff0e8e9b addiw t4,t4,-16
+ 80000148: 00400193 li gp,4
+ 8000014c: 23df1e63 bne t5,t4,80000388 <fail>
+
+0000000080000150 <test_5>:
+ 80000150: 00002097 auipc ra,0x2
+ 80000154: eb008093 addi ra,ra,-336 # 80002000 <begin_signature>
+ 80000158: 00c0af03 lw t5,12(ra)
+ 8000015c: f00ffeb7 lui t4,0xf00ff
+ 80000160: 00fe8e9b addiw t4,t4,15
+ 80000164: 00500193 li gp,5
+ 80000168: 23df1063 bne t5,t4,80000388 <fail>
+
+000000008000016c <test_6>:
+ 8000016c: 00002097 auipc ra,0x2
+ 80000170: ea008093 addi ra,ra,-352 # 8000200c <tdat4>
+ 80000174: ff40af03 lw t5,-12(ra)
+ 80000178: 00ff0eb7 lui t4,0xff0
+ 8000017c: 0ffe8e9b addiw t4,t4,255
+ 80000180: 00600193 li gp,6
+ 80000184: 21df1263 bne t5,t4,80000388 <fail>
+
+0000000080000188 <test_7>:
+ 80000188: 00002097 auipc ra,0x2
+ 8000018c: e8408093 addi ra,ra,-380 # 8000200c <tdat4>
+ 80000190: ff80af03 lw t5,-8(ra)
+ 80000194: ff010eb7 lui t4,0xff010
+ 80000198: f00e8e9b addiw t4,t4,-256
+ 8000019c: 00700193 li gp,7
+ 800001a0: 1fdf1463 bne t5,t4,80000388 <fail>
+
+00000000800001a4 <test_8>:
+ 800001a4: 00002097 auipc ra,0x2
+ 800001a8: e6808093 addi ra,ra,-408 # 8000200c <tdat4>
+ 800001ac: ffc0af03 lw t5,-4(ra)
+ 800001b0: 0ff01eb7 lui t4,0xff01
+ 800001b4: ff0e8e9b addiw t4,t4,-16
+ 800001b8: 00800193 li gp,8
+ 800001bc: 1ddf1663 bne t5,t4,80000388 <fail>
+
+00000000800001c0 <test_9>:
+ 800001c0: 00002097 auipc ra,0x2
+ 800001c4: e4c08093 addi ra,ra,-436 # 8000200c <tdat4>
+ 800001c8: 0000af03 lw t5,0(ra)
+ 800001cc: f00ffeb7 lui t4,0xf00ff
+ 800001d0: 00fe8e9b addiw t4,t4,15
+ 800001d4: 00900193 li gp,9
+ 800001d8: 1bdf1863 bne t5,t4,80000388 <fail>
+
+00000000800001dc <test_10>:
+ 800001dc: 00002097 auipc ra,0x2
+ 800001e0: e2408093 addi ra,ra,-476 # 80002000 <begin_signature>
+ 800001e4: fe008093 addi ra,ra,-32
+ 800001e8: 0200a283 lw t0,32(ra)
+ 800001ec: 00ff0eb7 lui t4,0xff0
+ 800001f0: 0ffe8e9b addiw t4,t4,255
+ 800001f4: 00a00193 li gp,10
+ 800001f8: 19d29863 bne t0,t4,80000388 <fail>
+
+00000000800001fc <test_11>:
+ 800001fc: 00002097 auipc ra,0x2
+ 80000200: e0408093 addi ra,ra,-508 # 80002000 <begin_signature>
+ 80000204: ffd08093 addi ra,ra,-3
+ 80000208: 0070a283 lw t0,7(ra)
+ 8000020c: ff010eb7 lui t4,0xff010
+ 80000210: f00e8e9b addiw t4,t4,-256
+ 80000214: 00b00193 li gp,11
+ 80000218: 17d29863 bne t0,t4,80000388 <fail>
+
+000000008000021c <test_12>:
+ 8000021c: 00c00193 li gp,12
+ 80000220: 00000213 li tp,0
+ 80000224: 00002097 auipc ra,0x2
+ 80000228: de008093 addi ra,ra,-544 # 80002004 <tdat2>
+ 8000022c: 0040af03 lw t5,4(ra)
+ 80000230: 000f0313 mv t1,t5
+ 80000234: 0ff01eb7 lui t4,0xff01
+ 80000238: ff0e8e9b addiw t4,t4,-16
+ 8000023c: 15d31663 bne t1,t4,80000388 <fail>
+ 80000240: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000244: 00200293 li t0,2
+ 80000248: fc521ee3 bne tp,t0,80000224 <test_12+0x8>
+
+000000008000024c <test_13>:
+ 8000024c: 00d00193 li gp,13
+ 80000250: 00000213 li tp,0
+ 80000254: 00002097 auipc ra,0x2
+ 80000258: db408093 addi ra,ra,-588 # 80002008 <tdat3>
+ 8000025c: 0040af03 lw t5,4(ra)
+ 80000260: 00000013 nop
+ 80000264: 000f0313 mv t1,t5
+ 80000268: f00ffeb7 lui t4,0xf00ff
+ 8000026c: 00fe8e9b addiw t4,t4,15
+ 80000270: 11d31c63 bne t1,t4,80000388 <fail>
+ 80000274: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000278: 00200293 li t0,2
+ 8000027c: fc521ce3 bne tp,t0,80000254 <test_13+0x8>
+
+0000000080000280 <test_14>:
+ 80000280: 00e00193 li gp,14
+ 80000284: 00000213 li tp,0
+ 80000288: 00002097 auipc ra,0x2
+ 8000028c: d7808093 addi ra,ra,-648 # 80002000 <begin_signature>
+ 80000290: 0040af03 lw t5,4(ra)
+ 80000294: 00000013 nop
+ 80000298: 00000013 nop
+ 8000029c: 000f0313 mv t1,t5
+ 800002a0: ff010eb7 lui t4,0xff010
+ 800002a4: f00e8e9b addiw t4,t4,-256
+ 800002a8: 0fd31063 bne t1,t4,80000388 <fail>
+ 800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002b0: 00200293 li t0,2
+ 800002b4: fc521ae3 bne tp,t0,80000288 <test_14+0x8>
+
+00000000800002b8 <test_15>:
+ 800002b8: 00f00193 li gp,15
+ 800002bc: 00000213 li tp,0
+ 800002c0: 00002097 auipc ra,0x2
+ 800002c4: d4408093 addi ra,ra,-700 # 80002004 <tdat2>
+ 800002c8: 0040af03 lw t5,4(ra)
+ 800002cc: 0ff01eb7 lui t4,0xff01
+ 800002d0: ff0e8e9b addiw t4,t4,-16
+ 800002d4: 0bdf1a63 bne t5,t4,80000388 <fail>
+ 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002dc: 00200293 li t0,2
+ 800002e0: fe5210e3 bne tp,t0,800002c0 <test_15+0x8>
+
+00000000800002e4 <test_16>:
+ 800002e4: 01000193 li gp,16
+ 800002e8: 00000213 li tp,0
+ 800002ec: 00002097 auipc ra,0x2
+ 800002f0: d1c08093 addi ra,ra,-740 # 80002008 <tdat3>
+ 800002f4: 00000013 nop
+ 800002f8: 0040af03 lw t5,4(ra)
+ 800002fc: f00ffeb7 lui t4,0xf00ff
+ 80000300: 00fe8e9b addiw t4,t4,15
+ 80000304: 09df1263 bne t5,t4,80000388 <fail>
+ 80000308: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000030c: 00200293 li t0,2
+ 80000310: fc521ee3 bne tp,t0,800002ec <test_16+0x8>
+
+0000000080000314 <test_17>:
+ 80000314: 01100193 li gp,17
+ 80000318: 00000213 li tp,0
+ 8000031c: 00002097 auipc ra,0x2
+ 80000320: ce408093 addi ra,ra,-796 # 80002000 <begin_signature>
+ 80000324: 00000013 nop
+ 80000328: 00000013 nop
+ 8000032c: 0040af03 lw t5,4(ra)
+ 80000330: ff010eb7 lui t4,0xff010
+ 80000334: f00e8e9b addiw t4,t4,-256
+ 80000338: 05df1863 bne t5,t4,80000388 <fail>
+ 8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000340: 00200293 li t0,2
+ 80000344: fc521ce3 bne tp,t0,8000031c <test_17+0x8>
+
+0000000080000348 <test_18>:
+ 80000348: 00002297 auipc t0,0x2
+ 8000034c: cb828293 addi t0,t0,-840 # 80002000 <begin_signature>
+ 80000350: 0002a103 lw sp,0(t0)
+ 80000354: 00200113 li sp,2
+ 80000358: 00200e93 li t4,2
+ 8000035c: 01200193 li gp,18
+ 80000360: 03d11463 bne sp,t4,80000388 <fail>
+
+0000000080000364 <test_19>:
+ 80000364: 00002297 auipc t0,0x2
+ 80000368: c9c28293 addi t0,t0,-868 # 80002000 <begin_signature>
+ 8000036c: 0002a103 lw sp,0(t0)
+ 80000370: 00000013 nop
+ 80000374: 00200113 li sp,2
+ 80000378: 00200e93 li t4,2
+ 8000037c: 01300193 li gp,19
+ 80000380: 01d11463 bne sp,t4,80000388 <fail>
+ 80000384: 00301c63 bne zero,gp,8000039c <pass>
+
+0000000080000388 <fail>:
+ 80000388: 0ff0000f fence
+ 8000038c: 00018063 beqz gp,8000038c <fail+0x4>
+ 80000390: 00119193 slli gp,gp,0x1
+ 80000394: 0011e193 ori gp,gp,1
+ 80000398: 00000073 ecall
+
+000000008000039c <pass>:
+ 8000039c: 0ff0000f fence
+ 800003a0: 00100193 li gp,1
+ 800003a4: 00000073 ecall
+ 800003a8: c0001073 unimp
+ 800003ac: 0000 unimp
+ 800003ae: 0000 unimp
+ 800003b0: 0000 unimp
+ 800003b2: 0000 unimp
+ 800003b4: 0000 unimp
+ 800003b6: 0000 unimp
+ 800003b8: 0000 unimp
+ 800003ba: 0000 unimp
+ 800003bc: 0000 unimp
+ 800003be: 0000 unimp
+ 800003c0: 0000 unimp
+ 800003c2: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: 00ff 0xff
+ 80002002: 00ff 0xff
+
+0000000080002004 <tdat2>:
+ 80002004: ff00 sd s0,56(a4)
+ 80002006: ff00 sd s0,56(a4)
+
+0000000080002008 <tdat3>:
+ 80002008: 0ff0 addi a2,sp,988
+ 8000200a: 0ff0 addi a2,sp,988
+
+000000008000200c <tdat4>:
+ 8000200c: f00ff00f 0xf00ff00f
diff --git a/test/riscv/tests/rv64ui-p-lw.elf b/test/riscv/tests/rv64ui-p-lw.elf
new file mode 100755
index 00000000..d371f1c9
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-lwu.dump b/test/riscv/tests/rv64ui-p-lwu.dump
new file mode 100644
index 00000000..21f50ee3
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lwu.dump
@@ -0,0 +1,333 @@
+
+rv64ui-p-lwu: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00002097 auipc ra,0x2
+ 80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature>
+ 80000104: 0000ef03 lwu t5,0(ra)
+ 80000108: 00ff0eb7 lui t4,0xff0
+ 8000010c: 0ffe8e9b addiw t4,t4,255
+ 80000110: 00200193 li gp,2
+ 80000114: 2bdf1e63 bne t5,t4,800003d0 <fail>
+
+0000000080000118 <test_3>:
+ 80000118: 00002097 auipc ra,0x2
+ 8000011c: ee808093 addi ra,ra,-280 # 80002000 <begin_signature>
+ 80000120: 0040ef03 lwu t5,4(ra)
+ 80000124: 00010eb7 lui t4,0x10
+ 80000128: f01e8e9b addiw t4,t4,-255
+ 8000012c: 010e9e93 slli t4,t4,0x10
+ 80000130: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 80000134: 00300193 li gp,3
+ 80000138: 29df1c63 bne t5,t4,800003d0 <fail>
+
+000000008000013c <test_4>:
+ 8000013c: 00002097 auipc ra,0x2
+ 80000140: ec408093 addi ra,ra,-316 # 80002000 <begin_signature>
+ 80000144: 0080ef03 lwu t5,8(ra)
+ 80000148: 0ff01eb7 lui t4,0xff01
+ 8000014c: ff0e8e9b addiw t4,t4,-16
+ 80000150: 00400193 li gp,4
+ 80000154: 27df1e63 bne t5,t4,800003d0 <fail>
+
+0000000080000158 <test_5>:
+ 80000158: 00002097 auipc ra,0x2
+ 8000015c: ea808093 addi ra,ra,-344 # 80002000 <begin_signature>
+ 80000160: 00c0ef03 lwu t5,12(ra)
+ 80000164: 000f0eb7 lui t4,0xf0
+ 80000168: 0ffe8e9b addiw t4,t4,255
+ 8000016c: 00ce9e93 slli t4,t4,0xc
+ 80000170: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 80000174: 00500193 li gp,5
+ 80000178: 25df1c63 bne t5,t4,800003d0 <fail>
+
+000000008000017c <test_6>:
+ 8000017c: 00002097 auipc ra,0x2
+ 80000180: e9008093 addi ra,ra,-368 # 8000200c <tdat4>
+ 80000184: ff40ef03 lwu t5,-12(ra)
+ 80000188: 00ff0eb7 lui t4,0xff0
+ 8000018c: 0ffe8e9b addiw t4,t4,255
+ 80000190: 00600193 li gp,6
+ 80000194: 23df1e63 bne t5,t4,800003d0 <fail>
+
+0000000080000198 <test_7>:
+ 80000198: 00002097 auipc ra,0x2
+ 8000019c: e7408093 addi ra,ra,-396 # 8000200c <tdat4>
+ 800001a0: ff80ef03 lwu t5,-8(ra)
+ 800001a4: 00010eb7 lui t4,0x10
+ 800001a8: f01e8e9b addiw t4,t4,-255
+ 800001ac: 010e9e93 slli t4,t4,0x10
+ 800001b0: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 800001b4: 00700193 li gp,7
+ 800001b8: 21df1c63 bne t5,t4,800003d0 <fail>
+
+00000000800001bc <test_8>:
+ 800001bc: 00002097 auipc ra,0x2
+ 800001c0: e5008093 addi ra,ra,-432 # 8000200c <tdat4>
+ 800001c4: ffc0ef03 lwu t5,-4(ra)
+ 800001c8: 0ff01eb7 lui t4,0xff01
+ 800001cc: ff0e8e9b addiw t4,t4,-16
+ 800001d0: 00800193 li gp,8
+ 800001d4: 1fdf1e63 bne t5,t4,800003d0 <fail>
+
+00000000800001d8 <test_9>:
+ 800001d8: 00002097 auipc ra,0x2
+ 800001dc: e3408093 addi ra,ra,-460 # 8000200c <tdat4>
+ 800001e0: 0000ef03 lwu t5,0(ra)
+ 800001e4: 000f0eb7 lui t4,0xf0
+ 800001e8: 0ffe8e9b addiw t4,t4,255
+ 800001ec: 00ce9e93 slli t4,t4,0xc
+ 800001f0: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 800001f4: 00900193 li gp,9
+ 800001f8: 1ddf1c63 bne t5,t4,800003d0 <fail>
+
+00000000800001fc <test_10>:
+ 800001fc: 00002097 auipc ra,0x2
+ 80000200: e0408093 addi ra,ra,-508 # 80002000 <begin_signature>
+ 80000204: fe008093 addi ra,ra,-32
+ 80000208: 0200e283 lwu t0,32(ra)
+ 8000020c: 00ff0eb7 lui t4,0xff0
+ 80000210: 0ffe8e9b addiw t4,t4,255
+ 80000214: 00a00193 li gp,10
+ 80000218: 1bd29c63 bne t0,t4,800003d0 <fail>
+
+000000008000021c <test_11>:
+ 8000021c: 00002097 auipc ra,0x2
+ 80000220: de408093 addi ra,ra,-540 # 80002000 <begin_signature>
+ 80000224: ffd08093 addi ra,ra,-3
+ 80000228: 0070e283 lwu t0,7(ra)
+ 8000022c: 00010eb7 lui t4,0x10
+ 80000230: f01e8e9b addiw t4,t4,-255
+ 80000234: 010e9e93 slli t4,t4,0x10
+ 80000238: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 8000023c: 00b00193 li gp,11
+ 80000240: 19d29863 bne t0,t4,800003d0 <fail>
+
+0000000080000244 <test_12>:
+ 80000244: 00c00193 li gp,12
+ 80000248: 00000213 li tp,0
+ 8000024c: 00002097 auipc ra,0x2
+ 80000250: db808093 addi ra,ra,-584 # 80002004 <tdat2>
+ 80000254: 0040ef03 lwu t5,4(ra)
+ 80000258: 000f0313 mv t1,t5
+ 8000025c: 0ff01eb7 lui t4,0xff01
+ 80000260: ff0e8e9b addiw t4,t4,-16
+ 80000264: 17d31663 bne t1,t4,800003d0 <fail>
+ 80000268: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000026c: 00200293 li t0,2
+ 80000270: fc521ee3 bne tp,t0,8000024c <test_12+0x8>
+
+0000000080000274 <test_13>:
+ 80000274: 00d00193 li gp,13
+ 80000278: 00000213 li tp,0
+ 8000027c: 00002097 auipc ra,0x2
+ 80000280: d8c08093 addi ra,ra,-628 # 80002008 <tdat3>
+ 80000284: 0040ef03 lwu t5,4(ra)
+ 80000288: 00000013 nop
+ 8000028c: 000f0313 mv t1,t5
+ 80000290: 000f0eb7 lui t4,0xf0
+ 80000294: 0ffe8e9b addiw t4,t4,255
+ 80000298: 00ce9e93 slli t4,t4,0xc
+ 8000029c: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 800002a0: 13d31863 bne t1,t4,800003d0 <fail>
+ 800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a8: 00200293 li t0,2
+ 800002ac: fc5218e3 bne tp,t0,8000027c <test_13+0x8>
+
+00000000800002b0 <test_14>:
+ 800002b0: 00e00193 li gp,14
+ 800002b4: 00000213 li tp,0
+ 800002b8: 00002097 auipc ra,0x2
+ 800002bc: d4808093 addi ra,ra,-696 # 80002000 <begin_signature>
+ 800002c0: 0040ef03 lwu t5,4(ra)
+ 800002c4: 00000013 nop
+ 800002c8: 00000013 nop
+ 800002cc: 000f0313 mv t1,t5
+ 800002d0: 00010eb7 lui t4,0x10
+ 800002d4: f01e8e9b addiw t4,t4,-255
+ 800002d8: 010e9e93 slli t4,t4,0x10
+ 800002dc: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 800002e0: 0fd31863 bne t1,t4,800003d0 <fail>
+ 800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002e8: 00200293 li t0,2
+ 800002ec: fc5216e3 bne tp,t0,800002b8 <test_14+0x8>
+
+00000000800002f0 <test_15>:
+ 800002f0: 00f00193 li gp,15
+ 800002f4: 00000213 li tp,0
+ 800002f8: 00002097 auipc ra,0x2
+ 800002fc: d0c08093 addi ra,ra,-756 # 80002004 <tdat2>
+ 80000300: 0040ef03 lwu t5,4(ra)
+ 80000304: 0ff01eb7 lui t4,0xff01
+ 80000308: ff0e8e9b addiw t4,t4,-16
+ 8000030c: 0ddf1263 bne t5,t4,800003d0 <fail>
+ 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000314: 00200293 li t0,2
+ 80000318: fe5210e3 bne tp,t0,800002f8 <test_15+0x8>
+
+000000008000031c <test_16>:
+ 8000031c: 01000193 li gp,16
+ 80000320: 00000213 li tp,0
+ 80000324: 00002097 auipc ra,0x2
+ 80000328: ce408093 addi ra,ra,-796 # 80002008 <tdat3>
+ 8000032c: 00000013 nop
+ 80000330: 0040ef03 lwu t5,4(ra)
+ 80000334: 000f0eb7 lui t4,0xf0
+ 80000338: 0ffe8e9b addiw t4,t4,255
+ 8000033c: 00ce9e93 slli t4,t4,0xc
+ 80000340: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 80000344: 09df1663 bne t5,t4,800003d0 <fail>
+ 80000348: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000034c: 00200293 li t0,2
+ 80000350: fc521ae3 bne tp,t0,80000324 <test_16+0x8>
+
+0000000080000354 <test_17>:
+ 80000354: 01100193 li gp,17
+ 80000358: 00000213 li tp,0
+ 8000035c: 00002097 auipc ra,0x2
+ 80000360: ca408093 addi ra,ra,-860 # 80002000 <begin_signature>
+ 80000364: 00000013 nop
+ 80000368: 00000013 nop
+ 8000036c: 0040ef03 lwu t5,4(ra)
+ 80000370: 00010eb7 lui t4,0x10
+ 80000374: f01e8e9b addiw t4,t4,-255
+ 80000378: 010e9e93 slli t4,t4,0x10
+ 8000037c: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 80000380: 05df1863 bne t5,t4,800003d0 <fail>
+ 80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000388: 00200293 li t0,2
+ 8000038c: fc5218e3 bne tp,t0,8000035c <test_17+0x8>
+
+0000000080000390 <test_18>:
+ 80000390: 00002297 auipc t0,0x2
+ 80000394: c7028293 addi t0,t0,-912 # 80002000 <begin_signature>
+ 80000398: 0002e103 lwu sp,0(t0)
+ 8000039c: 00200113 li sp,2
+ 800003a0: 00200e93 li t4,2
+ 800003a4: 01200193 li gp,18
+ 800003a8: 03d11463 bne sp,t4,800003d0 <fail>
+
+00000000800003ac <test_19>:
+ 800003ac: 00002297 auipc t0,0x2
+ 800003b0: c5428293 addi t0,t0,-940 # 80002000 <begin_signature>
+ 800003b4: 0002e103 lwu sp,0(t0)
+ 800003b8: 00000013 nop
+ 800003bc: 00200113 li sp,2
+ 800003c0: 00200e93 li t4,2
+ 800003c4: 01300193 li gp,19
+ 800003c8: 01d11463 bne sp,t4,800003d0 <fail>
+ 800003cc: 00301c63 bne zero,gp,800003e4 <pass>
+
+00000000800003d0 <fail>:
+ 800003d0: 0ff0000f fence
+ 800003d4: 00018063 beqz gp,800003d4 <fail+0x4>
+ 800003d8: 00119193 slli gp,gp,0x1
+ 800003dc: 0011e193 ori gp,gp,1
+ 800003e0: 00000073 ecall
+
+00000000800003e4 <pass>:
+ 800003e4: 0ff0000f fence
+ 800003e8: 00100193 li gp,1
+ 800003ec: 00000073 ecall
+ 800003f0: c0001073 unimp
+ 800003f4: 0000 unimp
+ 800003f6: 0000 unimp
+ 800003f8: 0000 unimp
+ 800003fa: 0000 unimp
+ 800003fc: 0000 unimp
+ 800003fe: 0000 unimp
+ 80000400: 0000 unimp
+ 80000402: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: 00ff 0xff
+ 80002002: 00ff 0xff
+
+0000000080002004 <tdat2>:
+ 80002004: ff00 sd s0,56(a4)
+ 80002006: ff00 sd s0,56(a4)
+
+0000000080002008 <tdat3>:
+ 80002008: 0ff0 addi a2,sp,988
+ 8000200a: 0ff0 addi a2,sp,988
+
+000000008000200c <tdat4>:
+ 8000200c: f00ff00f 0xf00ff00f
diff --git a/test/riscv/tests/rv64ui-p-lwu.elf b/test/riscv/tests/rv64ui-p-lwu.elf
new file mode 100755
index 00000000..c7fedede
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-lwu.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-or.dump b/test/riscv/tests/rv64ui-p-or.dump
new file mode 100644
index 00000000..4ca0b79b
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-or.dump
@@ -0,0 +1,522 @@
+
+rv64ui-p-or: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 000100b7 lui ra,0x10
+ 80000100: f010809b addiw ra,ra,-255
+ 80000104: 01009093 slli ra,ra,0x10
+ 80000108: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 8000010c: 0f0f1137 lui sp,0xf0f1
+ 80000110: f0f1011b addiw sp,sp,-241
+ 80000114: 0020ef33 or t5,ra,sp
+ 80000118: 00001eb7 lui t4,0x1
+ 8000011c: ff1e8e9b addiw t4,t4,-15
+ 80000120: 014e9e93 slli t4,t4,0x14
+ 80000124: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1>
+ 80000128: 00200193 li gp,2
+ 8000012c: 5bdf1663 bne t5,t4,800006d8 <fail>
+
+0000000080000130 <test_3>:
+ 80000130: 0ff010b7 lui ra,0xff01
+ 80000134: ff00809b addiw ra,ra,-16
+ 80000138: 000f1137 lui sp,0xf1
+ 8000013c: f0f1011b addiw sp,sp,-241
+ 80000140: 00c11113 slli sp,sp,0xc
+ 80000144: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 80000148: 0020ef33 or t5,ra,sp
+ 8000014c: 00010eb7 lui t4,0x10
+ 80000150: ff1e8e9b addiw t4,t4,-15
+ 80000154: 010e9e93 slli t4,t4,0x10
+ 80000158: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010>
+ 8000015c: 00300193 li gp,3
+ 80000160: 57df1c63 bne t5,t4,800006d8 <fail>
+
+0000000080000164 <test_4>:
+ 80000164: 00ff00b7 lui ra,0xff0
+ 80000168: 0ff0809b addiw ra,ra,255
+ 8000016c: 0f0f1137 lui sp,0xf0f1
+ 80000170: f0f1011b addiw sp,sp,-241
+ 80000174: 0020ef33 or t5,ra,sp
+ 80000178: 0fff1eb7 lui t4,0xfff1
+ 8000017c: fffe8e9b addiw t4,t4,-1
+ 80000180: 00400193 li gp,4
+ 80000184: 55df1a63 bne t5,t4,800006d8 <fail>
+
+0000000080000188 <test_5>:
+ 80000188: 000f00b7 lui ra,0xf0
+ 8000018c: 0ff0809b addiw ra,ra,255
+ 80000190: 00c09093 slli ra,ra,0xc
+ 80000194: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1>
+ 80000198: 000f1137 lui sp,0xf1
+ 8000019c: f0f1011b addiw sp,sp,-241
+ 800001a0: 00c11113 slli sp,sp,0xc
+ 800001a4: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 800001a8: 0020ef33 or t5,ra,sp
+ 800001ac: 000f1eb7 lui t4,0xf1
+ 800001b0: fffe8e9b addiw t4,t4,-1
+ 800001b4: 00ce9e93 slli t4,t4,0xc
+ 800001b8: 0ffe8e93 addi t4,t4,255 # f10ff <_start-0x7ff0ef01>
+ 800001bc: 00500193 li gp,5
+ 800001c0: 51df1c63 bne t5,t4,800006d8 <fail>
+
+00000000800001c4 <test_6>:
+ 800001c4: 000100b7 lui ra,0x10
+ 800001c8: f010809b addiw ra,ra,-255
+ 800001cc: 01009093 slli ra,ra,0x10
+ 800001d0: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 800001d4: 0f0f1137 lui sp,0xf0f1
+ 800001d8: f0f1011b addiw sp,sp,-241
+ 800001dc: 0020e0b3 or ra,ra,sp
+ 800001e0: 00001eb7 lui t4,0x1
+ 800001e4: ff1e8e9b addiw t4,t4,-15
+ 800001e8: 014e9e93 slli t4,t4,0x14
+ 800001ec: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1>
+ 800001f0: 00600193 li gp,6
+ 800001f4: 4fd09263 bne ra,t4,800006d8 <fail>
+
+00000000800001f8 <test_7>:
+ 800001f8: 000100b7 lui ra,0x10
+ 800001fc: f010809b addiw ra,ra,-255
+ 80000200: 01009093 slli ra,ra,0x10
+ 80000204: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000208: 0f0f1137 lui sp,0xf0f1
+ 8000020c: f0f1011b addiw sp,sp,-241
+ 80000210: 0020e133 or sp,ra,sp
+ 80000214: 00001eb7 lui t4,0x1
+ 80000218: ff1e8e9b addiw t4,t4,-15
+ 8000021c: 014e9e93 slli t4,t4,0x14
+ 80000220: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1>
+ 80000224: 00700193 li gp,7
+ 80000228: 4bd11863 bne sp,t4,800006d8 <fail>
+
+000000008000022c <test_8>:
+ 8000022c: 000100b7 lui ra,0x10
+ 80000230: f010809b addiw ra,ra,-255
+ 80000234: 01009093 slli ra,ra,0x10
+ 80000238: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 8000023c: 0010e0b3 or ra,ra,ra
+ 80000240: 00010eb7 lui t4,0x10
+ 80000244: f01e8e9b addiw t4,t4,-255
+ 80000248: 010e9e93 slli t4,t4,0x10
+ 8000024c: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 80000250: 00800193 li gp,8
+ 80000254: 49d09263 bne ra,t4,800006d8 <fail>
+
+0000000080000258 <test_9>:
+ 80000258: 00000213 li tp,0
+ 8000025c: 000100b7 lui ra,0x10
+ 80000260: f010809b addiw ra,ra,-255
+ 80000264: 01009093 slli ra,ra,0x10
+ 80000268: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 8000026c: 0f0f1137 lui sp,0xf0f1
+ 80000270: f0f1011b addiw sp,sp,-241
+ 80000274: 0020ef33 or t5,ra,sp
+ 80000278: 000f0313 mv t1,t5
+ 8000027c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000280: 00200293 li t0,2
+ 80000284: fc521ce3 bne tp,t0,8000025c <test_9+0x4>
+ 80000288: 00001eb7 lui t4,0x1
+ 8000028c: ff1e8e9b addiw t4,t4,-15
+ 80000290: 014e9e93 slli t4,t4,0x14
+ 80000294: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1>
+ 80000298: 00900193 li gp,9
+ 8000029c: 43d31e63 bne t1,t4,800006d8 <fail>
+
+00000000800002a0 <test_10>:
+ 800002a0: 00000213 li tp,0
+ 800002a4: 0ff010b7 lui ra,0xff01
+ 800002a8: ff00809b addiw ra,ra,-16
+ 800002ac: 000f1137 lui sp,0xf1
+ 800002b0: f0f1011b addiw sp,sp,-241
+ 800002b4: 00c11113 slli sp,sp,0xc
+ 800002b8: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 800002bc: 0020ef33 or t5,ra,sp
+ 800002c0: 00000013 nop
+ 800002c4: 000f0313 mv t1,t5
+ 800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002cc: 00200293 li t0,2
+ 800002d0: fc521ae3 bne tp,t0,800002a4 <test_10+0x4>
+ 800002d4: 00010eb7 lui t4,0x10
+ 800002d8: ff1e8e9b addiw t4,t4,-15
+ 800002dc: 010e9e93 slli t4,t4,0x10
+ 800002e0: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010>
+ 800002e4: 00a00193 li gp,10
+ 800002e8: 3fd31863 bne t1,t4,800006d8 <fail>
+
+00000000800002ec <test_11>:
+ 800002ec: 00000213 li tp,0
+ 800002f0: 00ff00b7 lui ra,0xff0
+ 800002f4: 0ff0809b addiw ra,ra,255
+ 800002f8: 0f0f1137 lui sp,0xf0f1
+ 800002fc: f0f1011b addiw sp,sp,-241
+ 80000300: 0020ef33 or t5,ra,sp
+ 80000304: 00000013 nop
+ 80000308: 00000013 nop
+ 8000030c: 000f0313 mv t1,t5
+ 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000314: 00200293 li t0,2
+ 80000318: fc521ce3 bne tp,t0,800002f0 <test_11+0x4>
+ 8000031c: 0fff1eb7 lui t4,0xfff1
+ 80000320: fffe8e9b addiw t4,t4,-1
+ 80000324: 00b00193 li gp,11
+ 80000328: 3bd31863 bne t1,t4,800006d8 <fail>
+
+000000008000032c <test_12>:
+ 8000032c: 00000213 li tp,0
+ 80000330: 000100b7 lui ra,0x10
+ 80000334: f010809b addiw ra,ra,-255
+ 80000338: 01009093 slli ra,ra,0x10
+ 8000033c: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000340: 0f0f1137 lui sp,0xf0f1
+ 80000344: f0f1011b addiw sp,sp,-241
+ 80000348: 0020ef33 or t5,ra,sp
+ 8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000350: 00200293 li t0,2
+ 80000354: fc521ee3 bne tp,t0,80000330 <test_12+0x4>
+ 80000358: 00001eb7 lui t4,0x1
+ 8000035c: ff1e8e9b addiw t4,t4,-15
+ 80000360: 014e9e93 slli t4,t4,0x14
+ 80000364: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1>
+ 80000368: 00c00193 li gp,12
+ 8000036c: 37df1663 bne t5,t4,800006d8 <fail>
+
+0000000080000370 <test_13>:
+ 80000370: 00000213 li tp,0
+ 80000374: 0ff010b7 lui ra,0xff01
+ 80000378: ff00809b addiw ra,ra,-16
+ 8000037c: 000f1137 lui sp,0xf1
+ 80000380: f0f1011b addiw sp,sp,-241
+ 80000384: 00c11113 slli sp,sp,0xc
+ 80000388: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 8000038c: 00000013 nop
+ 80000390: 0020ef33 or t5,ra,sp
+ 80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000398: 00200293 li t0,2
+ 8000039c: fc521ce3 bne tp,t0,80000374 <test_13+0x4>
+ 800003a0: 00010eb7 lui t4,0x10
+ 800003a4: ff1e8e9b addiw t4,t4,-15
+ 800003a8: 010e9e93 slli t4,t4,0x10
+ 800003ac: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010>
+ 800003b0: 00d00193 li gp,13
+ 800003b4: 33df1263 bne t5,t4,800006d8 <fail>
+
+00000000800003b8 <test_14>:
+ 800003b8: 00000213 li tp,0
+ 800003bc: 00ff00b7 lui ra,0xff0
+ 800003c0: 0ff0809b addiw ra,ra,255
+ 800003c4: 0f0f1137 lui sp,0xf0f1
+ 800003c8: f0f1011b addiw sp,sp,-241
+ 800003cc: 00000013 nop
+ 800003d0: 00000013 nop
+ 800003d4: 0020ef33 or t5,ra,sp
+ 800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003dc: 00200293 li t0,2
+ 800003e0: fc521ee3 bne tp,t0,800003bc <test_14+0x4>
+ 800003e4: 0fff1eb7 lui t4,0xfff1
+ 800003e8: fffe8e9b addiw t4,t4,-1
+ 800003ec: 00e00193 li gp,14
+ 800003f0: 2fdf1463 bne t5,t4,800006d8 <fail>
+
+00000000800003f4 <test_15>:
+ 800003f4: 00000213 li tp,0
+ 800003f8: 000100b7 lui ra,0x10
+ 800003fc: f010809b addiw ra,ra,-255
+ 80000400: 01009093 slli ra,ra,0x10
+ 80000404: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000408: 00000013 nop
+ 8000040c: 0f0f1137 lui sp,0xf0f1
+ 80000410: f0f1011b addiw sp,sp,-241
+ 80000414: 0020ef33 or t5,ra,sp
+ 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000041c: 00200293 li t0,2
+ 80000420: fc521ce3 bne tp,t0,800003f8 <test_15+0x4>
+ 80000424: 00001eb7 lui t4,0x1
+ 80000428: ff1e8e9b addiw t4,t4,-15
+ 8000042c: 014e9e93 slli t4,t4,0x14
+ 80000430: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1>
+ 80000434: 00f00193 li gp,15
+ 80000438: 2bdf1063 bne t5,t4,800006d8 <fail>
+
+000000008000043c <test_16>:
+ 8000043c: 00000213 li tp,0
+ 80000440: 0ff010b7 lui ra,0xff01
+ 80000444: ff00809b addiw ra,ra,-16
+ 80000448: 00000013 nop
+ 8000044c: 000f1137 lui sp,0xf1
+ 80000450: f0f1011b addiw sp,sp,-241
+ 80000454: 00c11113 slli sp,sp,0xc
+ 80000458: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 8000045c: 00000013 nop
+ 80000460: 0020ef33 or t5,ra,sp
+ 80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000468: 00200293 li t0,2
+ 8000046c: fc521ae3 bne tp,t0,80000440 <test_16+0x4>
+ 80000470: 00010eb7 lui t4,0x10
+ 80000474: ff1e8e9b addiw t4,t4,-15
+ 80000478: 010e9e93 slli t4,t4,0x10
+ 8000047c: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010>
+ 80000480: 01000193 li gp,16
+ 80000484: 25df1a63 bne t5,t4,800006d8 <fail>
+
+0000000080000488 <test_17>:
+ 80000488: 00000213 li tp,0
+ 8000048c: 00ff00b7 lui ra,0xff0
+ 80000490: 0ff0809b addiw ra,ra,255
+ 80000494: 00000013 nop
+ 80000498: 00000013 nop
+ 8000049c: 0f0f1137 lui sp,0xf0f1
+ 800004a0: f0f1011b addiw sp,sp,-241
+ 800004a4: 0020ef33 or t5,ra,sp
+ 800004a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004ac: 00200293 li t0,2
+ 800004b0: fc521ee3 bne tp,t0,8000048c <test_17+0x4>
+ 800004b4: 0fff1eb7 lui t4,0xfff1
+ 800004b8: fffe8e9b addiw t4,t4,-1
+ 800004bc: 01100193 li gp,17
+ 800004c0: 21df1c63 bne t5,t4,800006d8 <fail>
+
+00000000800004c4 <test_18>:
+ 800004c4: 00000213 li tp,0
+ 800004c8: 0f0f1137 lui sp,0xf0f1
+ 800004cc: f0f1011b addiw sp,sp,-241
+ 800004d0: 000100b7 lui ra,0x10
+ 800004d4: f010809b addiw ra,ra,-255
+ 800004d8: 01009093 slli ra,ra,0x10
+ 800004dc: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 800004e0: 0020ef33 or t5,ra,sp
+ 800004e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004e8: 00200293 li t0,2
+ 800004ec: fc521ee3 bne tp,t0,800004c8 <test_18+0x4>
+ 800004f0: 00001eb7 lui t4,0x1
+ 800004f4: ff1e8e9b addiw t4,t4,-15
+ 800004f8: 014e9e93 slli t4,t4,0x14
+ 800004fc: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1>
+ 80000500: 01200193 li gp,18
+ 80000504: 1ddf1a63 bne t5,t4,800006d8 <fail>
+
+0000000080000508 <test_19>:
+ 80000508: 00000213 li tp,0
+ 8000050c: 000f1137 lui sp,0xf1
+ 80000510: f0f1011b addiw sp,sp,-241
+ 80000514: 00c11113 slli sp,sp,0xc
+ 80000518: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 8000051c: 0ff010b7 lui ra,0xff01
+ 80000520: ff00809b addiw ra,ra,-16
+ 80000524: 00000013 nop
+ 80000528: 0020ef33 or t5,ra,sp
+ 8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000530: 00200293 li t0,2
+ 80000534: fc521ce3 bne tp,t0,8000050c <test_19+0x4>
+ 80000538: 00010eb7 lui t4,0x10
+ 8000053c: ff1e8e9b addiw t4,t4,-15
+ 80000540: 010e9e93 slli t4,t4,0x10
+ 80000544: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010>
+ 80000548: 01300193 li gp,19
+ 8000054c: 19df1663 bne t5,t4,800006d8 <fail>
+
+0000000080000550 <test_20>:
+ 80000550: 00000213 li tp,0
+ 80000554: 0f0f1137 lui sp,0xf0f1
+ 80000558: f0f1011b addiw sp,sp,-241
+ 8000055c: 00ff00b7 lui ra,0xff0
+ 80000560: 0ff0809b addiw ra,ra,255
+ 80000564: 00000013 nop
+ 80000568: 00000013 nop
+ 8000056c: 0020ef33 or t5,ra,sp
+ 80000570: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000574: 00200293 li t0,2
+ 80000578: fc521ee3 bne tp,t0,80000554 <test_20+0x4>
+ 8000057c: 0fff1eb7 lui t4,0xfff1
+ 80000580: fffe8e9b addiw t4,t4,-1
+ 80000584: 01400193 li gp,20
+ 80000588: 15df1863 bne t5,t4,800006d8 <fail>
+
+000000008000058c <test_21>:
+ 8000058c: 00000213 li tp,0
+ 80000590: 0f0f1137 lui sp,0xf0f1
+ 80000594: f0f1011b addiw sp,sp,-241
+ 80000598: 00000013 nop
+ 8000059c: 000100b7 lui ra,0x10
+ 800005a0: f010809b addiw ra,ra,-255
+ 800005a4: 01009093 slli ra,ra,0x10
+ 800005a8: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 800005ac: 0020ef33 or t5,ra,sp
+ 800005b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005b4: 00200293 li t0,2
+ 800005b8: fc521ce3 bne tp,t0,80000590 <test_21+0x4>
+ 800005bc: 00001eb7 lui t4,0x1
+ 800005c0: ff1e8e9b addiw t4,t4,-15
+ 800005c4: 014e9e93 slli t4,t4,0x14
+ 800005c8: f0fe8e93 addi t4,t4,-241 # f0f <_start-0x7ffff0f1>
+ 800005cc: 01500193 li gp,21
+ 800005d0: 11df1463 bne t5,t4,800006d8 <fail>
+
+00000000800005d4 <test_22>:
+ 800005d4: 00000213 li tp,0
+ 800005d8: 000f1137 lui sp,0xf1
+ 800005dc: f0f1011b addiw sp,sp,-241
+ 800005e0: 00c11113 slli sp,sp,0xc
+ 800005e4: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 800005e8: 00000013 nop
+ 800005ec: 0ff010b7 lui ra,0xff01
+ 800005f0: ff00809b addiw ra,ra,-16
+ 800005f4: 00000013 nop
+ 800005f8: 0020ef33 or t5,ra,sp
+ 800005fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000600: 00200293 li t0,2
+ 80000604: fc521ae3 bne tp,t0,800005d8 <test_22+0x4>
+ 80000608: 00010eb7 lui t4,0x10
+ 8000060c: ff1e8e9b addiw t4,t4,-15
+ 80000610: 010e9e93 slli t4,t4,0x10
+ 80000614: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010>
+ 80000618: 01600193 li gp,22
+ 8000061c: 0bdf1e63 bne t5,t4,800006d8 <fail>
+
+0000000080000620 <test_23>:
+ 80000620: 00000213 li tp,0
+ 80000624: 0f0f1137 lui sp,0xf0f1
+ 80000628: f0f1011b addiw sp,sp,-241
+ 8000062c: 00000013 nop
+ 80000630: 00000013 nop
+ 80000634: 00ff00b7 lui ra,0xff0
+ 80000638: 0ff0809b addiw ra,ra,255
+ 8000063c: 0020ef33 or t5,ra,sp
+ 80000640: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000644: 00200293 li t0,2
+ 80000648: fc521ee3 bne tp,t0,80000624 <test_23+0x4>
+ 8000064c: 0fff1eb7 lui t4,0xfff1
+ 80000650: fffe8e9b addiw t4,t4,-1
+ 80000654: 01700193 li gp,23
+ 80000658: 09df1063 bne t5,t4,800006d8 <fail>
+
+000000008000065c <test_24>:
+ 8000065c: 000100b7 lui ra,0x10
+ 80000660: f010809b addiw ra,ra,-255
+ 80000664: 01009093 slli ra,ra,0x10
+ 80000668: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 8000066c: 00106133 or sp,zero,ra
+ 80000670: 00010eb7 lui t4,0x10
+ 80000674: f01e8e9b addiw t4,t4,-255
+ 80000678: 010e9e93 slli t4,t4,0x10
+ 8000067c: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 80000680: 01800193 li gp,24
+ 80000684: 05d11a63 bne sp,t4,800006d8 <fail>
+
+0000000080000688 <test_25>:
+ 80000688: 00ff00b7 lui ra,0xff0
+ 8000068c: 0ff0809b addiw ra,ra,255
+ 80000690: 0000e133 or sp,ra,zero
+ 80000694: 00ff0eb7 lui t4,0xff0
+ 80000698: 0ffe8e9b addiw t4,t4,255
+ 8000069c: 01900193 li gp,25
+ 800006a0: 03d11c63 bne sp,t4,800006d8 <fail>
+
+00000000800006a4 <test_26>:
+ 800006a4: 000060b3 or ra,zero,zero
+ 800006a8: 00000e93 li t4,0
+ 800006ac: 01a00193 li gp,26
+ 800006b0: 03d09463 bne ra,t4,800006d8 <fail>
+
+00000000800006b4 <test_27>:
+ 800006b4: 111110b7 lui ra,0x11111
+ 800006b8: 1110809b addiw ra,ra,273
+ 800006bc: 22222137 lui sp,0x22222
+ 800006c0: 2221011b addiw sp,sp,546
+ 800006c4: 0020e033 or zero,ra,sp
+ 800006c8: 00000e93 li t4,0
+ 800006cc: 01b00193 li gp,27
+ 800006d0: 01d01463 bne zero,t4,800006d8 <fail>
+ 800006d4: 00301c63 bne zero,gp,800006ec <pass>
+
+00000000800006d8 <fail>:
+ 800006d8: 0ff0000f fence
+ 800006dc: 00018063 beqz gp,800006dc <fail+0x4>
+ 800006e0: 00119193 slli gp,gp,0x1
+ 800006e4: 0011e193 ori gp,gp,1
+ 800006e8: 00000073 ecall
+
+00000000800006ec <pass>:
+ 800006ec: 0ff0000f fence
+ 800006f0: 00100193 li gp,1
+ 800006f4: 00000073 ecall
+ 800006f8: c0001073 unimp
+ 800006fc: 0000 unimp
+ 800006fe: 0000 unimp
+ 80000700: 0000 unimp
+ 80000702: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-or.elf b/test/riscv/tests/rv64ui-p-or.elf
new file mode 100755
index 00000000..e180a180
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-or.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-ori.dump b/test/riscv/tests/rv64ui-p-ori.dump
new file mode 100644
index 00000000..c49630b2
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-ori.dump
@@ -0,0 +1,268 @@
+
+rv64ui-p-ori: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: ff0100b7 lui ra,0xff010
+ 80000100: f000809b addiw ra,ra,-256
+ 80000104: f0f0ef13 ori t5,ra,-241
+ 80000108: f0f00e93 li t4,-241
+ 8000010c: 00200193 li gp,2
+ 80000110: 1ddf1c63 bne t5,t4,800002e8 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 0ff010b7 lui ra,0xff01
+ 80000118: ff00809b addiw ra,ra,-16
+ 8000011c: 0f00ef13 ori t5,ra,240
+ 80000120: 0ff01eb7 lui t4,0xff01
+ 80000124: ff0e8e9b addiw t4,t4,-16
+ 80000128: 00300193 li gp,3
+ 8000012c: 1bdf1e63 bne t5,t4,800002e8 <fail>
+
+0000000080000130 <test_4>:
+ 80000130: 00ff00b7 lui ra,0xff0
+ 80000134: 0ff0809b addiw ra,ra,255
+ 80000138: 70f0ef13 ori t5,ra,1807
+ 8000013c: 00ff0eb7 lui t4,0xff0
+ 80000140: 7ffe8e9b addiw t4,t4,2047
+ 80000144: 00400193 li gp,4
+ 80000148: 1bdf1063 bne t5,t4,800002e8 <fail>
+
+000000008000014c <test_5>:
+ 8000014c: f00ff0b7 lui ra,0xf00ff
+ 80000150: 00f0809b addiw ra,ra,15
+ 80000154: 0f00ef13 ori t5,ra,240
+ 80000158: f00ffeb7 lui t4,0xf00ff
+ 8000015c: 0ffe8e9b addiw t4,t4,255
+ 80000160: 00500193 li gp,5
+ 80000164: 19df1263 bne t5,t4,800002e8 <fail>
+
+0000000080000168 <test_6>:
+ 80000168: 000100b7 lui ra,0x10
+ 8000016c: f010809b addiw ra,ra,-255
+ 80000170: 01009093 slli ra,ra,0x10
+ 80000174: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000178: 0f00e093 ori ra,ra,240
+ 8000017c: 00010eb7 lui t4,0x10
+ 80000180: f01e8e9b addiw t4,t4,-255
+ 80000184: 010e9e93 slli t4,t4,0x10
+ 80000188: ff0e8e93 addi t4,t4,-16 # fff0 <_start-0x7fff0010>
+ 8000018c: 00600193 li gp,6
+ 80000190: 15d09c63 bne ra,t4,800002e8 <fail>
+
+0000000080000194 <test_7>:
+ 80000194: 00000213 li tp,0
+ 80000198: 0ff010b7 lui ra,0xff01
+ 8000019c: ff00809b addiw ra,ra,-16
+ 800001a0: 0f00ef13 ori t5,ra,240
+ 800001a4: 000f0313 mv t1,t5
+ 800001a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800001ac: 00200293 li t0,2
+ 800001b0: fe5214e3 bne tp,t0,80000198 <test_7+0x4>
+ 800001b4: 0ff01eb7 lui t4,0xff01
+ 800001b8: ff0e8e9b addiw t4,t4,-16
+ 800001bc: 00700193 li gp,7
+ 800001c0: 13d31463 bne t1,t4,800002e8 <fail>
+
+00000000800001c4 <test_8>:
+ 800001c4: 00000213 li tp,0
+ 800001c8: 00ff00b7 lui ra,0xff0
+ 800001cc: 0ff0809b addiw ra,ra,255
+ 800001d0: 70f0ef13 ori t5,ra,1807
+ 800001d4: 00000013 nop
+ 800001d8: 000f0313 mv t1,t5
+ 800001dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800001e0: 00200293 li t0,2
+ 800001e4: fe5212e3 bne tp,t0,800001c8 <test_8+0x4>
+ 800001e8: 00ff0eb7 lui t4,0xff0
+ 800001ec: 7ffe8e9b addiw t4,t4,2047
+ 800001f0: 00800193 li gp,8
+ 800001f4: 0fd31a63 bne t1,t4,800002e8 <fail>
+
+00000000800001f8 <test_9>:
+ 800001f8: 00000213 li tp,0
+ 800001fc: f00ff0b7 lui ra,0xf00ff
+ 80000200: 00f0809b addiw ra,ra,15
+ 80000204: 0f00ef13 ori t5,ra,240
+ 80000208: 00000013 nop
+ 8000020c: 00000013 nop
+ 80000210: 000f0313 mv t1,t5
+ 80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000218: 00200293 li t0,2
+ 8000021c: fe5210e3 bne tp,t0,800001fc <test_9+0x4>
+ 80000220: f00ffeb7 lui t4,0xf00ff
+ 80000224: 0ffe8e9b addiw t4,t4,255
+ 80000228: 00900193 li gp,9
+ 8000022c: 0bd31e63 bne t1,t4,800002e8 <fail>
+
+0000000080000230 <test_10>:
+ 80000230: 00000213 li tp,0
+ 80000234: 0ff010b7 lui ra,0xff01
+ 80000238: ff00809b addiw ra,ra,-16
+ 8000023c: 0f00ef13 ori t5,ra,240
+ 80000240: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000244: 00200293 li t0,2
+ 80000248: fe5216e3 bne tp,t0,80000234 <test_10+0x4>
+ 8000024c: 0ff01eb7 lui t4,0xff01
+ 80000250: ff0e8e9b addiw t4,t4,-16
+ 80000254: 00a00193 li gp,10
+ 80000258: 09df1863 bne t5,t4,800002e8 <fail>
+
+000000008000025c <test_11>:
+ 8000025c: 00000213 li tp,0
+ 80000260: 00ff00b7 lui ra,0xff0
+ 80000264: 0ff0809b addiw ra,ra,255
+ 80000268: 00000013 nop
+ 8000026c: f0f0ef13 ori t5,ra,-241
+ 80000270: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000274: 00200293 li t0,2
+ 80000278: fe5214e3 bne tp,t0,80000260 <test_11+0x4>
+ 8000027c: fff00e93 li t4,-1
+ 80000280: 00b00193 li gp,11
+ 80000284: 07df1263 bne t5,t4,800002e8 <fail>
+
+0000000080000288 <test_12>:
+ 80000288: 00000213 li tp,0
+ 8000028c: f00ff0b7 lui ra,0xf00ff
+ 80000290: 00f0809b addiw ra,ra,15
+ 80000294: 00000013 nop
+ 80000298: 00000013 nop
+ 8000029c: 0f00ef13 ori t5,ra,240
+ 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a4: 00200293 li t0,2
+ 800002a8: fe5212e3 bne tp,t0,8000028c <test_12+0x4>
+ 800002ac: f00ffeb7 lui t4,0xf00ff
+ 800002b0: 0ffe8e9b addiw t4,t4,255
+ 800002b4: 00c00193 li gp,12
+ 800002b8: 03df1863 bne t5,t4,800002e8 <fail>
+
+00000000800002bc <test_13>:
+ 800002bc: 0f006093 ori ra,zero,240
+ 800002c0: 0f000e93 li t4,240
+ 800002c4: 00d00193 li gp,13
+ 800002c8: 03d09063 bne ra,t4,800002e8 <fail>
+
+00000000800002cc <test_14>:
+ 800002cc: 00ff00b7 lui ra,0xff0
+ 800002d0: 0ff0809b addiw ra,ra,255
+ 800002d4: 70f0e013 ori zero,ra,1807
+ 800002d8: 00000e93 li t4,0
+ 800002dc: 00e00193 li gp,14
+ 800002e0: 01d01463 bne zero,t4,800002e8 <fail>
+ 800002e4: 00301c63 bne zero,gp,800002fc <pass>
+
+00000000800002e8 <fail>:
+ 800002e8: 0ff0000f fence
+ 800002ec: 00018063 beqz gp,800002ec <fail+0x4>
+ 800002f0: 00119193 slli gp,gp,0x1
+ 800002f4: 0011e193 ori gp,gp,1
+ 800002f8: 00000073 ecall
+
+00000000800002fc <pass>:
+ 800002fc: 0ff0000f fence
+ 80000300: 00100193 li gp,1
+ 80000304: 00000073 ecall
+ 80000308: c0001073 unimp
+ 8000030c: 0000 unimp
+ 8000030e: 0000 unimp
+ 80000310: 0000 unimp
+ 80000312: 0000 unimp
+ 80000314: 0000 unimp
+ 80000316: 0000 unimp
+ 80000318: 0000 unimp
+ 8000031a: 0000 unimp
+ 8000031c: 0000 unimp
+ 8000031e: 0000 unimp
+ 80000320: 0000 unimp
+ 80000322: 0000 unimp
+ 80000324: 0000 unimp
+ 80000326: 0000 unimp
+ 80000328: 0000 unimp
+ 8000032a: 0000 unimp
+ 8000032c: 0000 unimp
+ 8000032e: 0000 unimp
+ 80000330: 0000 unimp
+ 80000332: 0000 unimp
+ 80000334: 0000 unimp
+ 80000336: 0000 unimp
+ 80000338: 0000 unimp
+ 8000033a: 0000 unimp
+ 8000033c: 0000 unimp
+ 8000033e: 0000 unimp
+ 80000340: 0000 unimp
+ 80000342: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-ori.elf b/test/riscv/tests/rv64ui-p-ori.elf
new file mode 100755
index 00000000..c1f8f066
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-ori.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sb.dump b/test/riscv/tests/rv64ui-p-sb.dump
new file mode 100644
index 00000000..5bf111f7
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sb.dump
@@ -0,0 +1,447 @@
+
+rv64ui-p-sb: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00002097 auipc ra,0x2
+ 80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature>
+ 80000104: faa00113 li sp,-86
+ 80000108: 00208023 sb sp,0(ra)
+ 8000010c: 00008f03 lb t5,0(ra)
+ 80000110: faa00e93 li t4,-86
+ 80000114: 00200193 li gp,2
+ 80000118: 3ddf1c63 bne t5,t4,800004f0 <fail>
+
+000000008000011c <test_3>:
+ 8000011c: 00002097 auipc ra,0x2
+ 80000120: ee408093 addi ra,ra,-284 # 80002000 <begin_signature>
+ 80000124: 00000113 li sp,0
+ 80000128: 002080a3 sb sp,1(ra)
+ 8000012c: 00108f03 lb t5,1(ra)
+ 80000130: 00000e93 li t4,0
+ 80000134: 00300193 li gp,3
+ 80000138: 3bdf1c63 bne t5,t4,800004f0 <fail>
+
+000000008000013c <test_4>:
+ 8000013c: 00002097 auipc ra,0x2
+ 80000140: ec408093 addi ra,ra,-316 # 80002000 <begin_signature>
+ 80000144: fffff137 lui sp,0xfffff
+ 80000148: fa01011b addiw sp,sp,-96
+ 8000014c: 00208123 sb sp,2(ra)
+ 80000150: 00209f03 lh t5,2(ra)
+ 80000154: fffffeb7 lui t4,0xfffff
+ 80000158: fa0e8e9b addiw t4,t4,-96
+ 8000015c: 00400193 li gp,4
+ 80000160: 39df1863 bne t5,t4,800004f0 <fail>
+
+0000000080000164 <test_5>:
+ 80000164: 00002097 auipc ra,0x2
+ 80000168: e9c08093 addi ra,ra,-356 # 80002000 <begin_signature>
+ 8000016c: 00a00113 li sp,10
+ 80000170: 002081a3 sb sp,3(ra)
+ 80000174: 00308f03 lb t5,3(ra)
+ 80000178: 00a00e93 li t4,10
+ 8000017c: 00500193 li gp,5
+ 80000180: 37df1863 bne t5,t4,800004f0 <fail>
+
+0000000080000184 <test_6>:
+ 80000184: 00002097 auipc ra,0x2
+ 80000188: e8308093 addi ra,ra,-381 # 80002007 <tdat8>
+ 8000018c: faa00113 li sp,-86
+ 80000190: fe208ea3 sb sp,-3(ra)
+ 80000194: ffd08f03 lb t5,-3(ra)
+ 80000198: faa00e93 li t4,-86
+ 8000019c: 00600193 li gp,6
+ 800001a0: 35df1863 bne t5,t4,800004f0 <fail>
+
+00000000800001a4 <test_7>:
+ 800001a4: 00002097 auipc ra,0x2
+ 800001a8: e6308093 addi ra,ra,-413 # 80002007 <tdat8>
+ 800001ac: 00000113 li sp,0
+ 800001b0: fe208f23 sb sp,-2(ra)
+ 800001b4: ffe08f03 lb t5,-2(ra)
+ 800001b8: 00000e93 li t4,0
+ 800001bc: 00700193 li gp,7
+ 800001c0: 33df1863 bne t5,t4,800004f0 <fail>
+
+00000000800001c4 <test_8>:
+ 800001c4: 00002097 auipc ra,0x2
+ 800001c8: e4308093 addi ra,ra,-445 # 80002007 <tdat8>
+ 800001cc: fa000113 li sp,-96
+ 800001d0: fe208fa3 sb sp,-1(ra)
+ 800001d4: fff08f03 lb t5,-1(ra)
+ 800001d8: fa000e93 li t4,-96
+ 800001dc: 00800193 li gp,8
+ 800001e0: 31df1863 bne t5,t4,800004f0 <fail>
+
+00000000800001e4 <test_9>:
+ 800001e4: 00002097 auipc ra,0x2
+ 800001e8: e2308093 addi ra,ra,-477 # 80002007 <tdat8>
+ 800001ec: 00a00113 li sp,10
+ 800001f0: 00208023 sb sp,0(ra)
+ 800001f4: 00008f03 lb t5,0(ra)
+ 800001f8: 00a00e93 li t4,10
+ 800001fc: 00900193 li gp,9
+ 80000200: 2fdf1863 bne t5,t4,800004f0 <fail>
+
+0000000080000204 <test_10>:
+ 80000204: 00002097 auipc ra,0x2
+ 80000208: e0408093 addi ra,ra,-508 # 80002008 <tdat9>
+ 8000020c: 12345137 lui sp,0x12345
+ 80000210: 6781011b addiw sp,sp,1656
+ 80000214: fe008213 addi tp,ra,-32
+ 80000218: 02220023 sb sp,32(tp) # 20 <_start-0x7fffffe0>
+ 8000021c: 00008283 lb t0,0(ra)
+ 80000220: 07800e93 li t4,120
+ 80000224: 00a00193 li gp,10
+ 80000228: 2dd29463 bne t0,t4,800004f0 <fail>
+
+000000008000022c <test_11>:
+ 8000022c: 00002097 auipc ra,0x2
+ 80000230: ddc08093 addi ra,ra,-548 # 80002008 <tdat9>
+ 80000234: 00003137 lui sp,0x3
+ 80000238: 0981011b addiw sp,sp,152
+ 8000023c: ffa08093 addi ra,ra,-6
+ 80000240: 002083a3 sb sp,7(ra)
+ 80000244: 00002217 auipc tp,0x2
+ 80000248: dc520213 addi tp,tp,-571 # 80002009 <tdat10>
+ 8000024c: 00020283 lb t0,0(tp) # 0 <_start-0x80000000>
+ 80000250: f9800e93 li t4,-104
+ 80000254: 00b00193 li gp,11
+ 80000258: 29d29c63 bne t0,t4,800004f0 <fail>
+
+000000008000025c <test_12>:
+ 8000025c: 00c00193 li gp,12
+ 80000260: 00000213 li tp,0
+ 80000264: fdd00093 li ra,-35
+ 80000268: 00002117 auipc sp,0x2
+ 8000026c: d9810113 addi sp,sp,-616 # 80002000 <begin_signature>
+ 80000270: 00110023 sb ra,0(sp)
+ 80000274: 00010f03 lb t5,0(sp)
+ 80000278: fdd00e93 li t4,-35
+ 8000027c: 27df1a63 bne t5,t4,800004f0 <fail>
+ 80000280: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000284: 00200293 li t0,2
+ 80000288: fc521ee3 bne tp,t0,80000264 <test_12+0x8>
+
+000000008000028c <test_13>:
+ 8000028c: 00d00193 li gp,13
+ 80000290: 00000213 li tp,0
+ 80000294: fcd00093 li ra,-51
+ 80000298: 00002117 auipc sp,0x2
+ 8000029c: d6810113 addi sp,sp,-664 # 80002000 <begin_signature>
+ 800002a0: 00000013 nop
+ 800002a4: 001100a3 sb ra,1(sp)
+ 800002a8: 00110f03 lb t5,1(sp)
+ 800002ac: fcd00e93 li t4,-51
+ 800002b0: 25df1063 bne t5,t4,800004f0 <fail>
+ 800002b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002b8: 00200293 li t0,2
+ 800002bc: fc521ce3 bne tp,t0,80000294 <test_13+0x8>
+
+00000000800002c0 <test_14>:
+ 800002c0: 00e00193 li gp,14
+ 800002c4: 00000213 li tp,0
+ 800002c8: fcc00093 li ra,-52
+ 800002cc: 00002117 auipc sp,0x2
+ 800002d0: d3410113 addi sp,sp,-716 # 80002000 <begin_signature>
+ 800002d4: 00000013 nop
+ 800002d8: 00000013 nop
+ 800002dc: 00110123 sb ra,2(sp)
+ 800002e0: 00210f03 lb t5,2(sp)
+ 800002e4: fcc00e93 li t4,-52
+ 800002e8: 21df1463 bne t5,t4,800004f0 <fail>
+ 800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002f0: 00200293 li t0,2
+ 800002f4: fc521ae3 bne tp,t0,800002c8 <test_14+0x8>
+
+00000000800002f8 <test_15>:
+ 800002f8: 00f00193 li gp,15
+ 800002fc: 00000213 li tp,0
+ 80000300: fbc00093 li ra,-68
+ 80000304: 00000013 nop
+ 80000308: 00002117 auipc sp,0x2
+ 8000030c: cf810113 addi sp,sp,-776 # 80002000 <begin_signature>
+ 80000310: 001101a3 sb ra,3(sp)
+ 80000314: 00310f03 lb t5,3(sp)
+ 80000318: fbc00e93 li t4,-68
+ 8000031c: 1ddf1a63 bne t5,t4,800004f0 <fail>
+ 80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000324: 00200293 li t0,2
+ 80000328: fc521ce3 bne tp,t0,80000300 <test_15+0x8>
+
+000000008000032c <test_16>:
+ 8000032c: 01000193 li gp,16
+ 80000330: 00000213 li tp,0
+ 80000334: fbb00093 li ra,-69
+ 80000338: 00000013 nop
+ 8000033c: 00002117 auipc sp,0x2
+ 80000340: cc410113 addi sp,sp,-828 # 80002000 <begin_signature>
+ 80000344: 00000013 nop
+ 80000348: 00110223 sb ra,4(sp)
+ 8000034c: 00410f03 lb t5,4(sp)
+ 80000350: fbb00e93 li t4,-69
+ 80000354: 19df1e63 bne t5,t4,800004f0 <fail>
+ 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000035c: 00200293 li t0,2
+ 80000360: fc521ae3 bne tp,t0,80000334 <test_16+0x8>
+
+0000000080000364 <test_17>:
+ 80000364: 01100193 li gp,17
+ 80000368: 00000213 li tp,0
+ 8000036c: fab00093 li ra,-85
+ 80000370: 00000013 nop
+ 80000374: 00000013 nop
+ 80000378: 00002117 auipc sp,0x2
+ 8000037c: c8810113 addi sp,sp,-888 # 80002000 <begin_signature>
+ 80000380: 001102a3 sb ra,5(sp)
+ 80000384: 00510f03 lb t5,5(sp)
+ 80000388: fab00e93 li t4,-85
+ 8000038c: 17df1263 bne t5,t4,800004f0 <fail>
+ 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000394: 00200293 li t0,2
+ 80000398: fc521ae3 bne tp,t0,8000036c <test_17+0x8>
+
+000000008000039c <test_18>:
+ 8000039c: 01200193 li gp,18
+ 800003a0: 00000213 li tp,0
+ 800003a4: 00002117 auipc sp,0x2
+ 800003a8: c5c10113 addi sp,sp,-932 # 80002000 <begin_signature>
+ 800003ac: 03300093 li ra,51
+ 800003b0: 00110023 sb ra,0(sp)
+ 800003b4: 00010f03 lb t5,0(sp)
+ 800003b8: 03300e93 li t4,51
+ 800003bc: 13df1a63 bne t5,t4,800004f0 <fail>
+ 800003c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003c4: 00200293 li t0,2
+ 800003c8: fc521ee3 bne tp,t0,800003a4 <test_18+0x8>
+
+00000000800003cc <test_19>:
+ 800003cc: 01300193 li gp,19
+ 800003d0: 00000213 li tp,0
+ 800003d4: 00002117 auipc sp,0x2
+ 800003d8: c2c10113 addi sp,sp,-980 # 80002000 <begin_signature>
+ 800003dc: 02300093 li ra,35
+ 800003e0: 00000013 nop
+ 800003e4: 001100a3 sb ra,1(sp)
+ 800003e8: 00110f03 lb t5,1(sp)
+ 800003ec: 02300e93 li t4,35
+ 800003f0: 11df1063 bne t5,t4,800004f0 <fail>
+ 800003f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003f8: 00200293 li t0,2
+ 800003fc: fc521ce3 bne tp,t0,800003d4 <test_19+0x8>
+
+0000000080000400 <test_20>:
+ 80000400: 01400193 li gp,20
+ 80000404: 00000213 li tp,0
+ 80000408: 00002117 auipc sp,0x2
+ 8000040c: bf810113 addi sp,sp,-1032 # 80002000 <begin_signature>
+ 80000410: 02200093 li ra,34
+ 80000414: 00000013 nop
+ 80000418: 00000013 nop
+ 8000041c: 00110123 sb ra,2(sp)
+ 80000420: 00210f03 lb t5,2(sp)
+ 80000424: 02200e93 li t4,34
+ 80000428: 0ddf1463 bne t5,t4,800004f0 <fail>
+ 8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000430: 00200293 li t0,2
+ 80000434: fc521ae3 bne tp,t0,80000408 <test_20+0x8>
+
+0000000080000438 <test_21>:
+ 80000438: 01500193 li gp,21
+ 8000043c: 00000213 li tp,0
+ 80000440: 00002117 auipc sp,0x2
+ 80000444: bc010113 addi sp,sp,-1088 # 80002000 <begin_signature>
+ 80000448: 00000013 nop
+ 8000044c: 01200093 li ra,18
+ 80000450: 001101a3 sb ra,3(sp)
+ 80000454: 00310f03 lb t5,3(sp)
+ 80000458: 01200e93 li t4,18
+ 8000045c: 09df1a63 bne t5,t4,800004f0 <fail>
+ 80000460: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000464: 00200293 li t0,2
+ 80000468: fc521ce3 bne tp,t0,80000440 <test_21+0x8>
+
+000000008000046c <test_22>:
+ 8000046c: 01600193 li gp,22
+ 80000470: 00000213 li tp,0
+ 80000474: 00002117 auipc sp,0x2
+ 80000478: b8c10113 addi sp,sp,-1140 # 80002000 <begin_signature>
+ 8000047c: 00000013 nop
+ 80000480: 01100093 li ra,17
+ 80000484: 00000013 nop
+ 80000488: 00110223 sb ra,4(sp)
+ 8000048c: 00410f03 lb t5,4(sp)
+ 80000490: 01100e93 li t4,17
+ 80000494: 05df1e63 bne t5,t4,800004f0 <fail>
+ 80000498: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000049c: 00200293 li t0,2
+ 800004a0: fc521ae3 bne tp,t0,80000474 <test_22+0x8>
+
+00000000800004a4 <test_23>:
+ 800004a4: 01700193 li gp,23
+ 800004a8: 00000213 li tp,0
+ 800004ac: 00002117 auipc sp,0x2
+ 800004b0: b5410113 addi sp,sp,-1196 # 80002000 <begin_signature>
+ 800004b4: 00000013 nop
+ 800004b8: 00000013 nop
+ 800004bc: 00100093 li ra,1
+ 800004c0: 001102a3 sb ra,5(sp)
+ 800004c4: 00510f03 lb t5,5(sp)
+ 800004c8: 00100e93 li t4,1
+ 800004cc: 03df1263 bne t5,t4,800004f0 <fail>
+ 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004d4: 00200293 li t0,2
+ 800004d8: fc521ae3 bne tp,t0,800004ac <test_23+0x8>
+ 800004dc: 0ef00513 li a0,239
+ 800004e0: 00002597 auipc a1,0x2
+ 800004e4: b2058593 addi a1,a1,-1248 # 80002000 <begin_signature>
+ 800004e8: 00a581a3 sb a0,3(a1)
+ 800004ec: 00301c63 bne zero,gp,80000504 <pass>
+
+00000000800004f0 <fail>:
+ 800004f0: 0ff0000f fence
+ 800004f4: 00018063 beqz gp,800004f4 <fail+0x4>
+ 800004f8: 00119193 slli gp,gp,0x1
+ 800004fc: 0011e193 ori gp,gp,1
+ 80000500: 00000073 ecall
+
+0000000080000504 <pass>:
+ 80000504: 0ff0000f fence
+ 80000508: 00100193 li gp,1
+ 8000050c: 00000073 ecall
+ 80000510: c0001073 unimp
+ 80000514: 0000 unimp
+ 80000516: 0000 unimp
+ 80000518: 0000 unimp
+ 8000051a: 0000 unimp
+ 8000051c: 0000 unimp
+ 8000051e: 0000 unimp
+ 80000520: 0000 unimp
+ 80000522: 0000 unimp
+ 80000524: 0000 unimp
+ 80000526: 0000 unimp
+ 80000528: 0000 unimp
+ 8000052a: 0000 unimp
+ 8000052c: 0000 unimp
+ 8000052e: 0000 unimp
+ 80000530: 0000 unimp
+ 80000532: 0000 unimp
+ 80000534: 0000 unimp
+ 80000536: 0000 unimp
+ 80000538: 0000 unimp
+ 8000053a: 0000 unimp
+ 8000053c: 0000 unimp
+ 8000053e: 0000 unimp
+ 80000540: 0000 unimp
+ 80000542: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: jal t6,800006fe <pass+0x1fa>
+
+0000000080002001 <tdat2>:
+ 80002001: jal t6,800006ff <pass+0x1fb>
+
+0000000080002002 <tdat3>:
+ 80002002: jal t6,80000700 <pass+0x1fc>
+
+0000000080002003 <tdat4>:
+ 80002003: jal t6,80000701 <pass+0x1fd>
+
+0000000080002004 <tdat5>:
+ 80002004: jal t6,80000702 <pass+0x1fe>
+
+0000000080002005 <tdat6>:
+ 80002005: jal t6,80000703 <pass+0x1ff>
+
+0000000080002006 <tdat7>:
+ 80002006: jal t6,80000704 <pass+0x200>
+
+0000000080002007 <tdat8>:
+ 80002007: jal t6,80100015 <_end+0xfe005>
+
+0000000080002008 <tdat9>:
+ 80002008: jal t6,80010008 <_end+0xdff8>
+
+0000000080002009 <tdat10>:
+ 80002009: 000000ef jal ra,80002009 <tdat10>
+ 8000200d: 0000 unimp
+ 8000200f: 00 Address 0x000000008000200f is out of bounds.
+
diff --git a/test/riscv/tests/rv64ui-p-sb.elf b/test/riscv/tests/rv64ui-p-sb.elf
new file mode 100755
index 00000000..85999d6b
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sb.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sd.dump b/test/riscv/tests/rv64ui-p-sd.dump
new file mode 100644
index 00000000..56249fa2
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sd.dump
@@ -0,0 +1,594 @@
+
+rv64ui-p-sd: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00002097 auipc ra,0x2
+ 80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature>
+ 80000104: 00550137 lui sp,0x550
+ 80000108: 0551011b addiw sp,sp,85
+ 8000010c: 01011113 slli sp,sp,0x10
+ 80000110: 05510113 addi sp,sp,85 # 550055 <_start-0x7faaffab>
+ 80000114: 01111113 slli sp,sp,0x11
+ 80000118: 0aa10113 addi sp,sp,170
+ 8000011c: 0020b023 sd sp,0(ra)
+ 80000120: 0000bf03 ld t5,0(ra)
+ 80000124: 00550eb7 lui t4,0x550
+ 80000128: 055e8e9b addiw t4,t4,85
+ 8000012c: 010e9e93 slli t4,t4,0x10
+ 80000130: 055e8e93 addi t4,t4,85 # 550055 <_start-0x7faaffab>
+ 80000134: 011e9e93 slli t4,t4,0x11
+ 80000138: 0aae8e93 addi t4,t4,170
+ 8000013c: 00200193 li gp,2
+ 80000140: 61df1063 bne t5,t4,80000740 <fail>
+
+0000000080000144 <test_3>:
+ 80000144: 00002097 auipc ra,0x2
+ 80000148: ebc08093 addi ra,ra,-324 # 80002000 <begin_signature>
+ 8000014c: ffd50137 lui sp,0xffd50
+ 80000150: 0551011b addiw sp,sp,85
+ 80000154: 01011113 slli sp,sp,0x10
+ 80000158: 05510113 addi sp,sp,85 # ffffffffffd50055 <_end+0xffffffff7fd4e005>
+ 8000015c: 00d11113 slli sp,sp,0xd
+ 80000160: 00b10113 addi sp,sp,11
+ 80000164: 00c11113 slli sp,sp,0xc
+ 80000168: a0010113 addi sp,sp,-1536
+ 8000016c: 0020b423 sd sp,8(ra)
+ 80000170: 0080bf03 ld t5,8(ra)
+ 80000174: ffd50eb7 lui t4,0xffd50
+ 80000178: 055e8e9b addiw t4,t4,85
+ 8000017c: 010e9e93 slli t4,t4,0x10
+ 80000180: 055e8e93 addi t4,t4,85 # ffffffffffd50055 <_end+0xffffffff7fd4e005>
+ 80000184: 00de9e93 slli t4,t4,0xd
+ 80000188: 00be8e93 addi t4,t4,11
+ 8000018c: 00ce9e93 slli t4,t4,0xc
+ 80000190: a00e8e93 addi t4,t4,-1536
+ 80000194: 00300193 li gp,3
+ 80000198: 5bdf1463 bne t5,t4,80000740 <fail>
+
+000000008000019c <test_4>:
+ 8000019c: 00002097 auipc ra,0x2
+ 800001a0: e6408093 addi ra,ra,-412 # 80002000 <begin_signature>
+ 800001a4: 00550137 lui sp,0x550
+ 800001a8: 0551011b addiw sp,sp,85
+ 800001ac: 00d11113 slli sp,sp,0xd
+ 800001b0: 00b10113 addi sp,sp,11 # 55000b <_start-0x7faafff5>
+ 800001b4: 00c11113 slli sp,sp,0xc
+ 800001b8: a0110113 addi sp,sp,-1535
+ 800001bc: 00c11113 slli sp,sp,0xc
+ 800001c0: aa010113 addi sp,sp,-1376
+ 800001c4: 0020b823 sd sp,16(ra)
+ 800001c8: 0100bf03 ld t5,16(ra)
+ 800001cc: 00550eb7 lui t4,0x550
+ 800001d0: 055e8e9b addiw t4,t4,85
+ 800001d4: 00de9e93 slli t4,t4,0xd
+ 800001d8: 00be8e93 addi t4,t4,11 # 55000b <_start-0x7faafff5>
+ 800001dc: 00ce9e93 slli t4,t4,0xc
+ 800001e0: a01e8e93 addi t4,t4,-1535
+ 800001e4: 00ce9e93 slli t4,t4,0xc
+ 800001e8: aa0e8e93 addi t4,t4,-1376
+ 800001ec: 00400193 li gp,4
+ 800001f0: 55df1863 bne t5,t4,80000740 <fail>
+
+00000000800001f4 <test_5>:
+ 800001f4: 00002097 auipc ra,0x2
+ 800001f8: e0c08093 addi ra,ra,-500 # 80002000 <begin_signature>
+ 800001fc: fffd0137 lui sp,0xfffd0
+ 80000200: 0551011b addiw sp,sp,85
+ 80000204: 01011113 slli sp,sp,0x10
+ 80000208: 05510113 addi sp,sp,85 # fffffffffffd0055 <_end+0xffffffff7ffce005>
+ 8000020c: 01011113 slli sp,sp,0x10
+ 80000210: 05510113 addi sp,sp,85
+ 80000214: 00d11113 slli sp,sp,0xd
+ 80000218: 00a10113 addi sp,sp,10
+ 8000021c: 0020bc23 sd sp,24(ra)
+ 80000220: 0180bf03 ld t5,24(ra)
+ 80000224: fffd0eb7 lui t4,0xfffd0
+ 80000228: 055e8e9b addiw t4,t4,85
+ 8000022c: 010e9e93 slli t4,t4,0x10
+ 80000230: 055e8e93 addi t4,t4,85 # fffffffffffd0055 <_end+0xffffffff7ffce005>
+ 80000234: 010e9e93 slli t4,t4,0x10
+ 80000238: 055e8e93 addi t4,t4,85
+ 8000023c: 00de9e93 slli t4,t4,0xd
+ 80000240: 00ae8e93 addi t4,t4,10
+ 80000244: 00500193 li gp,5
+ 80000248: 4fdf1c63 bne t5,t4,80000740 <fail>
+
+000000008000024c <test_6>:
+ 8000024c: 00002097 auipc ra,0x2
+ 80000250: dec08093 addi ra,ra,-532 # 80002038 <tdat8>
+ 80000254: 00550137 lui sp,0x550
+ 80000258: 0551011b addiw sp,sp,85
+ 8000025c: 01011113 slli sp,sp,0x10
+ 80000260: 05510113 addi sp,sp,85 # 550055 <_start-0x7faaffab>
+ 80000264: 01111113 slli sp,sp,0x11
+ 80000268: 0aa10113 addi sp,sp,170
+ 8000026c: fe20b423 sd sp,-24(ra)
+ 80000270: fe80bf03 ld t5,-24(ra)
+ 80000274: 00550eb7 lui t4,0x550
+ 80000278: 055e8e9b addiw t4,t4,85
+ 8000027c: 010e9e93 slli t4,t4,0x10
+ 80000280: 055e8e93 addi t4,t4,85 # 550055 <_start-0x7faaffab>
+ 80000284: 011e9e93 slli t4,t4,0x11
+ 80000288: 0aae8e93 addi t4,t4,170
+ 8000028c: 00600193 li gp,6
+ 80000290: 4bdf1863 bne t5,t4,80000740 <fail>
+
+0000000080000294 <test_7>:
+ 80000294: 00002097 auipc ra,0x2
+ 80000298: da408093 addi ra,ra,-604 # 80002038 <tdat8>
+ 8000029c: ffd50137 lui sp,0xffd50
+ 800002a0: 0551011b addiw sp,sp,85
+ 800002a4: 01011113 slli sp,sp,0x10
+ 800002a8: 05510113 addi sp,sp,85 # ffffffffffd50055 <_end+0xffffffff7fd4e005>
+ 800002ac: 00d11113 slli sp,sp,0xd
+ 800002b0: 00b10113 addi sp,sp,11
+ 800002b4: 00c11113 slli sp,sp,0xc
+ 800002b8: a0010113 addi sp,sp,-1536
+ 800002bc: fe20b823 sd sp,-16(ra)
+ 800002c0: ff00bf03 ld t5,-16(ra)
+ 800002c4: ffd50eb7 lui t4,0xffd50
+ 800002c8: 055e8e9b addiw t4,t4,85
+ 800002cc: 010e9e93 slli t4,t4,0x10
+ 800002d0: 055e8e93 addi t4,t4,85 # ffffffffffd50055 <_end+0xffffffff7fd4e005>
+ 800002d4: 00de9e93 slli t4,t4,0xd
+ 800002d8: 00be8e93 addi t4,t4,11
+ 800002dc: 00ce9e93 slli t4,t4,0xc
+ 800002e0: a00e8e93 addi t4,t4,-1536
+ 800002e4: 00700193 li gp,7
+ 800002e8: 45df1c63 bne t5,t4,80000740 <fail>
+
+00000000800002ec <test_8>:
+ 800002ec: 00002097 auipc ra,0x2
+ 800002f0: d4c08093 addi ra,ra,-692 # 80002038 <tdat8>
+ 800002f4: 00550137 lui sp,0x550
+ 800002f8: 0551011b addiw sp,sp,85
+ 800002fc: 00d11113 slli sp,sp,0xd
+ 80000300: 00b10113 addi sp,sp,11 # 55000b <_start-0x7faafff5>
+ 80000304: 00c11113 slli sp,sp,0xc
+ 80000308: a0110113 addi sp,sp,-1535
+ 8000030c: 00c11113 slli sp,sp,0xc
+ 80000310: aa010113 addi sp,sp,-1376
+ 80000314: fe20bc23 sd sp,-8(ra)
+ 80000318: ff80bf03 ld t5,-8(ra)
+ 8000031c: 00550eb7 lui t4,0x550
+ 80000320: 055e8e9b addiw t4,t4,85
+ 80000324: 00de9e93 slli t4,t4,0xd
+ 80000328: 00be8e93 addi t4,t4,11 # 55000b <_start-0x7faafff5>
+ 8000032c: 00ce9e93 slli t4,t4,0xc
+ 80000330: a01e8e93 addi t4,t4,-1535
+ 80000334: 00ce9e93 slli t4,t4,0xc
+ 80000338: aa0e8e93 addi t4,t4,-1376
+ 8000033c: 00800193 li gp,8
+ 80000340: 41df1063 bne t5,t4,80000740 <fail>
+
+0000000080000344 <test_9>:
+ 80000344: 00002097 auipc ra,0x2
+ 80000348: cf408093 addi ra,ra,-780 # 80002038 <tdat8>
+ 8000034c: fffd0137 lui sp,0xfffd0
+ 80000350: 0551011b addiw sp,sp,85
+ 80000354: 01011113 slli sp,sp,0x10
+ 80000358: 05510113 addi sp,sp,85 # fffffffffffd0055 <_end+0xffffffff7ffce005>
+ 8000035c: 01011113 slli sp,sp,0x10
+ 80000360: 05510113 addi sp,sp,85
+ 80000364: 00d11113 slli sp,sp,0xd
+ 80000368: 00a10113 addi sp,sp,10
+ 8000036c: 0020b023 sd sp,0(ra)
+ 80000370: 0000bf03 ld t5,0(ra)
+ 80000374: fffd0eb7 lui t4,0xfffd0
+ 80000378: 055e8e9b addiw t4,t4,85
+ 8000037c: 010e9e93 slli t4,t4,0x10
+ 80000380: 055e8e93 addi t4,t4,85 # fffffffffffd0055 <_end+0xffffffff7ffce005>
+ 80000384: 010e9e93 slli t4,t4,0x10
+ 80000388: 055e8e93 addi t4,t4,85
+ 8000038c: 00de9e93 slli t4,t4,0xd
+ 80000390: 00ae8e93 addi t4,t4,10
+ 80000394: 00900193 li gp,9
+ 80000398: 3bdf1463 bne t5,t4,80000740 <fail>
+
+000000008000039c <test_10>:
+ 8000039c: 00002097 auipc ra,0x2
+ 800003a0: ca408093 addi ra,ra,-860 # 80002040 <tdat9>
+ 800003a4: 00247137 lui sp,0x247
+ 800003a8: 8ad1011b addiw sp,sp,-1875
+ 800003ac: 00e11113 slli sp,sp,0xe
+ 800003b0: c0910113 addi sp,sp,-1015 # 246c09 <_start-0x7fdb93f7>
+ 800003b4: 00d11113 slli sp,sp,0xd
+ 800003b8: 34510113 addi sp,sp,837
+ 800003bc: 00c11113 slli sp,sp,0xc
+ 800003c0: 67810113 addi sp,sp,1656
+ 800003c4: fe008213 addi tp,ra,-32
+ 800003c8: 02223023 sd sp,32(tp) # 20 <_start-0x7fffffe0>
+ 800003cc: 0000b283 ld t0,0(ra)
+ 800003d0: 00247eb7 lui t4,0x247
+ 800003d4: 8ade8e9b addiw t4,t4,-1875
+ 800003d8: 00ee9e93 slli t4,t4,0xe
+ 800003dc: c09e8e93 addi t4,t4,-1015 # 246c09 <_start-0x7fdb93f7>
+ 800003e0: 00de9e93 slli t4,t4,0xd
+ 800003e4: 345e8e93 addi t4,t4,837
+ 800003e8: 00ce9e93 slli t4,t4,0xc
+ 800003ec: 678e8e93 addi t4,t4,1656
+ 800003f0: 00a00193 li gp,10
+ 800003f4: 35d29663 bne t0,t4,80000740 <fail>
+
+00000000800003f8 <test_11>:
+ 800003f8: 00002097 auipc ra,0x2
+ 800003fc: c4808093 addi ra,ra,-952 # 80002040 <tdat9>
+ 80000400: 00b04137 lui sp,0xb04
+ 80000404: 2611011b addiw sp,sp,609
+ 80000408: 00c11113 slli sp,sp,0xc
+ 8000040c: 30b10113 addi sp,sp,779 # b0430b <_start-0x7f4fbcf5>
+ 80000410: 00f11113 slli sp,sp,0xf
+ 80000414: 21310113 addi sp,sp,531
+ 80000418: 00c11113 slli sp,sp,0xc
+ 8000041c: 09810113 addi sp,sp,152
+ 80000420: ffd08093 addi ra,ra,-3
+ 80000424: 0020b5a3 sd sp,11(ra)
+ 80000428: 00002217 auipc tp,0x2
+ 8000042c: c2020213 addi tp,tp,-992 # 80002048 <tdat10>
+ 80000430: 00023283 ld t0,0(tp) # 0 <_start-0x80000000>
+ 80000434: 00b04eb7 lui t4,0xb04
+ 80000438: 261e8e9b addiw t4,t4,609
+ 8000043c: 00ce9e93 slli t4,t4,0xc
+ 80000440: 30be8e93 addi t4,t4,779 # b0430b <_start-0x7f4fbcf5>
+ 80000444: 00fe9e93 slli t4,t4,0xf
+ 80000448: 213e8e93 addi t4,t4,531
+ 8000044c: 00ce9e93 slli t4,t4,0xc
+ 80000450: 098e8e93 addi t4,t4,152
+ 80000454: 00b00193 li gp,11
+ 80000458: 2fd29463 bne t0,t4,80000740 <fail>
+
+000000008000045c <test_12>:
+ 8000045c: 00c00193 li gp,12
+ 80000460: 00000213 li tp,0
+ 80000464: 0abbd0b7 lui ra,0xabbd
+ 80000468: cdd0809b addiw ra,ra,-803
+ 8000046c: 00002117 auipc sp,0x2
+ 80000470: b9410113 addi sp,sp,-1132 # 80002000 <begin_signature>
+ 80000474: 00113023 sd ra,0(sp)
+ 80000478: 00013f03 ld t5,0(sp)
+ 8000047c: 0abbdeb7 lui t4,0xabbd
+ 80000480: cdde8e9b addiw t4,t4,-803
+ 80000484: 2bdf1e63 bne t5,t4,80000740 <fail>
+ 80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000048c: 00200293 li t0,2
+ 80000490: fc521ae3 bne tp,t0,80000464 <test_12+0x8>
+
+0000000080000494 <test_13>:
+ 80000494: 00d00193 li gp,13
+ 80000498: 00000213 li tp,0
+ 8000049c: 0aabc0b7 lui ra,0xaabc
+ 800004a0: ccd0809b addiw ra,ra,-819
+ 800004a4: 00002117 auipc sp,0x2
+ 800004a8: b5c10113 addi sp,sp,-1188 # 80002000 <begin_signature>
+ 800004ac: 00000013 nop
+ 800004b0: 00113423 sd ra,8(sp)
+ 800004b4: 00813f03 ld t5,8(sp)
+ 800004b8: 0aabceb7 lui t4,0xaabc
+ 800004bc: ccde8e9b addiw t4,t4,-819
+ 800004c0: 29df1063 bne t5,t4,80000740 <fail>
+ 800004c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004c8: 00200293 li t0,2
+ 800004cc: fc5218e3 bne tp,t0,8000049c <test_13+0x8>
+
+00000000800004d0 <test_14>:
+ 800004d0: 00e00193 li gp,14
+ 800004d4: 00000213 li tp,0
+ 800004d8: 0daac0b7 lui ra,0xdaac
+ 800004dc: bcc0809b addiw ra,ra,-1076
+ 800004e0: 00002117 auipc sp,0x2
+ 800004e4: b2010113 addi sp,sp,-1248 # 80002000 <begin_signature>
+ 800004e8: 00000013 nop
+ 800004ec: 00000013 nop
+ 800004f0: 00113823 sd ra,16(sp)
+ 800004f4: 01013f03 ld t5,16(sp)
+ 800004f8: 0daaceb7 lui t4,0xdaac
+ 800004fc: bcce8e9b addiw t4,t4,-1076
+ 80000500: 25df1063 bne t5,t4,80000740 <fail>
+ 80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000508: 00200293 li t0,2
+ 8000050c: fc5216e3 bne tp,t0,800004d8 <test_14+0x8>
+
+0000000080000510 <test_15>:
+ 80000510: 00f00193 li gp,15
+ 80000514: 00000213 li tp,0
+ 80000518: 0ddab0b7 lui ra,0xddab
+ 8000051c: bbc0809b addiw ra,ra,-1092
+ 80000520: 00000013 nop
+ 80000524: 00002117 auipc sp,0x2
+ 80000528: adc10113 addi sp,sp,-1316 # 80002000 <begin_signature>
+ 8000052c: 00113c23 sd ra,24(sp)
+ 80000530: 01813f03 ld t5,24(sp)
+ 80000534: 0ddabeb7 lui t4,0xddab
+ 80000538: bbce8e9b addiw t4,t4,-1092
+ 8000053c: 21df1263 bne t5,t4,80000740 <fail>
+ 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000544: 00200293 li t0,2
+ 80000548: fc5218e3 bne tp,t0,80000518 <test_15+0x8>
+
+000000008000054c <test_16>:
+ 8000054c: 01000193 li gp,16
+ 80000550: 00000213 li tp,0
+ 80000554: 0cddb0b7 lui ra,0xcddb
+ 80000558: abb0809b addiw ra,ra,-1349
+ 8000055c: 00000013 nop
+ 80000560: 00002117 auipc sp,0x2
+ 80000564: aa010113 addi sp,sp,-1376 # 80002000 <begin_signature>
+ 80000568: 00000013 nop
+ 8000056c: 02113023 sd ra,32(sp)
+ 80000570: 02013f03 ld t5,32(sp)
+ 80000574: 0cddbeb7 lui t4,0xcddb
+ 80000578: abbe8e9b addiw t4,t4,-1349
+ 8000057c: 1ddf1263 bne t5,t4,80000740 <fail>
+ 80000580: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000584: 00200293 li t0,2
+ 80000588: fc5216e3 bne tp,t0,80000554 <test_16+0x8>
+
+000000008000058c <test_17>:
+ 8000058c: 01100193 li gp,17
+ 80000590: 00000213 li tp,0
+ 80000594: 0ccde0b7 lui ra,0xccde
+ 80000598: aab0809b addiw ra,ra,-1365
+ 8000059c: 00000013 nop
+ 800005a0: 00000013 nop
+ 800005a4: 00002117 auipc sp,0x2
+ 800005a8: a5c10113 addi sp,sp,-1444 # 80002000 <begin_signature>
+ 800005ac: 02113423 sd ra,40(sp)
+ 800005b0: 02813f03 ld t5,40(sp)
+ 800005b4: 0ccdeeb7 lui t4,0xccde
+ 800005b8: aabe8e9b addiw t4,t4,-1365
+ 800005bc: 19df1263 bne t5,t4,80000740 <fail>
+ 800005c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005c4: 00200293 li t0,2
+ 800005c8: fc5216e3 bne tp,t0,80000594 <test_17+0x8>
+
+00000000800005cc <test_18>:
+ 800005cc: 01200193 li gp,18
+ 800005d0: 00000213 li tp,0
+ 800005d4: 00002117 auipc sp,0x2
+ 800005d8: a2c10113 addi sp,sp,-1492 # 80002000 <begin_signature>
+ 800005dc: 001120b7 lui ra,0x112
+ 800005e0: 2330809b addiw ra,ra,563
+ 800005e4: 00113023 sd ra,0(sp)
+ 800005e8: 00013f03 ld t5,0(sp)
+ 800005ec: 00112eb7 lui t4,0x112
+ 800005f0: 233e8e9b addiw t4,t4,563
+ 800005f4: 15df1663 bne t5,t4,80000740 <fail>
+ 800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005fc: 00200293 li t0,2
+ 80000600: fc521ae3 bne tp,t0,800005d4 <test_18+0x8>
+
+0000000080000604 <test_19>:
+ 80000604: 01300193 li gp,19
+ 80000608: 00000213 li tp,0
+ 8000060c: 00002117 auipc sp,0x2
+ 80000610: 9f410113 addi sp,sp,-1548 # 80002000 <begin_signature>
+ 80000614: 300110b7 lui ra,0x30011
+ 80000618: 2230809b addiw ra,ra,547
+ 8000061c: 00000013 nop
+ 80000620: 00113423 sd ra,8(sp)
+ 80000624: 00813f03 ld t5,8(sp)
+ 80000628: 30011eb7 lui t4,0x30011
+ 8000062c: 223e8e9b addiw t4,t4,547
+ 80000630: 11df1863 bne t5,t4,80000740 <fail>
+ 80000634: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000638: 00200293 li t0,2
+ 8000063c: fc5218e3 bne tp,t0,8000060c <test_19+0x8>
+
+0000000080000640 <test_20>:
+ 80000640: 01400193 li gp,20
+ 80000644: 00000213 li tp,0
+ 80000648: 00002117 auipc sp,0x2
+ 8000064c: 9b810113 addi sp,sp,-1608 # 80002000 <begin_signature>
+ 80000650: 330010b7 lui ra,0x33001
+ 80000654: 1220809b addiw ra,ra,290
+ 80000658: 00000013 nop
+ 8000065c: 00000013 nop
+ 80000660: 00113823 sd ra,16(sp)
+ 80000664: 01013f03 ld t5,16(sp)
+ 80000668: 33001eb7 lui t4,0x33001
+ 8000066c: 122e8e9b addiw t4,t4,290
+ 80000670: 0ddf1863 bne t5,t4,80000740 <fail>
+ 80000674: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000678: 00200293 li t0,2
+ 8000067c: fc5216e3 bne tp,t0,80000648 <test_20+0x8>
+
+0000000080000680 <test_21>:
+ 80000680: 01500193 li gp,21
+ 80000684: 00000213 li tp,0
+ 80000688: 00002117 auipc sp,0x2
+ 8000068c: 97810113 addi sp,sp,-1672 # 80002000 <begin_signature>
+ 80000690: 00000013 nop
+ 80000694: 233000b7 lui ra,0x23300
+ 80000698: 1120809b addiw ra,ra,274
+ 8000069c: 00113c23 sd ra,24(sp)
+ 800006a0: 01813f03 ld t5,24(sp)
+ 800006a4: 23300eb7 lui t4,0x23300
+ 800006a8: 112e8e9b addiw t4,t4,274
+ 800006ac: 09df1a63 bne t5,t4,80000740 <fail>
+ 800006b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800006b4: 00200293 li t0,2
+ 800006b8: fc5218e3 bne tp,t0,80000688 <test_21+0x8>
+
+00000000800006bc <test_22>:
+ 800006bc: 01600193 li gp,22
+ 800006c0: 00000213 li tp,0
+ 800006c4: 00002117 auipc sp,0x2
+ 800006c8: 93c10113 addi sp,sp,-1732 # 80002000 <begin_signature>
+ 800006cc: 00000013 nop
+ 800006d0: 223300b7 lui ra,0x22330
+ 800006d4: 0110809b addiw ra,ra,17
+ 800006d8: 00000013 nop
+ 800006dc: 02113023 sd ra,32(sp)
+ 800006e0: 02013f03 ld t5,32(sp)
+ 800006e4: 22330eb7 lui t4,0x22330
+ 800006e8: 011e8e9b addiw t4,t4,17
+ 800006ec: 05df1a63 bne t5,t4,80000740 <fail>
+ 800006f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800006f4: 00200293 li t0,2
+ 800006f8: fc5216e3 bne tp,t0,800006c4 <test_22+0x8>
+
+00000000800006fc <test_23>:
+ 800006fc: 01700193 li gp,23
+ 80000700: 00000213 li tp,0
+ 80000704: 00002117 auipc sp,0x2
+ 80000708: 8fc10113 addi sp,sp,-1796 # 80002000 <begin_signature>
+ 8000070c: 00000013 nop
+ 80000710: 00000013 nop
+ 80000714: 122330b7 lui ra,0x12233
+ 80000718: 0010809b addiw ra,ra,1
+ 8000071c: 02113423 sd ra,40(sp)
+ 80000720: 02813f03 ld t5,40(sp)
+ 80000724: 12233eb7 lui t4,0x12233
+ 80000728: 001e8e9b addiw t4,t4,1
+ 8000072c: 01df1a63 bne t5,t4,80000740 <fail>
+ 80000730: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000734: 00200293 li t0,2
+ 80000738: fc5216e3 bne tp,t0,80000704 <test_23+0x8>
+ 8000073c: 00301c63 bne zero,gp,80000754 <pass>
+
+0000000080000740 <fail>:
+ 80000740: 0ff0000f fence
+ 80000744: 00018063 beqz gp,80000744 <fail+0x4>
+ 80000748: 00119193 slli gp,gp,0x1
+ 8000074c: 0011e193 ori gp,gp,1
+ 80000750: 00000073 ecall
+
+0000000080000754 <pass>:
+ 80000754: 0ff0000f fence
+ 80000758: 00100193 li gp,1
+ 8000075c: 00000073 ecall
+ 80000760: c0001073 unimp
+ 80000764: 0000 unimp
+ 80000766: 0000 unimp
+ 80000768: 0000 unimp
+ 8000076a: 0000 unimp
+ 8000076c: 0000 unimp
+ 8000076e: 0000 unimp
+ 80000770: 0000 unimp
+ 80000772: 0000 unimp
+ 80000774: 0000 unimp
+ 80000776: 0000 unimp
+ 80000778: 0000 unimp
+ 8000077a: 0000 unimp
+ 8000077c: 0000 unimp
+ 8000077e: 0000 unimp
+ 80000780: 0000 unimp
+ 80000782: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: deadbeef jal t4,7ffdd5ea <_start-0x22a16>
+ 80002004: deadbeef jal t4,7ffdd5ee <_start-0x22a12>
+
+0000000080002008 <tdat2>:
+ 80002008: deadbeef jal t4,7ffdd5f2 <_start-0x22a0e>
+ 8000200c: deadbeef jal t4,7ffdd5f6 <_start-0x22a0a>
+
+0000000080002010 <tdat3>:
+ 80002010: deadbeef jal t4,7ffdd5fa <_start-0x22a06>
+ 80002014: deadbeef jal t4,7ffdd5fe <_start-0x22a02>
+
+0000000080002018 <tdat4>:
+ 80002018: deadbeef jal t4,7ffdd602 <_start-0x229fe>
+ 8000201c: deadbeef jal t4,7ffdd606 <_start-0x229fa>
+
+0000000080002020 <tdat5>:
+ 80002020: deadbeef jal t4,7ffdd60a <_start-0x229f6>
+ 80002024: deadbeef jal t4,7ffdd60e <_start-0x229f2>
+
+0000000080002028 <tdat6>:
+ 80002028: deadbeef jal t4,7ffdd612 <_start-0x229ee>
+ 8000202c: deadbeef jal t4,7ffdd616 <_start-0x229ea>
+
+0000000080002030 <tdat7>:
+ 80002030: deadbeef jal t4,7ffdd61a <_start-0x229e6>
+ 80002034: deadbeef jal t4,7ffdd61e <_start-0x229e2>
+
+0000000080002038 <tdat8>:
+ 80002038: deadbeef jal t4,7ffdd622 <_start-0x229de>
+ 8000203c: deadbeef jal t4,7ffdd626 <_start-0x229da>
+
+0000000080002040 <tdat9>:
+ 80002040: deadbeef jal t4,7ffdd62a <_start-0x229d6>
+ 80002044: deadbeef jal t4,7ffdd62e <_start-0x229d2>
+
+0000000080002048 <tdat10>:
+ 80002048: deadbeef jal t4,7ffdd632 <_start-0x229ce>
+ 8000204c: deadbeef jal t4,7ffdd636 <_start-0x229ca>
diff --git a/test/riscv/tests/rv64ui-p-sd.elf b/test/riscv/tests/rv64ui-p-sd.elf
new file mode 100755
index 00000000..f6801dcf
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sd.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sh.dump b/test/riscv/tests/rv64ui-p-sh.dump
new file mode 100644
index 00000000..dc11b449
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sh.dump
@@ -0,0 +1,480 @@
+
+rv64ui-p-sh: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00002097 auipc ra,0x2
+ 80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature>
+ 80000104: 0aa00113 li sp,170
+ 80000108: 00209023 sh sp,0(ra)
+ 8000010c: 00009f03 lh t5,0(ra)
+ 80000110: 0aa00e93 li t4,170
+ 80000114: 00200193 li gp,2
+ 80000118: 45df1e63 bne t5,t4,80000574 <fail>
+
+000000008000011c <test_3>:
+ 8000011c: 00002097 auipc ra,0x2
+ 80000120: ee408093 addi ra,ra,-284 # 80002000 <begin_signature>
+ 80000124: ffffb137 lui sp,0xffffb
+ 80000128: a001011b addiw sp,sp,-1536
+ 8000012c: 00209123 sh sp,2(ra)
+ 80000130: 00209f03 lh t5,2(ra)
+ 80000134: ffffbeb7 lui t4,0xffffb
+ 80000138: a00e8e9b addiw t4,t4,-1536
+ 8000013c: 00300193 li gp,3
+ 80000140: 43df1a63 bne t5,t4,80000574 <fail>
+
+0000000080000144 <test_4>:
+ 80000144: 00002097 auipc ra,0x2
+ 80000148: ebc08093 addi ra,ra,-324 # 80002000 <begin_signature>
+ 8000014c: beef1137 lui sp,0xbeef1
+ 80000150: aa01011b addiw sp,sp,-1376
+ 80000154: 00209223 sh sp,4(ra)
+ 80000158: 0040af03 lw t5,4(ra)
+ 8000015c: beef1eb7 lui t4,0xbeef1
+ 80000160: aa0e8e9b addiw t4,t4,-1376
+ 80000164: 00400193 li gp,4
+ 80000168: 41df1663 bne t5,t4,80000574 <fail>
+
+000000008000016c <test_5>:
+ 8000016c: 00002097 auipc ra,0x2
+ 80000170: e9408093 addi ra,ra,-364 # 80002000 <begin_signature>
+ 80000174: ffffa137 lui sp,0xffffa
+ 80000178: 00a1011b addiw sp,sp,10
+ 8000017c: 00209323 sh sp,6(ra)
+ 80000180: 00609f03 lh t5,6(ra)
+ 80000184: ffffaeb7 lui t4,0xffffa
+ 80000188: 00ae8e9b addiw t4,t4,10
+ 8000018c: 00500193 li gp,5
+ 80000190: 3fdf1263 bne t5,t4,80000574 <fail>
+
+0000000080000194 <test_6>:
+ 80000194: 00002097 auipc ra,0x2
+ 80000198: e7a08093 addi ra,ra,-390 # 8000200e <tdat8>
+ 8000019c: 0aa00113 li sp,170
+ 800001a0: fe209d23 sh sp,-6(ra)
+ 800001a4: ffa09f03 lh t5,-6(ra)
+ 800001a8: 0aa00e93 li t4,170
+ 800001ac: 00600193 li gp,6
+ 800001b0: 3ddf1263 bne t5,t4,80000574 <fail>
+
+00000000800001b4 <test_7>:
+ 800001b4: 00002097 auipc ra,0x2
+ 800001b8: e5a08093 addi ra,ra,-422 # 8000200e <tdat8>
+ 800001bc: ffffb137 lui sp,0xffffb
+ 800001c0: a001011b addiw sp,sp,-1536
+ 800001c4: fe209e23 sh sp,-4(ra)
+ 800001c8: ffc09f03 lh t5,-4(ra)
+ 800001cc: ffffbeb7 lui t4,0xffffb
+ 800001d0: a00e8e9b addiw t4,t4,-1536
+ 800001d4: 00700193 li gp,7
+ 800001d8: 39df1e63 bne t5,t4,80000574 <fail>
+
+00000000800001dc <test_8>:
+ 800001dc: 00002097 auipc ra,0x2
+ 800001e0: e3208093 addi ra,ra,-462 # 8000200e <tdat8>
+ 800001e4: 00001137 lui sp,0x1
+ 800001e8: aa01011b addiw sp,sp,-1376
+ 800001ec: fe209f23 sh sp,-2(ra)
+ 800001f0: ffe09f03 lh t5,-2(ra)
+ 800001f4: 00001eb7 lui t4,0x1
+ 800001f8: aa0e8e9b addiw t4,t4,-1376
+ 800001fc: 00800193 li gp,8
+ 80000200: 37df1a63 bne t5,t4,80000574 <fail>
+
+0000000080000204 <test_9>:
+ 80000204: 00002097 auipc ra,0x2
+ 80000208: e0a08093 addi ra,ra,-502 # 8000200e <tdat8>
+ 8000020c: ffffa137 lui sp,0xffffa
+ 80000210: 00a1011b addiw sp,sp,10
+ 80000214: 00209023 sh sp,0(ra)
+ 80000218: 00009f03 lh t5,0(ra)
+ 8000021c: ffffaeb7 lui t4,0xffffa
+ 80000220: 00ae8e9b addiw t4,t4,10
+ 80000224: 00900193 li gp,9
+ 80000228: 35df1663 bne t5,t4,80000574 <fail>
+
+000000008000022c <test_10>:
+ 8000022c: 00002097 auipc ra,0x2
+ 80000230: de408093 addi ra,ra,-540 # 80002010 <tdat9>
+ 80000234: 12345137 lui sp,0x12345
+ 80000238: 6781011b addiw sp,sp,1656
+ 8000023c: fe008213 addi tp,ra,-32
+ 80000240: 02221023 sh sp,32(tp) # 20 <_start-0x7fffffe0>
+ 80000244: 00009283 lh t0,0(ra)
+ 80000248: 00005eb7 lui t4,0x5
+ 8000024c: 678e8e9b addiw t4,t4,1656
+ 80000250: 00a00193 li gp,10
+ 80000254: 33d29063 bne t0,t4,80000574 <fail>
+
+0000000080000258 <test_11>:
+ 80000258: 00002097 auipc ra,0x2
+ 8000025c: db808093 addi ra,ra,-584 # 80002010 <tdat9>
+ 80000260: 00003137 lui sp,0x3
+ 80000264: 0981011b addiw sp,sp,152
+ 80000268: ffb08093 addi ra,ra,-5
+ 8000026c: 002093a3 sh sp,7(ra)
+ 80000270: 00002217 auipc tp,0x2
+ 80000274: da220213 addi tp,tp,-606 # 80002012 <tdat10>
+ 80000278: 00021283 lh t0,0(tp) # 0 <_start-0x80000000>
+ 8000027c: 00003eb7 lui t4,0x3
+ 80000280: 098e8e9b addiw t4,t4,152
+ 80000284: 00b00193 li gp,11
+ 80000288: 2fd29663 bne t0,t4,80000574 <fail>
+
+000000008000028c <test_12>:
+ 8000028c: 00c00193 li gp,12
+ 80000290: 00000213 li tp,0
+ 80000294: ffffd0b7 lui ra,0xffffd
+ 80000298: cdd0809b addiw ra,ra,-803
+ 8000029c: 00002117 auipc sp,0x2
+ 800002a0: d6410113 addi sp,sp,-668 # 80002000 <begin_signature>
+ 800002a4: 00111023 sh ra,0(sp)
+ 800002a8: 00011f03 lh t5,0(sp)
+ 800002ac: ffffdeb7 lui t4,0xffffd
+ 800002b0: cdde8e9b addiw t4,t4,-803
+ 800002b4: 2ddf1063 bne t5,t4,80000574 <fail>
+ 800002b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002bc: 00200293 li t0,2
+ 800002c0: fc521ae3 bne tp,t0,80000294 <test_12+0x8>
+
+00000000800002c4 <test_13>:
+ 800002c4: 00d00193 li gp,13
+ 800002c8: 00000213 li tp,0
+ 800002cc: ffffc0b7 lui ra,0xffffc
+ 800002d0: ccd0809b addiw ra,ra,-819
+ 800002d4: 00002117 auipc sp,0x2
+ 800002d8: d2c10113 addi sp,sp,-724 # 80002000 <begin_signature>
+ 800002dc: 00000013 nop
+ 800002e0: 00111123 sh ra,2(sp)
+ 800002e4: 00211f03 lh t5,2(sp)
+ 800002e8: ffffceb7 lui t4,0xffffc
+ 800002ec: ccde8e9b addiw t4,t4,-819
+ 800002f0: 29df1263 bne t5,t4,80000574 <fail>
+ 800002f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002f8: 00200293 li t0,2
+ 800002fc: fc5218e3 bne tp,t0,800002cc <test_13+0x8>
+
+0000000080000300 <test_14>:
+ 80000300: 00e00193 li gp,14
+ 80000304: 00000213 li tp,0
+ 80000308: ffffc0b7 lui ra,0xffffc
+ 8000030c: bcc0809b addiw ra,ra,-1076
+ 80000310: 00002117 auipc sp,0x2
+ 80000314: cf010113 addi sp,sp,-784 # 80002000 <begin_signature>
+ 80000318: 00000013 nop
+ 8000031c: 00000013 nop
+ 80000320: 00111223 sh ra,4(sp)
+ 80000324: 00411f03 lh t5,4(sp)
+ 80000328: ffffceb7 lui t4,0xffffc
+ 8000032c: bcce8e9b addiw t4,t4,-1076
+ 80000330: 25df1263 bne t5,t4,80000574 <fail>
+ 80000334: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000338: 00200293 li t0,2
+ 8000033c: fc5216e3 bne tp,t0,80000308 <test_14+0x8>
+
+0000000080000340 <test_15>:
+ 80000340: 00f00193 li gp,15
+ 80000344: 00000213 li tp,0
+ 80000348: ffffb0b7 lui ra,0xffffb
+ 8000034c: bbc0809b addiw ra,ra,-1092
+ 80000350: 00000013 nop
+ 80000354: 00002117 auipc sp,0x2
+ 80000358: cac10113 addi sp,sp,-852 # 80002000 <begin_signature>
+ 8000035c: 00111323 sh ra,6(sp)
+ 80000360: 00611f03 lh t5,6(sp)
+ 80000364: ffffbeb7 lui t4,0xffffb
+ 80000368: bbce8e9b addiw t4,t4,-1092
+ 8000036c: 21df1463 bne t5,t4,80000574 <fail>
+ 80000370: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000374: 00200293 li t0,2
+ 80000378: fc5218e3 bne tp,t0,80000348 <test_15+0x8>
+
+000000008000037c <test_16>:
+ 8000037c: 01000193 li gp,16
+ 80000380: 00000213 li tp,0
+ 80000384: ffffb0b7 lui ra,0xffffb
+ 80000388: abb0809b addiw ra,ra,-1349
+ 8000038c: 00000013 nop
+ 80000390: 00002117 auipc sp,0x2
+ 80000394: c7010113 addi sp,sp,-912 # 80002000 <begin_signature>
+ 80000398: 00000013 nop
+ 8000039c: 00111423 sh ra,8(sp)
+ 800003a0: 00811f03 lh t5,8(sp)
+ 800003a4: ffffbeb7 lui t4,0xffffb
+ 800003a8: abbe8e9b addiw t4,t4,-1349
+ 800003ac: 1ddf1463 bne t5,t4,80000574 <fail>
+ 800003b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003b4: 00200293 li t0,2
+ 800003b8: fc5216e3 bne tp,t0,80000384 <test_16+0x8>
+
+00000000800003bc <test_17>:
+ 800003bc: 01100193 li gp,17
+ 800003c0: 00000213 li tp,0
+ 800003c4: ffffe0b7 lui ra,0xffffe
+ 800003c8: aab0809b addiw ra,ra,-1365
+ 800003cc: 00000013 nop
+ 800003d0: 00000013 nop
+ 800003d4: 00002117 auipc sp,0x2
+ 800003d8: c2c10113 addi sp,sp,-980 # 80002000 <begin_signature>
+ 800003dc: 00111523 sh ra,10(sp)
+ 800003e0: 00a11f03 lh t5,10(sp)
+ 800003e4: ffffeeb7 lui t4,0xffffe
+ 800003e8: aabe8e9b addiw t4,t4,-1365
+ 800003ec: 19df1463 bne t5,t4,80000574 <fail>
+ 800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003f4: 00200293 li t0,2
+ 800003f8: fc5216e3 bne tp,t0,800003c4 <test_17+0x8>
+
+00000000800003fc <test_18>:
+ 800003fc: 01200193 li gp,18
+ 80000400: 00000213 li tp,0
+ 80000404: 00002117 auipc sp,0x2
+ 80000408: bfc10113 addi sp,sp,-1028 # 80002000 <begin_signature>
+ 8000040c: 000020b7 lui ra,0x2
+ 80000410: 2330809b addiw ra,ra,563
+ 80000414: 00111023 sh ra,0(sp)
+ 80000418: 00011f03 lh t5,0(sp)
+ 8000041c: 00002eb7 lui t4,0x2
+ 80000420: 233e8e9b addiw t4,t4,563
+ 80000424: 15df1863 bne t5,t4,80000574 <fail>
+ 80000428: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000042c: 00200293 li t0,2
+ 80000430: fc521ae3 bne tp,t0,80000404 <test_18+0x8>
+
+0000000080000434 <test_19>:
+ 80000434: 01300193 li gp,19
+ 80000438: 00000213 li tp,0
+ 8000043c: 00002117 auipc sp,0x2
+ 80000440: bc410113 addi sp,sp,-1084 # 80002000 <begin_signature>
+ 80000444: 000010b7 lui ra,0x1
+ 80000448: 2230809b addiw ra,ra,547
+ 8000044c: 00000013 nop
+ 80000450: 00111123 sh ra,2(sp)
+ 80000454: 00211f03 lh t5,2(sp)
+ 80000458: 00001eb7 lui t4,0x1
+ 8000045c: 223e8e9b addiw t4,t4,547
+ 80000460: 11df1a63 bne t5,t4,80000574 <fail>
+ 80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000468: 00200293 li t0,2
+ 8000046c: fc5218e3 bne tp,t0,8000043c <test_19+0x8>
+
+0000000080000470 <test_20>:
+ 80000470: 01400193 li gp,20
+ 80000474: 00000213 li tp,0
+ 80000478: 00002117 auipc sp,0x2
+ 8000047c: b8810113 addi sp,sp,-1144 # 80002000 <begin_signature>
+ 80000480: 000010b7 lui ra,0x1
+ 80000484: 1220809b addiw ra,ra,290
+ 80000488: 00000013 nop
+ 8000048c: 00000013 nop
+ 80000490: 00111223 sh ra,4(sp)
+ 80000494: 00411f03 lh t5,4(sp)
+ 80000498: 00001eb7 lui t4,0x1
+ 8000049c: 122e8e9b addiw t4,t4,290
+ 800004a0: 0ddf1a63 bne t5,t4,80000574 <fail>
+ 800004a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004a8: 00200293 li t0,2
+ 800004ac: fc5216e3 bne tp,t0,80000478 <test_20+0x8>
+
+00000000800004b0 <test_21>:
+ 800004b0: 01500193 li gp,21
+ 800004b4: 00000213 li tp,0
+ 800004b8: 00002117 auipc sp,0x2
+ 800004bc: b4810113 addi sp,sp,-1208 # 80002000 <begin_signature>
+ 800004c0: 00000013 nop
+ 800004c4: 11200093 li ra,274
+ 800004c8: 00111323 sh ra,6(sp)
+ 800004cc: 00611f03 lh t5,6(sp)
+ 800004d0: 11200e93 li t4,274
+ 800004d4: 0bdf1063 bne t5,t4,80000574 <fail>
+ 800004d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004dc: 00200293 li t0,2
+ 800004e0: fc521ce3 bne tp,t0,800004b8 <test_21+0x8>
+
+00000000800004e4 <test_22>:
+ 800004e4: 01600193 li gp,22
+ 800004e8: 00000213 li tp,0
+ 800004ec: 00002117 auipc sp,0x2
+ 800004f0: b1410113 addi sp,sp,-1260 # 80002000 <begin_signature>
+ 800004f4: 00000013 nop
+ 800004f8: 01100093 li ra,17
+ 800004fc: 00000013 nop
+ 80000500: 00111423 sh ra,8(sp)
+ 80000504: 00811f03 lh t5,8(sp)
+ 80000508: 01100e93 li t4,17
+ 8000050c: 07df1463 bne t5,t4,80000574 <fail>
+ 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000514: 00200293 li t0,2
+ 80000518: fc521ae3 bne tp,t0,800004ec <test_22+0x8>
+
+000000008000051c <test_23>:
+ 8000051c: 01700193 li gp,23
+ 80000520: 00000213 li tp,0
+ 80000524: 00002117 auipc sp,0x2
+ 80000528: adc10113 addi sp,sp,-1316 # 80002000 <begin_signature>
+ 8000052c: 00000013 nop
+ 80000530: 00000013 nop
+ 80000534: 000030b7 lui ra,0x3
+ 80000538: 0010809b addiw ra,ra,1
+ 8000053c: 00111523 sh ra,10(sp)
+ 80000540: 00a11f03 lh t5,10(sp)
+ 80000544: 00003eb7 lui t4,0x3
+ 80000548: 001e8e9b addiw t4,t4,1
+ 8000054c: 03df1463 bne t5,t4,80000574 <fail>
+ 80000550: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000554: 00200293 li t0,2
+ 80000558: fc5216e3 bne tp,t0,80000524 <test_23+0x8>
+ 8000055c: 0000c537 lui a0,0xc
+ 80000560: eef5051b addiw a0,a0,-273
+ 80000564: 00002597 auipc a1,0x2
+ 80000568: a9c58593 addi a1,a1,-1380 # 80002000 <begin_signature>
+ 8000056c: 00a59323 sh a0,6(a1)
+ 80000570: 00301c63 bne zero,gp,80000588 <pass>
+
+0000000080000574 <fail>:
+ 80000574: 0ff0000f fence
+ 80000578: 00018063 beqz gp,80000578 <fail+0x4>
+ 8000057c: 00119193 slli gp,gp,0x1
+ 80000580: 0011e193 ori gp,gp,1
+ 80000584: 00000073 ecall
+
+0000000080000588 <pass>:
+ 80000588: 0ff0000f fence
+ 8000058c: 00100193 li gp,1
+ 80000590: 00000073 ecall
+ 80000594: c0001073 unimp
+ 80000598: 0000 unimp
+ 8000059a: 0000 unimp
+ 8000059c: 0000 unimp
+ 8000059e: 0000 unimp
+ 800005a0: 0000 unimp
+ 800005a2: 0000 unimp
+ 800005a4: 0000 unimp
+ 800005a6: 0000 unimp
+ 800005a8: 0000 unimp
+ 800005aa: 0000 unimp
+ 800005ac: 0000 unimp
+ 800005ae: 0000 unimp
+ 800005b0: 0000 unimp
+ 800005b2: 0000 unimp
+ 800005b4: 0000 unimp
+ 800005b6: 0000 unimp
+ 800005b8: 0000 unimp
+ 800005ba: 0000 unimp
+ 800005bc: 0000 unimp
+ 800005be: 0000 unimp
+ 800005c0: 0000 unimp
+ 800005c2: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: jal t4,7fffd3ee <_start-0x2c12>
+
+0000000080002002 <tdat2>:
+ 80002002: jal t4,7fffd3f0 <_start-0x2c10>
+
+0000000080002004 <tdat3>:
+ 80002004: jal t4,7fffd3f2 <_start-0x2c0e>
+
+0000000080002006 <tdat4>:
+ 80002006: jal t4,7fffd3f4 <_start-0x2c0c>
+
+0000000080002008 <tdat5>:
+ 80002008: jal t4,7fffd3f6 <_start-0x2c0a>
+
+000000008000200a <tdat6>:
+ 8000200a: jal t4,7fffd3f8 <_start-0x2c08>
+
+000000008000200c <tdat7>:
+ 8000200c: jal t4,7fffd3fa <_start-0x2c06>
+
+000000008000200e <tdat8>:
+ 8000200e: jal t4,7fffd3fc <_start-0x2c04>
+
+0000000080002010 <tdat9>:
+ 80002010: jal t4,7fffd3fe <_start-0x2c02>
+
+0000000080002012 <tdat10>:
+ 80002012: 0000beef jal t4,8000d012 <_end+0xaff2>
+ 80002016: 0000 unimp
+ 80002018: 0000 unimp
+ 8000201a: 0000 unimp
+ 8000201c: 0000 unimp
+ 8000201e: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-sh.elf b/test/riscv/tests/rv64ui-p-sh.elf
new file mode 100755
index 00000000..118eeb3f
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sh.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-simple.dump b/test/riscv/tests/rv64ui-p-simple.dump
new file mode 100644
index 00000000..7a05fb7e
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-simple.dump
@@ -0,0 +1,110 @@
+
+rv64ui-p-simple: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <reset_vector+0xb0>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+ 800000fc: 0ff0000f fence
+ 80000100: 00100193 li gp,1
+ 80000104: 00000073 ecall
+ 80000108: c0001073 unimp
+ 8000010c: 0000 unimp
+ 8000010e: 0000 unimp
+ 80000110: 0000 unimp
+ 80000112: 0000 unimp
+ 80000114: 0000 unimp
+ 80000116: 0000 unimp
+ 80000118: 0000 unimp
+ 8000011a: 0000 unimp
+ 8000011c: 0000 unimp
+ 8000011e: 0000 unimp
+ 80000120: 0000 unimp
+ 80000122: 0000 unimp
+ 80000124: 0000 unimp
+ 80000126: 0000 unimp
+ 80000128: 0000 unimp
+ 8000012a: 0000 unimp
+ 8000012c: 0000 unimp
+ 8000012e: 0000 unimp
+ 80000130: 0000 unimp
+ 80000132: 0000 unimp
+ 80000134: 0000 unimp
+ 80000136: 0000 unimp
+ 80000138: 0000 unimp
+ 8000013a: 0000 unimp
+ 8000013c: 0000 unimp
+ 8000013e: 0000 unimp
+ 80000140: 0000 unimp
+ 80000142: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-simple.elf b/test/riscv/tests/rv64ui-p-simple.elf
new file mode 100755
index 00000000..541353b3
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-simple.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sll.dump b/test/riscv/tests/rv64ui-p-sll.dump
new file mode 100644
index 00000000..c2ac48ff
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sll.dump
@@ -0,0 +1,580 @@
+
+rv64ui-p-sll: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00100093 li ra,1
+ 80000100: 00000113 li sp,0
+ 80000104: 00209f33 sll t5,ra,sp
+ 80000108: 00100e93 li t4,1
+ 8000010c: 00200193 li gp,2
+ 80000110: 5fdf1c63 bne t5,t4,80000708 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 00209f33 sll t5,ra,sp
+ 80000120: 00200e93 li t4,2
+ 80000124: 00300193 li gp,3
+ 80000128: 5fdf1063 bne t5,t4,80000708 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00100093 li ra,1
+ 80000130: 00700113 li sp,7
+ 80000134: 00209f33 sll t5,ra,sp
+ 80000138: 08000e93 li t4,128
+ 8000013c: 00400193 li gp,4
+ 80000140: 5ddf1463 bne t5,t4,80000708 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00100093 li ra,1
+ 80000148: 00e00113 li sp,14
+ 8000014c: 00209f33 sll t5,ra,sp
+ 80000150: 00004eb7 lui t4,0x4
+ 80000154: 00500193 li gp,5
+ 80000158: 5bdf1863 bne t5,t4,80000708 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 00100093 li ra,1
+ 80000160: 01f00113 li sp,31
+ 80000164: 00209f33 sll t5,ra,sp
+ 80000168: 00100e9b addiw t4,zero,1
+ 8000016c: 01fe9e93 slli t4,t4,0x1f
+ 80000170: 00600193 li gp,6
+ 80000174: 59df1a63 bne t5,t4,80000708 <fail>
+
+0000000080000178 <test_7>:
+ 80000178: fff00093 li ra,-1
+ 8000017c: 00000113 li sp,0
+ 80000180: 00209f33 sll t5,ra,sp
+ 80000184: fff00e93 li t4,-1
+ 80000188: 00700193 li gp,7
+ 8000018c: 57df1e63 bne t5,t4,80000708 <fail>
+
+0000000080000190 <test_8>:
+ 80000190: fff00093 li ra,-1
+ 80000194: 00100113 li sp,1
+ 80000198: 00209f33 sll t5,ra,sp
+ 8000019c: ffe00e93 li t4,-2
+ 800001a0: 00800193 li gp,8
+ 800001a4: 57df1263 bne t5,t4,80000708 <fail>
+
+00000000800001a8 <test_9>:
+ 800001a8: fff00093 li ra,-1
+ 800001ac: 00700113 li sp,7
+ 800001b0: 00209f33 sll t5,ra,sp
+ 800001b4: f8000e93 li t4,-128
+ 800001b8: 00900193 li gp,9
+ 800001bc: 55df1663 bne t5,t4,80000708 <fail>
+
+00000000800001c0 <test_10>:
+ 800001c0: fff00093 li ra,-1
+ 800001c4: 00e00113 li sp,14
+ 800001c8: 00209f33 sll t5,ra,sp
+ 800001cc: ffffceb7 lui t4,0xffffc
+ 800001d0: 00a00193 li gp,10
+ 800001d4: 53df1a63 bne t5,t4,80000708 <fail>
+
+00000000800001d8 <test_11>:
+ 800001d8: fff00093 li ra,-1
+ 800001dc: 01f00113 li sp,31
+ 800001e0: 00209f33 sll t5,ra,sp
+ 800001e4: 80000eb7 lui t4,0x80000
+ 800001e8: 00b00193 li gp,11
+ 800001ec: 51df1e63 bne t5,t4,80000708 <fail>
+
+00000000800001f0 <test_12>:
+ 800001f0: 212120b7 lui ra,0x21212
+ 800001f4: 1210809b addiw ra,ra,289
+ 800001f8: 00000113 li sp,0
+ 800001fc: 00209f33 sll t5,ra,sp
+ 80000200: 21212eb7 lui t4,0x21212
+ 80000204: 121e8e9b addiw t4,t4,289
+ 80000208: 00c00193 li gp,12
+ 8000020c: 4fdf1e63 bne t5,t4,80000708 <fail>
+
+0000000080000210 <test_13>:
+ 80000210: 212120b7 lui ra,0x21212
+ 80000214: 1210809b addiw ra,ra,289
+ 80000218: 00100113 li sp,1
+ 8000021c: 00209f33 sll t5,ra,sp
+ 80000220: 42424eb7 lui t4,0x42424
+ 80000224: 242e8e9b addiw t4,t4,578
+ 80000228: 00d00193 li gp,13
+ 8000022c: 4ddf1e63 bne t5,t4,80000708 <fail>
+
+0000000080000230 <test_14>:
+ 80000230: 212120b7 lui ra,0x21212
+ 80000234: 1210809b addiw ra,ra,289
+ 80000238: 00700113 li sp,7
+ 8000023c: 00209f33 sll t5,ra,sp
+ 80000240: 01091eb7 lui t4,0x1091
+ 80000244: 909e8e9b addiw t4,t4,-1783
+ 80000248: 00ce9e93 slli t4,t4,0xc
+ 8000024c: 080e8e93 addi t4,t4,128 # 1091080 <_start-0x7ef6ef80>
+ 80000250: 00e00193 li gp,14
+ 80000254: 4bdf1a63 bne t5,t4,80000708 <fail>
+
+0000000080000258 <test_15>:
+ 80000258: 212120b7 lui ra,0x21212
+ 8000025c: 1210809b addiw ra,ra,289
+ 80000260: 00e00113 li sp,14
+ 80000264: 00209f33 sll t5,ra,sp
+ 80000268: 21212eb7 lui t4,0x21212
+ 8000026c: 121e8e9b addiw t4,t4,289
+ 80000270: 00ee9e93 slli t4,t4,0xe
+ 80000274: 00f00193 li gp,15
+ 80000278: 49df1863 bne t5,t4,80000708 <fail>
+
+000000008000027c <test_16>:
+ 8000027c: 212120b7 lui ra,0x21212
+ 80000280: 1210809b addiw ra,ra,289
+ 80000284: 01f00113 li sp,31
+ 80000288: 00209f33 sll t5,ra,sp
+ 8000028c: 21212eb7 lui t4,0x21212
+ 80000290: 121e8e9b addiw t4,t4,289
+ 80000294: 01fe9e93 slli t4,t4,0x1f
+ 80000298: 01000193 li gp,16
+ 8000029c: 47df1663 bne t5,t4,80000708 <fail>
+
+00000000800002a0 <test_17>:
+ 800002a0: 212120b7 lui ra,0x21212
+ 800002a4: 1210809b addiw ra,ra,289
+ 800002a8: fc000113 li sp,-64
+ 800002ac: 00209f33 sll t5,ra,sp
+ 800002b0: 21212eb7 lui t4,0x21212
+ 800002b4: 121e8e9b addiw t4,t4,289
+ 800002b8: 01100193 li gp,17
+ 800002bc: 45df1663 bne t5,t4,80000708 <fail>
+
+00000000800002c0 <test_18>:
+ 800002c0: 212120b7 lui ra,0x21212
+ 800002c4: 1210809b addiw ra,ra,289
+ 800002c8: fc100113 li sp,-63
+ 800002cc: 00209f33 sll t5,ra,sp
+ 800002d0: 42424eb7 lui t4,0x42424
+ 800002d4: 242e8e9b addiw t4,t4,578
+ 800002d8: 01200193 li gp,18
+ 800002dc: 43df1663 bne t5,t4,80000708 <fail>
+
+00000000800002e0 <test_19>:
+ 800002e0: 212120b7 lui ra,0x21212
+ 800002e4: 1210809b addiw ra,ra,289
+ 800002e8: fc700113 li sp,-57
+ 800002ec: 00209f33 sll t5,ra,sp
+ 800002f0: 01091eb7 lui t4,0x1091
+ 800002f4: 909e8e9b addiw t4,t4,-1783
+ 800002f8: 00ce9e93 slli t4,t4,0xc
+ 800002fc: 080e8e93 addi t4,t4,128 # 1091080 <_start-0x7ef6ef80>
+ 80000300: 01300193 li gp,19
+ 80000304: 41df1263 bne t5,t4,80000708 <fail>
+
+0000000080000308 <test_20>:
+ 80000308: 212120b7 lui ra,0x21212
+ 8000030c: 1210809b addiw ra,ra,289
+ 80000310: fce00113 li sp,-50
+ 80000314: 00209f33 sll t5,ra,sp
+ 80000318: 21212eb7 lui t4,0x21212
+ 8000031c: 121e8e9b addiw t4,t4,289
+ 80000320: 00ee9e93 slli t4,t4,0xe
+ 80000324: 01400193 li gp,20
+ 80000328: 3fdf1063 bne t5,t4,80000708 <fail>
+
+000000008000032c <test_21>:
+ 8000032c: 212120b7 lui ra,0x21212
+ 80000330: 1210809b addiw ra,ra,289
+ 80000334: fff00113 li sp,-1
+ 80000338: 00209f33 sll t5,ra,sp
+ 8000033c: fff00e9b addiw t4,zero,-1
+ 80000340: 03fe9e93 slli t4,t4,0x3f
+ 80000344: 01500193 li gp,21
+ 80000348: 3ddf1063 bne t5,t4,80000708 <fail>
+
+000000008000034c <test_50>:
+ 8000034c: 00100093 li ra,1
+ 80000350: 03f00113 li sp,63
+ 80000354: 00209f33 sll t5,ra,sp
+ 80000358: fff00e9b addiw t4,zero,-1
+ 8000035c: 03fe9e93 slli t4,t4,0x3f
+ 80000360: 03200193 li gp,50
+ 80000364: 3bdf1263 bne t5,t4,80000708 <fail>
+
+0000000080000368 <test_51>:
+ 80000368: fff00093 li ra,-1
+ 8000036c: 02700113 li sp,39
+ 80000370: 00209f33 sll t5,ra,sp
+ 80000374: fff00e9b addiw t4,zero,-1
+ 80000378: 027e9e93 slli t4,t4,0x27
+ 8000037c: 03300193 li gp,51
+ 80000380: 39df1463 bne t5,t4,80000708 <fail>
+
+0000000080000384 <test_52>:
+ 80000384: 212120b7 lui ra,0x21212
+ 80000388: 1210809b addiw ra,ra,289
+ 8000038c: 02b00113 li sp,43
+ 80000390: 00209f33 sll t5,ra,sp
+ 80000394: 00012eb7 lui t4,0x12
+ 80000398: 121e8e9b addiw t4,t4,289
+ 8000039c: 02be9e93 slli t4,t4,0x2b
+ 800003a0: 03400193 li gp,52
+ 800003a4: 37df1263 bne t5,t4,80000708 <fail>
+
+00000000800003a8 <test_22>:
+ 800003a8: 00100093 li ra,1
+ 800003ac: 00700113 li sp,7
+ 800003b0: 002090b3 sll ra,ra,sp
+ 800003b4: 08000e93 li t4,128
+ 800003b8: 01600193 li gp,22
+ 800003bc: 35d09663 bne ra,t4,80000708 <fail>
+
+00000000800003c0 <test_23>:
+ 800003c0: 00100093 li ra,1
+ 800003c4: 00e00113 li sp,14
+ 800003c8: 00209133 sll sp,ra,sp
+ 800003cc: 00004eb7 lui t4,0x4
+ 800003d0: 01700193 li gp,23
+ 800003d4: 33d11a63 bne sp,t4,80000708 <fail>
+
+00000000800003d8 <test_24>:
+ 800003d8: 00300093 li ra,3
+ 800003dc: 001090b3 sll ra,ra,ra
+ 800003e0: 01800e93 li t4,24
+ 800003e4: 01800193 li gp,24
+ 800003e8: 33d09063 bne ra,t4,80000708 <fail>
+
+00000000800003ec <test_25>:
+ 800003ec: 00000213 li tp,0
+ 800003f0: 00100093 li ra,1
+ 800003f4: 00700113 li sp,7
+ 800003f8: 00209f33 sll t5,ra,sp
+ 800003fc: 000f0313 mv t1,t5
+ 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000404: 00200293 li t0,2
+ 80000408: fe5214e3 bne tp,t0,800003f0 <test_25+0x4>
+ 8000040c: 08000e93 li t4,128
+ 80000410: 01900193 li gp,25
+ 80000414: 2fd31a63 bne t1,t4,80000708 <fail>
+
+0000000080000418 <test_26>:
+ 80000418: 00000213 li tp,0
+ 8000041c: 00100093 li ra,1
+ 80000420: 00e00113 li sp,14
+ 80000424: 00209f33 sll t5,ra,sp
+ 80000428: 00000013 nop
+ 8000042c: 000f0313 mv t1,t5
+ 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000434: 00200293 li t0,2
+ 80000438: fe5212e3 bne tp,t0,8000041c <test_26+0x4>
+ 8000043c: 00004eb7 lui t4,0x4
+ 80000440: 01a00193 li gp,26
+ 80000444: 2dd31263 bne t1,t4,80000708 <fail>
+
+0000000080000448 <test_27>:
+ 80000448: 00000213 li tp,0
+ 8000044c: 00100093 li ra,1
+ 80000450: 01f00113 li sp,31
+ 80000454: 00209f33 sll t5,ra,sp
+ 80000458: 00000013 nop
+ 8000045c: 00000013 nop
+ 80000460: 000f0313 mv t1,t5
+ 80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000468: 00200293 li t0,2
+ 8000046c: fe5210e3 bne tp,t0,8000044c <test_27+0x4>
+ 80000470: 00100e9b addiw t4,zero,1
+ 80000474: 01fe9e93 slli t4,t4,0x1f
+ 80000478: 01b00193 li gp,27
+ 8000047c: 29d31663 bne t1,t4,80000708 <fail>
+
+0000000080000480 <test_28>:
+ 80000480: 00000213 li tp,0
+ 80000484: 00100093 li ra,1
+ 80000488: 00700113 li sp,7
+ 8000048c: 00209f33 sll t5,ra,sp
+ 80000490: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000494: 00200293 li t0,2
+ 80000498: fe5216e3 bne tp,t0,80000484 <test_28+0x4>
+ 8000049c: 08000e93 li t4,128
+ 800004a0: 01c00193 li gp,28
+ 800004a4: 27df1263 bne t5,t4,80000708 <fail>
+
+00000000800004a8 <test_29>:
+ 800004a8: 00000213 li tp,0
+ 800004ac: 00100093 li ra,1
+ 800004b0: 00e00113 li sp,14
+ 800004b4: 00000013 nop
+ 800004b8: 00209f33 sll t5,ra,sp
+ 800004bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004c0: 00200293 li t0,2
+ 800004c4: fe5214e3 bne tp,t0,800004ac <test_29+0x4>
+ 800004c8: 00004eb7 lui t4,0x4
+ 800004cc: 01d00193 li gp,29
+ 800004d0: 23df1c63 bne t5,t4,80000708 <fail>
+
+00000000800004d4 <test_30>:
+ 800004d4: 00000213 li tp,0
+ 800004d8: 00100093 li ra,1
+ 800004dc: 01f00113 li sp,31
+ 800004e0: 00000013 nop
+ 800004e4: 00000013 nop
+ 800004e8: 00209f33 sll t5,ra,sp
+ 800004ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004f0: 00200293 li t0,2
+ 800004f4: fe5212e3 bne tp,t0,800004d8 <test_30+0x4>
+ 800004f8: 00100e9b addiw t4,zero,1
+ 800004fc: 01fe9e93 slli t4,t4,0x1f
+ 80000500: 01e00193 li gp,30
+ 80000504: 21df1263 bne t5,t4,80000708 <fail>
+
+0000000080000508 <test_31>:
+ 80000508: 00000213 li tp,0
+ 8000050c: 00100093 li ra,1
+ 80000510: 00000013 nop
+ 80000514: 00700113 li sp,7
+ 80000518: 00209f33 sll t5,ra,sp
+ 8000051c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000520: 00200293 li t0,2
+ 80000524: fe5214e3 bne tp,t0,8000050c <test_31+0x4>
+ 80000528: 08000e93 li t4,128
+ 8000052c: 01f00193 li gp,31
+ 80000530: 1ddf1c63 bne t5,t4,80000708 <fail>
+
+0000000080000534 <test_32>:
+ 80000534: 00000213 li tp,0
+ 80000538: 00100093 li ra,1
+ 8000053c: 00000013 nop
+ 80000540: 00e00113 li sp,14
+ 80000544: 00000013 nop
+ 80000548: 00209f33 sll t5,ra,sp
+ 8000054c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000550: 00200293 li t0,2
+ 80000554: fe5212e3 bne tp,t0,80000538 <test_32+0x4>
+ 80000558: 00004eb7 lui t4,0x4
+ 8000055c: 02000193 li gp,32
+ 80000560: 1bdf1463 bne t5,t4,80000708 <fail>
+
+0000000080000564 <test_33>:
+ 80000564: 00000213 li tp,0
+ 80000568: 00100093 li ra,1
+ 8000056c: 00000013 nop
+ 80000570: 00000013 nop
+ 80000574: 01f00113 li sp,31
+ 80000578: 00209f33 sll t5,ra,sp
+ 8000057c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000580: 00200293 li t0,2
+ 80000584: fe5212e3 bne tp,t0,80000568 <test_33+0x4>
+ 80000588: 00100e9b addiw t4,zero,1
+ 8000058c: 01fe9e93 slli t4,t4,0x1f
+ 80000590: 02100193 li gp,33
+ 80000594: 17df1a63 bne t5,t4,80000708 <fail>
+
+0000000080000598 <test_34>:
+ 80000598: 00000213 li tp,0
+ 8000059c: 00700113 li sp,7
+ 800005a0: 00100093 li ra,1
+ 800005a4: 00209f33 sll t5,ra,sp
+ 800005a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005ac: 00200293 li t0,2
+ 800005b0: fe5216e3 bne tp,t0,8000059c <test_34+0x4>
+ 800005b4: 08000e93 li t4,128
+ 800005b8: 02200193 li gp,34
+ 800005bc: 15df1663 bne t5,t4,80000708 <fail>
+
+00000000800005c0 <test_35>:
+ 800005c0: 00000213 li tp,0
+ 800005c4: 00e00113 li sp,14
+ 800005c8: 00100093 li ra,1
+ 800005cc: 00000013 nop
+ 800005d0: 00209f33 sll t5,ra,sp
+ 800005d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005d8: 00200293 li t0,2
+ 800005dc: fe5214e3 bne tp,t0,800005c4 <test_35+0x4>
+ 800005e0: 00004eb7 lui t4,0x4
+ 800005e4: 02300193 li gp,35
+ 800005e8: 13df1063 bne t5,t4,80000708 <fail>
+
+00000000800005ec <test_36>:
+ 800005ec: 00000213 li tp,0
+ 800005f0: 01f00113 li sp,31
+ 800005f4: 00100093 li ra,1
+ 800005f8: 00000013 nop
+ 800005fc: 00000013 nop
+ 80000600: 00209f33 sll t5,ra,sp
+ 80000604: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000608: 00200293 li t0,2
+ 8000060c: fe5212e3 bne tp,t0,800005f0 <test_36+0x4>
+ 80000610: 00100e9b addiw t4,zero,1
+ 80000614: 01fe9e93 slli t4,t4,0x1f
+ 80000618: 02400193 li gp,36
+ 8000061c: 0fdf1663 bne t5,t4,80000708 <fail>
+
+0000000080000620 <test_37>:
+ 80000620: 00000213 li tp,0
+ 80000624: 00700113 li sp,7
+ 80000628: 00000013 nop
+ 8000062c: 00100093 li ra,1
+ 80000630: 00209f33 sll t5,ra,sp
+ 80000634: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000638: 00200293 li t0,2
+ 8000063c: fe5214e3 bne tp,t0,80000624 <test_37+0x4>
+ 80000640: 08000e93 li t4,128
+ 80000644: 02500193 li gp,37
+ 80000648: 0ddf1063 bne t5,t4,80000708 <fail>
+
+000000008000064c <test_38>:
+ 8000064c: 00000213 li tp,0
+ 80000650: 00e00113 li sp,14
+ 80000654: 00000013 nop
+ 80000658: 00100093 li ra,1
+ 8000065c: 00000013 nop
+ 80000660: 00209f33 sll t5,ra,sp
+ 80000664: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000668: 00200293 li t0,2
+ 8000066c: fe5212e3 bne tp,t0,80000650 <test_38+0x4>
+ 80000670: 00004eb7 lui t4,0x4
+ 80000674: 02600193 li gp,38
+ 80000678: 09df1863 bne t5,t4,80000708 <fail>
+
+000000008000067c <test_39>:
+ 8000067c: 00000213 li tp,0
+ 80000680: 01f00113 li sp,31
+ 80000684: 00000013 nop
+ 80000688: 00000013 nop
+ 8000068c: 00100093 li ra,1
+ 80000690: 00209f33 sll t5,ra,sp
+ 80000694: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000698: 00200293 li t0,2
+ 8000069c: fe5212e3 bne tp,t0,80000680 <test_39+0x4>
+ 800006a0: 00100e9b addiw t4,zero,1
+ 800006a4: 01fe9e93 slli t4,t4,0x1f
+ 800006a8: 02700193 li gp,39
+ 800006ac: 05df1e63 bne t5,t4,80000708 <fail>
+
+00000000800006b0 <test_40>:
+ 800006b0: 00f00093 li ra,15
+ 800006b4: 00101133 sll sp,zero,ra
+ 800006b8: 00000e93 li t4,0
+ 800006bc: 02800193 li gp,40
+ 800006c0: 05d11463 bne sp,t4,80000708 <fail>
+
+00000000800006c4 <test_41>:
+ 800006c4: 02000093 li ra,32
+ 800006c8: 00009133 sll sp,ra,zero
+ 800006cc: 02000e93 li t4,32
+ 800006d0: 02900193 li gp,41
+ 800006d4: 03d11a63 bne sp,t4,80000708 <fail>
+
+00000000800006d8 <test_42>:
+ 800006d8: 000010b3 sll ra,zero,zero
+ 800006dc: 00000e93 li t4,0
+ 800006e0: 02a00193 li gp,42
+ 800006e4: 03d09263 bne ra,t4,80000708 <fail>
+
+00000000800006e8 <test_43>:
+ 800006e8: 40000093 li ra,1024
+ 800006ec: 00001137 lui sp,0x1
+ 800006f0: 8001011b addiw sp,sp,-2048
+ 800006f4: 00209033 sll zero,ra,sp
+ 800006f8: 00000e93 li t4,0
+ 800006fc: 02b00193 li gp,43
+ 80000700: 01d01463 bne zero,t4,80000708 <fail>
+ 80000704: 00301c63 bne zero,gp,8000071c <pass>
+
+0000000080000708 <fail>:
+ 80000708: 0ff0000f fence
+ 8000070c: 00018063 beqz gp,8000070c <fail+0x4>
+ 80000710: 00119193 slli gp,gp,0x1
+ 80000714: 0011e193 ori gp,gp,1
+ 80000718: 00000073 ecall
+
+000000008000071c <pass>:
+ 8000071c: 0ff0000f fence
+ 80000720: 00100193 li gp,1
+ 80000724: 00000073 ecall
+ 80000728: c0001073 unimp
+ 8000072c: 0000 unimp
+ 8000072e: 0000 unimp
+ 80000730: 0000 unimp
+ 80000732: 0000 unimp
+ 80000734: 0000 unimp
+ 80000736: 0000 unimp
+ 80000738: 0000 unimp
+ 8000073a: 0000 unimp
+ 8000073c: 0000 unimp
+ 8000073e: 0000 unimp
+ 80000740: 0000 unimp
+ 80000742: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-sll.elf b/test/riscv/tests/rv64ui-p-sll.elf
new file mode 100755
index 00000000..ad48a8ea
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sll.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-slli.dump b/test/riscv/tests/rv64ui-p-slli.dump
new file mode 100644
index 00000000..de783cf8
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-slli.dump
@@ -0,0 +1,354 @@
+
+rv64ui-p-slli: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00100093 li ra,1
+ 80000100: 00009f13 slli t5,ra,0x0
+ 80000104: 00100e93 li t4,1
+ 80000108: 00200193 li gp,2
+ 8000010c: 2fdf1a63 bne t5,t4,80000400 <fail>
+
+0000000080000110 <test_3>:
+ 80000110: 00100093 li ra,1
+ 80000114: 00109f13 slli t5,ra,0x1
+ 80000118: 00200e93 li t4,2
+ 8000011c: 00300193 li gp,3
+ 80000120: 2fdf1063 bne t5,t4,80000400 <fail>
+
+0000000080000124 <test_4>:
+ 80000124: 00100093 li ra,1
+ 80000128: 00709f13 slli t5,ra,0x7
+ 8000012c: 08000e93 li t4,128
+ 80000130: 00400193 li gp,4
+ 80000134: 2ddf1663 bne t5,t4,80000400 <fail>
+
+0000000080000138 <test_5>:
+ 80000138: 00100093 li ra,1
+ 8000013c: 00e09f13 slli t5,ra,0xe
+ 80000140: 00004eb7 lui t4,0x4
+ 80000144: 00500193 li gp,5
+ 80000148: 2bdf1c63 bne t5,t4,80000400 <fail>
+
+000000008000014c <test_6>:
+ 8000014c: 00100093 li ra,1
+ 80000150: 01f09f13 slli t5,ra,0x1f
+ 80000154: 00100e9b addiw t4,zero,1
+ 80000158: 01fe9e93 slli t4,t4,0x1f
+ 8000015c: 00600193 li gp,6
+ 80000160: 2bdf1063 bne t5,t4,80000400 <fail>
+
+0000000080000164 <test_7>:
+ 80000164: fff00093 li ra,-1
+ 80000168: 00009f13 slli t5,ra,0x0
+ 8000016c: fff00e93 li t4,-1
+ 80000170: 00700193 li gp,7
+ 80000174: 29df1663 bne t5,t4,80000400 <fail>
+
+0000000080000178 <test_8>:
+ 80000178: fff00093 li ra,-1
+ 8000017c: 00109f13 slli t5,ra,0x1
+ 80000180: ffe00e93 li t4,-2
+ 80000184: 00800193 li gp,8
+ 80000188: 27df1c63 bne t5,t4,80000400 <fail>
+
+000000008000018c <test_9>:
+ 8000018c: fff00093 li ra,-1
+ 80000190: 00709f13 slli t5,ra,0x7
+ 80000194: f8000e93 li t4,-128
+ 80000198: 00900193 li gp,9
+ 8000019c: 27df1263 bne t5,t4,80000400 <fail>
+
+00000000800001a0 <test_10>:
+ 800001a0: fff00093 li ra,-1
+ 800001a4: 00e09f13 slli t5,ra,0xe
+ 800001a8: ffffceb7 lui t4,0xffffc
+ 800001ac: 00a00193 li gp,10
+ 800001b0: 25df1863 bne t5,t4,80000400 <fail>
+
+00000000800001b4 <test_11>:
+ 800001b4: fff00093 li ra,-1
+ 800001b8: 01f09f13 slli t5,ra,0x1f
+ 800001bc: 80000eb7 lui t4,0x80000
+ 800001c0: 00b00193 li gp,11
+ 800001c4: 23df1e63 bne t5,t4,80000400 <fail>
+
+00000000800001c8 <test_12>:
+ 800001c8: 212120b7 lui ra,0x21212
+ 800001cc: 1210809b addiw ra,ra,289
+ 800001d0: 00009f13 slli t5,ra,0x0
+ 800001d4: 21212eb7 lui t4,0x21212
+ 800001d8: 121e8e9b addiw t4,t4,289
+ 800001dc: 00c00193 li gp,12
+ 800001e0: 23df1063 bne t5,t4,80000400 <fail>
+
+00000000800001e4 <test_13>:
+ 800001e4: 212120b7 lui ra,0x21212
+ 800001e8: 1210809b addiw ra,ra,289
+ 800001ec: 00109f13 slli t5,ra,0x1
+ 800001f0: 42424eb7 lui t4,0x42424
+ 800001f4: 242e8e9b addiw t4,t4,578
+ 800001f8: 00d00193 li gp,13
+ 800001fc: 21df1263 bne t5,t4,80000400 <fail>
+
+0000000080000200 <test_14>:
+ 80000200: 212120b7 lui ra,0x21212
+ 80000204: 1210809b addiw ra,ra,289
+ 80000208: 00709f13 slli t5,ra,0x7
+ 8000020c: 01091eb7 lui t4,0x1091
+ 80000210: 909e8e9b addiw t4,t4,-1783
+ 80000214: 00ce9e93 slli t4,t4,0xc
+ 80000218: 080e8e93 addi t4,t4,128 # 1091080 <_start-0x7ef6ef80>
+ 8000021c: 00e00193 li gp,14
+ 80000220: 1fdf1063 bne t5,t4,80000400 <fail>
+
+0000000080000224 <test_15>:
+ 80000224: 212120b7 lui ra,0x21212
+ 80000228: 1210809b addiw ra,ra,289
+ 8000022c: 00e09f13 slli t5,ra,0xe
+ 80000230: 21212eb7 lui t4,0x21212
+ 80000234: 121e8e9b addiw t4,t4,289
+ 80000238: 00ee9e93 slli t4,t4,0xe
+ 8000023c: 00f00193 li gp,15
+ 80000240: 1ddf1063 bne t5,t4,80000400 <fail>
+
+0000000080000244 <test_16>:
+ 80000244: 212120b7 lui ra,0x21212
+ 80000248: 1210809b addiw ra,ra,289
+ 8000024c: 01f09f13 slli t5,ra,0x1f
+ 80000250: 21212eb7 lui t4,0x21212
+ 80000254: 121e8e9b addiw t4,t4,289
+ 80000258: 01fe9e93 slli t4,t4,0x1f
+ 8000025c: 01000193 li gp,16
+ 80000260: 1bdf1063 bne t5,t4,80000400 <fail>
+
+0000000080000264 <test_50>:
+ 80000264: 00100093 li ra,1
+ 80000268: 03f00113 li sp,63
+ 8000026c: 00209f33 sll t5,ra,sp
+ 80000270: fff00e9b addiw t4,zero,-1
+ 80000274: 03fe9e93 slli t4,t4,0x3f
+ 80000278: 03200193 li gp,50
+ 8000027c: 19df1263 bne t5,t4,80000400 <fail>
+
+0000000080000280 <test_51>:
+ 80000280: fff00093 li ra,-1
+ 80000284: 02700113 li sp,39
+ 80000288: 00209f33 sll t5,ra,sp
+ 8000028c: fff00e9b addiw t4,zero,-1
+ 80000290: 027e9e93 slli t4,t4,0x27
+ 80000294: 03300193 li gp,51
+ 80000298: 17df1463 bne t5,t4,80000400 <fail>
+
+000000008000029c <test_52>:
+ 8000029c: 212120b7 lui ra,0x21212
+ 800002a0: 1210809b addiw ra,ra,289
+ 800002a4: 02b00113 li sp,43
+ 800002a8: 00209f33 sll t5,ra,sp
+ 800002ac: 00012eb7 lui t4,0x12
+ 800002b0: 121e8e9b addiw t4,t4,289
+ 800002b4: 02be9e93 slli t4,t4,0x2b
+ 800002b8: 03400193 li gp,52
+ 800002bc: 15df1263 bne t5,t4,80000400 <fail>
+
+00000000800002c0 <test_17>:
+ 800002c0: 00100093 li ra,1
+ 800002c4: 00709093 slli ra,ra,0x7
+ 800002c8: 08000e93 li t4,128
+ 800002cc: 01100193 li gp,17
+ 800002d0: 13d09863 bne ra,t4,80000400 <fail>
+
+00000000800002d4 <test_18>:
+ 800002d4: 00000213 li tp,0
+ 800002d8: 00100093 li ra,1
+ 800002dc: 00709f13 slli t5,ra,0x7
+ 800002e0: 000f0313 mv t1,t5
+ 800002e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002e8: 00200293 li t0,2
+ 800002ec: fe5216e3 bne tp,t0,800002d8 <test_18+0x4>
+ 800002f0: 08000e93 li t4,128
+ 800002f4: 01200193 li gp,18
+ 800002f8: 11d31463 bne t1,t4,80000400 <fail>
+
+00000000800002fc <test_19>:
+ 800002fc: 00000213 li tp,0
+ 80000300: 00100093 li ra,1
+ 80000304: 00e09f13 slli t5,ra,0xe
+ 80000308: 00000013 nop
+ 8000030c: 000f0313 mv t1,t5
+ 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000314: 00200293 li t0,2
+ 80000318: fe5214e3 bne tp,t0,80000300 <test_19+0x4>
+ 8000031c: 00004eb7 lui t4,0x4
+ 80000320: 01300193 li gp,19
+ 80000324: 0dd31e63 bne t1,t4,80000400 <fail>
+
+0000000080000328 <test_20>:
+ 80000328: 00000213 li tp,0
+ 8000032c: 00100093 li ra,1
+ 80000330: 01f09f13 slli t5,ra,0x1f
+ 80000334: 00000013 nop
+ 80000338: 00000013 nop
+ 8000033c: 000f0313 mv t1,t5
+ 80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000344: 00200293 li t0,2
+ 80000348: fe5212e3 bne tp,t0,8000032c <test_20+0x4>
+ 8000034c: 00100e9b addiw t4,zero,1
+ 80000350: 01fe9e93 slli t4,t4,0x1f
+ 80000354: 01400193 li gp,20
+ 80000358: 0bd31463 bne t1,t4,80000400 <fail>
+
+000000008000035c <test_21>:
+ 8000035c: 00000213 li tp,0
+ 80000360: 00100093 li ra,1
+ 80000364: 00709f13 slli t5,ra,0x7
+ 80000368: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000036c: 00200293 li t0,2
+ 80000370: fe5218e3 bne tp,t0,80000360 <test_21+0x4>
+ 80000374: 08000e93 li t4,128
+ 80000378: 01500193 li gp,21
+ 8000037c: 09df1263 bne t5,t4,80000400 <fail>
+
+0000000080000380 <test_22>:
+ 80000380: 00000213 li tp,0
+ 80000384: 00100093 li ra,1
+ 80000388: 00000013 nop
+ 8000038c: 00e09f13 slli t5,ra,0xe
+ 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000394: 00200293 li t0,2
+ 80000398: fe5216e3 bne tp,t0,80000384 <test_22+0x4>
+ 8000039c: 00004eb7 lui t4,0x4
+ 800003a0: 01600193 li gp,22
+ 800003a4: 05df1e63 bne t5,t4,80000400 <fail>
+
+00000000800003a8 <test_23>:
+ 800003a8: 00000213 li tp,0
+ 800003ac: 00100093 li ra,1
+ 800003b0: 00000013 nop
+ 800003b4: 00000013 nop
+ 800003b8: 01f09f13 slli t5,ra,0x1f
+ 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003c0: 00200293 li t0,2
+ 800003c4: fe5214e3 bne tp,t0,800003ac <test_23+0x4>
+ 800003c8: 00100e9b addiw t4,zero,1
+ 800003cc: 01fe9e93 slli t4,t4,0x1f
+ 800003d0: 01700193 li gp,23
+ 800003d4: 03df1663 bne t5,t4,80000400 <fail>
+
+00000000800003d8 <test_24>:
+ 800003d8: 01f01093 slli ra,zero,0x1f
+ 800003dc: 00000e93 li t4,0
+ 800003e0: 01800193 li gp,24
+ 800003e4: 01d09e63 bne ra,t4,80000400 <fail>
+
+00000000800003e8 <test_25>:
+ 800003e8: 02100093 li ra,33
+ 800003ec: 01409013 slli zero,ra,0x14
+ 800003f0: 00000e93 li t4,0
+ 800003f4: 01900193 li gp,25
+ 800003f8: 01d01463 bne zero,t4,80000400 <fail>
+ 800003fc: 00301c63 bne zero,gp,80000414 <pass>
+
+0000000080000400 <fail>:
+ 80000400: 0ff0000f fence
+ 80000404: 00018063 beqz gp,80000404 <fail+0x4>
+ 80000408: 00119193 slli gp,gp,0x1
+ 8000040c: 0011e193 ori gp,gp,1
+ 80000410: 00000073 ecall
+
+0000000080000414 <pass>:
+ 80000414: 0ff0000f fence
+ 80000418: 00100193 li gp,1
+ 8000041c: 00000073 ecall
+ 80000420: c0001073 unimp
+ 80000424: 0000 unimp
+ 80000426: 0000 unimp
+ 80000428: 0000 unimp
+ 8000042a: 0000 unimp
+ 8000042c: 0000 unimp
+ 8000042e: 0000 unimp
+ 80000430: 0000 unimp
+ 80000432: 0000 unimp
+ 80000434: 0000 unimp
+ 80000436: 0000 unimp
+ 80000438: 0000 unimp
+ 8000043a: 0000 unimp
+ 8000043c: 0000 unimp
+ 8000043e: 0000 unimp
+ 80000440: 0000 unimp
+ 80000442: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-slli.elf b/test/riscv/tests/rv64ui-p-slli.elf
new file mode 100755
index 00000000..12c898f3
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-slli.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-slliw.dump b/test/riscv/tests/rv64ui-p-slliw.dump
new file mode 100644
index 00000000..b821b9fc
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-slliw.dump
@@ -0,0 +1,316 @@
+
+rv64ui-p-slliw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00100093 li ra,1
+ 80000100: 00009f1b slliw t5,ra,0x0
+ 80000104: 00100e93 li t4,1
+ 80000108: 00200193 li gp,2
+ 8000010c: 27df1a63 bne t5,t4,80000380 <fail>
+
+0000000080000110 <test_3>:
+ 80000110: 00100093 li ra,1
+ 80000114: 00109f1b slliw t5,ra,0x1
+ 80000118: 00200e93 li t4,2
+ 8000011c: 00300193 li gp,3
+ 80000120: 27df1063 bne t5,t4,80000380 <fail>
+
+0000000080000124 <test_4>:
+ 80000124: 00100093 li ra,1
+ 80000128: 00709f1b slliw t5,ra,0x7
+ 8000012c: 08000e93 li t4,128
+ 80000130: 00400193 li gp,4
+ 80000134: 25df1663 bne t5,t4,80000380 <fail>
+
+0000000080000138 <test_5>:
+ 80000138: 00100093 li ra,1
+ 8000013c: 00e09f1b slliw t5,ra,0xe
+ 80000140: 00004eb7 lui t4,0x4
+ 80000144: 00500193 li gp,5
+ 80000148: 23df1c63 bne t5,t4,80000380 <fail>
+
+000000008000014c <test_6>:
+ 8000014c: 00100093 li ra,1
+ 80000150: 01f09f1b slliw t5,ra,0x1f
+ 80000154: 80000eb7 lui t4,0x80000
+ 80000158: 00600193 li gp,6
+ 8000015c: 23df1263 bne t5,t4,80000380 <fail>
+
+0000000080000160 <test_7>:
+ 80000160: fff00093 li ra,-1
+ 80000164: 00009f1b slliw t5,ra,0x0
+ 80000168: fff00e93 li t4,-1
+ 8000016c: 00700193 li gp,7
+ 80000170: 21df1863 bne t5,t4,80000380 <fail>
+
+0000000080000174 <test_8>:
+ 80000174: fff00093 li ra,-1
+ 80000178: 00109f1b slliw t5,ra,0x1
+ 8000017c: ffe00e93 li t4,-2
+ 80000180: 00800193 li gp,8
+ 80000184: 1fdf1e63 bne t5,t4,80000380 <fail>
+
+0000000080000188 <test_9>:
+ 80000188: fff00093 li ra,-1
+ 8000018c: 00709f1b slliw t5,ra,0x7
+ 80000190: f8000e93 li t4,-128
+ 80000194: 00900193 li gp,9
+ 80000198: 1fdf1463 bne t5,t4,80000380 <fail>
+
+000000008000019c <test_10>:
+ 8000019c: fff00093 li ra,-1
+ 800001a0: 00e09f1b slliw t5,ra,0xe
+ 800001a4: ffffceb7 lui t4,0xffffc
+ 800001a8: 00a00193 li gp,10
+ 800001ac: 1ddf1a63 bne t5,t4,80000380 <fail>
+
+00000000800001b0 <test_11>:
+ 800001b0: fff00093 li ra,-1
+ 800001b4: 01f09f1b slliw t5,ra,0x1f
+ 800001b8: 80000eb7 lui t4,0x80000
+ 800001bc: 00b00193 li gp,11
+ 800001c0: 1ddf1063 bne t5,t4,80000380 <fail>
+
+00000000800001c4 <test_12>:
+ 800001c4: 212120b7 lui ra,0x21212
+ 800001c8: 1210809b addiw ra,ra,289
+ 800001cc: 00009f1b slliw t5,ra,0x0
+ 800001d0: 21212eb7 lui t4,0x21212
+ 800001d4: 121e8e9b addiw t4,t4,289
+ 800001d8: 00c00193 li gp,12
+ 800001dc: 1bdf1263 bne t5,t4,80000380 <fail>
+
+00000000800001e0 <test_13>:
+ 800001e0: 212120b7 lui ra,0x21212
+ 800001e4: 1210809b addiw ra,ra,289
+ 800001e8: 00109f1b slliw t5,ra,0x1
+ 800001ec: 42424eb7 lui t4,0x42424
+ 800001f0: 242e8e9b addiw t4,t4,578
+ 800001f4: 00d00193 li gp,13
+ 800001f8: 19df1463 bne t5,t4,80000380 <fail>
+
+00000000800001fc <test_14>:
+ 800001fc: 212120b7 lui ra,0x21212
+ 80000200: 1210809b addiw ra,ra,289
+ 80000204: 00709f1b slliw t5,ra,0x7
+ 80000208: 90909eb7 lui t4,0x90909
+ 8000020c: 080e8e9b addiw t4,t4,128
+ 80000210: 00e00193 li gp,14
+ 80000214: 17df1663 bne t5,t4,80000380 <fail>
+
+0000000080000218 <test_15>:
+ 80000218: 212120b7 lui ra,0x21212
+ 8000021c: 1210809b addiw ra,ra,289
+ 80000220: 00e09f1b slliw t5,ra,0xe
+ 80000224: 48484eb7 lui t4,0x48484
+ 80000228: 00f00193 li gp,15
+ 8000022c: 15df1a63 bne t5,t4,80000380 <fail>
+
+0000000080000230 <test_16>:
+ 80000230: 212120b7 lui ra,0x21212
+ 80000234: 1210809b addiw ra,ra,289
+ 80000238: 01f09f1b slliw t5,ra,0x1f
+ 8000023c: 80000eb7 lui t4,0x80000
+ 80000240: 01000193 li gp,16
+ 80000244: 13df1e63 bne t5,t4,80000380 <fail>
+
+0000000080000248 <test_17>:
+ 80000248: 00100093 li ra,1
+ 8000024c: 0070909b slliw ra,ra,0x7
+ 80000250: 08000e93 li t4,128
+ 80000254: 01100193 li gp,17
+ 80000258: 13d09463 bne ra,t4,80000380 <fail>
+
+000000008000025c <test_18>:
+ 8000025c: 00000213 li tp,0
+ 80000260: 00100093 li ra,1
+ 80000264: 00709f1b slliw t5,ra,0x7
+ 80000268: 000f0313 mv t1,t5
+ 8000026c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000270: 00200293 li t0,2
+ 80000274: fe5216e3 bne tp,t0,80000260 <test_18+0x4>
+ 80000278: 08000e93 li t4,128
+ 8000027c: 01200193 li gp,18
+ 80000280: 11d31063 bne t1,t4,80000380 <fail>
+
+0000000080000284 <test_19>:
+ 80000284: 00000213 li tp,0
+ 80000288: 00100093 li ra,1
+ 8000028c: 00e09f1b slliw t5,ra,0xe
+ 80000290: 00000013 nop
+ 80000294: 000f0313 mv t1,t5
+ 80000298: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000029c: 00200293 li t0,2
+ 800002a0: fe5214e3 bne tp,t0,80000288 <test_19+0x4>
+ 800002a4: 00004eb7 lui t4,0x4
+ 800002a8: 01300193 li gp,19
+ 800002ac: 0dd31a63 bne t1,t4,80000380 <fail>
+
+00000000800002b0 <test_20>:
+ 800002b0: 00000213 li tp,0
+ 800002b4: 00100093 li ra,1
+ 800002b8: 01f09f1b slliw t5,ra,0x1f
+ 800002bc: 00000013 nop
+ 800002c0: 00000013 nop
+ 800002c4: 000f0313 mv t1,t5
+ 800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002cc: 00200293 li t0,2
+ 800002d0: fe5212e3 bne tp,t0,800002b4 <test_20+0x4>
+ 800002d4: 80000eb7 lui t4,0x80000
+ 800002d8: 01400193 li gp,20
+ 800002dc: 0bd31263 bne t1,t4,80000380 <fail>
+
+00000000800002e0 <test_21>:
+ 800002e0: 00000213 li tp,0
+ 800002e4: 00100093 li ra,1
+ 800002e8: 00709f1b slliw t5,ra,0x7
+ 800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002f0: 00200293 li t0,2
+ 800002f4: fe5218e3 bne tp,t0,800002e4 <test_21+0x4>
+ 800002f8: 08000e93 li t4,128
+ 800002fc: 01500193 li gp,21
+ 80000300: 09df1063 bne t5,t4,80000380 <fail>
+
+0000000080000304 <test_22>:
+ 80000304: 00000213 li tp,0
+ 80000308: 00100093 li ra,1
+ 8000030c: 00000013 nop
+ 80000310: 00e09f1b slliw t5,ra,0xe
+ 80000314: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000318: 00200293 li t0,2
+ 8000031c: fe5216e3 bne tp,t0,80000308 <test_22+0x4>
+ 80000320: 00004eb7 lui t4,0x4
+ 80000324: 01600193 li gp,22
+ 80000328: 05df1c63 bne t5,t4,80000380 <fail>
+
+000000008000032c <test_23>:
+ 8000032c: 00000213 li tp,0
+ 80000330: 00100093 li ra,1
+ 80000334: 00000013 nop
+ 80000338: 00000013 nop
+ 8000033c: 01f09f1b slliw t5,ra,0x1f
+ 80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000344: 00200293 li t0,2
+ 80000348: fe5214e3 bne tp,t0,80000330 <test_23+0x4>
+ 8000034c: 80000eb7 lui t4,0x80000
+ 80000350: 01700193 li gp,23
+ 80000354: 03df1663 bne t5,t4,80000380 <fail>
+
+0000000080000358 <test_24>:
+ 80000358: 01f0109b slliw ra,zero,0x1f
+ 8000035c: 00000e93 li t4,0
+ 80000360: 01800193 li gp,24
+ 80000364: 01d09e63 bne ra,t4,80000380 <fail>
+
+0000000080000368 <test_25>:
+ 80000368: 01f00093 li ra,31
+ 8000036c: 01c0901b slliw zero,ra,0x1c
+ 80000370: 00000e93 li t4,0
+ 80000374: 01900193 li gp,25
+ 80000378: 01d01463 bne zero,t4,80000380 <fail>
+ 8000037c: 00301c63 bne zero,gp,80000394 <pass>
+
+0000000080000380 <fail>:
+ 80000380: 0ff0000f fence
+ 80000384: 00018063 beqz gp,80000384 <fail+0x4>
+ 80000388: 00119193 slli gp,gp,0x1
+ 8000038c: 0011e193 ori gp,gp,1
+ 80000390: 00000073 ecall
+
+0000000080000394 <pass>:
+ 80000394: 0ff0000f fence
+ 80000398: 00100193 li gp,1
+ 8000039c: 00000073 ecall
+ 800003a0: c0001073 unimp
+ 800003a4: 0000 unimp
+ 800003a6: 0000 unimp
+ 800003a8: 0000 unimp
+ 800003aa: 0000 unimp
+ 800003ac: 0000 unimp
+ 800003ae: 0000 unimp
+ 800003b0: 0000 unimp
+ 800003b2: 0000 unimp
+ 800003b4: 0000 unimp
+ 800003b6: 0000 unimp
+ 800003b8: 0000 unimp
+ 800003ba: 0000 unimp
+ 800003bc: 0000 unimp
+ 800003be: 0000 unimp
+ 800003c0: 0000 unimp
+ 800003c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-slliw.elf b/test/riscv/tests/rv64ui-p-slliw.elf
new file mode 100755
index 00000000..b8046e69
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-slliw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sllw.dump b/test/riscv/tests/rv64ui-p-sllw.dump
new file mode 100644
index 00000000..45f030a1
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sllw.dump
@@ -0,0 +1,550 @@
+
+rv64ui-p-sllw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00100093 li ra,1
+ 80000100: 00000113 li sp,0
+ 80000104: 00209f3b sllw t5,ra,sp
+ 80000108: 00100e93 li t4,1
+ 8000010c: 00200193 li gp,2
+ 80000110: 55df1c63 bne t5,t4,80000668 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 00209f3b sllw t5,ra,sp
+ 80000120: 00200e93 li t4,2
+ 80000124: 00300193 li gp,3
+ 80000128: 55df1063 bne t5,t4,80000668 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00100093 li ra,1
+ 80000130: 00700113 li sp,7
+ 80000134: 00209f3b sllw t5,ra,sp
+ 80000138: 08000e93 li t4,128
+ 8000013c: 00400193 li gp,4
+ 80000140: 53df1463 bne t5,t4,80000668 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00100093 li ra,1
+ 80000148: 00e00113 li sp,14
+ 8000014c: 00209f3b sllw t5,ra,sp
+ 80000150: 00004eb7 lui t4,0x4
+ 80000154: 00500193 li gp,5
+ 80000158: 51df1863 bne t5,t4,80000668 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 00100093 li ra,1
+ 80000160: 01f00113 li sp,31
+ 80000164: 00209f3b sllw t5,ra,sp
+ 80000168: 80000eb7 lui t4,0x80000
+ 8000016c: 00600193 li gp,6
+ 80000170: 4fdf1c63 bne t5,t4,80000668 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: fff00093 li ra,-1
+ 80000178: 00000113 li sp,0
+ 8000017c: 00209f3b sllw t5,ra,sp
+ 80000180: fff00e93 li t4,-1
+ 80000184: 00700193 li gp,7
+ 80000188: 4fdf1063 bne t5,t4,80000668 <fail>
+
+000000008000018c <test_8>:
+ 8000018c: fff00093 li ra,-1
+ 80000190: 00100113 li sp,1
+ 80000194: 00209f3b sllw t5,ra,sp
+ 80000198: ffe00e93 li t4,-2
+ 8000019c: 00800193 li gp,8
+ 800001a0: 4ddf1463 bne t5,t4,80000668 <fail>
+
+00000000800001a4 <test_9>:
+ 800001a4: fff00093 li ra,-1
+ 800001a8: 00700113 li sp,7
+ 800001ac: 00209f3b sllw t5,ra,sp
+ 800001b0: f8000e93 li t4,-128
+ 800001b4: 00900193 li gp,9
+ 800001b8: 4bdf1863 bne t5,t4,80000668 <fail>
+
+00000000800001bc <test_10>:
+ 800001bc: fff00093 li ra,-1
+ 800001c0: 00e00113 li sp,14
+ 800001c4: 00209f3b sllw t5,ra,sp
+ 800001c8: ffffceb7 lui t4,0xffffc
+ 800001cc: 00a00193 li gp,10
+ 800001d0: 49df1c63 bne t5,t4,80000668 <fail>
+
+00000000800001d4 <test_11>:
+ 800001d4: fff00093 li ra,-1
+ 800001d8: 01f00113 li sp,31
+ 800001dc: 00209f3b sllw t5,ra,sp
+ 800001e0: 80000eb7 lui t4,0x80000
+ 800001e4: 00b00193 li gp,11
+ 800001e8: 49df1063 bne t5,t4,80000668 <fail>
+
+00000000800001ec <test_12>:
+ 800001ec: 212120b7 lui ra,0x21212
+ 800001f0: 1210809b addiw ra,ra,289
+ 800001f4: 00000113 li sp,0
+ 800001f8: 00209f3b sllw t5,ra,sp
+ 800001fc: 21212eb7 lui t4,0x21212
+ 80000200: 121e8e9b addiw t4,t4,289
+ 80000204: 00c00193 li gp,12
+ 80000208: 47df1063 bne t5,t4,80000668 <fail>
+
+000000008000020c <test_13>:
+ 8000020c: 212120b7 lui ra,0x21212
+ 80000210: 1210809b addiw ra,ra,289
+ 80000214: 00100113 li sp,1
+ 80000218: 00209f3b sllw t5,ra,sp
+ 8000021c: 42424eb7 lui t4,0x42424
+ 80000220: 242e8e9b addiw t4,t4,578
+ 80000224: 00d00193 li gp,13
+ 80000228: 45df1063 bne t5,t4,80000668 <fail>
+
+000000008000022c <test_14>:
+ 8000022c: 212120b7 lui ra,0x21212
+ 80000230: 1210809b addiw ra,ra,289
+ 80000234: 00700113 li sp,7
+ 80000238: 00209f3b sllw t5,ra,sp
+ 8000023c: 90909eb7 lui t4,0x90909
+ 80000240: 080e8e9b addiw t4,t4,128
+ 80000244: 00e00193 li gp,14
+ 80000248: 43df1063 bne t5,t4,80000668 <fail>
+
+000000008000024c <test_15>:
+ 8000024c: 212120b7 lui ra,0x21212
+ 80000250: 1210809b addiw ra,ra,289
+ 80000254: 00e00113 li sp,14
+ 80000258: 00209f3b sllw t5,ra,sp
+ 8000025c: 48484eb7 lui t4,0x48484
+ 80000260: 00f00193 li gp,15
+ 80000264: 41df1263 bne t5,t4,80000668 <fail>
+
+0000000080000268 <test_16>:
+ 80000268: 212120b7 lui ra,0x21212
+ 8000026c: 1210809b addiw ra,ra,289
+ 80000270: 01f00113 li sp,31
+ 80000274: 00209f3b sllw t5,ra,sp
+ 80000278: 80000eb7 lui t4,0x80000
+ 8000027c: 01000193 li gp,16
+ 80000280: 3fdf1463 bne t5,t4,80000668 <fail>
+
+0000000080000284 <test_17>:
+ 80000284: 212120b7 lui ra,0x21212
+ 80000288: 1210809b addiw ra,ra,289
+ 8000028c: fe000113 li sp,-32
+ 80000290: 00209f3b sllw t5,ra,sp
+ 80000294: 21212eb7 lui t4,0x21212
+ 80000298: 121e8e9b addiw t4,t4,289
+ 8000029c: 01100193 li gp,17
+ 800002a0: 3ddf1463 bne t5,t4,80000668 <fail>
+
+00000000800002a4 <test_18>:
+ 800002a4: 212120b7 lui ra,0x21212
+ 800002a8: 1210809b addiw ra,ra,289
+ 800002ac: fe100113 li sp,-31
+ 800002b0: 00209f3b sllw t5,ra,sp
+ 800002b4: 42424eb7 lui t4,0x42424
+ 800002b8: 242e8e9b addiw t4,t4,578
+ 800002bc: 01200193 li gp,18
+ 800002c0: 3bdf1463 bne t5,t4,80000668 <fail>
+
+00000000800002c4 <test_19>:
+ 800002c4: 212120b7 lui ra,0x21212
+ 800002c8: 1210809b addiw ra,ra,289
+ 800002cc: fe700113 li sp,-25
+ 800002d0: 00209f3b sllw t5,ra,sp
+ 800002d4: 90909eb7 lui t4,0x90909
+ 800002d8: 080e8e9b addiw t4,t4,128
+ 800002dc: 01300193 li gp,19
+ 800002e0: 39df1463 bne t5,t4,80000668 <fail>
+
+00000000800002e4 <test_20>:
+ 800002e4: 212120b7 lui ra,0x21212
+ 800002e8: 1210809b addiw ra,ra,289
+ 800002ec: fee00113 li sp,-18
+ 800002f0: 00209f3b sllw t5,ra,sp
+ 800002f4: 48484eb7 lui t4,0x48484
+ 800002f8: 01400193 li gp,20
+ 800002fc: 37df1663 bne t5,t4,80000668 <fail>
+
+0000000080000300 <test_21>:
+ 80000300: 212120b7 lui ra,0x21212
+ 80000304: 1210809b addiw ra,ra,289
+ 80000308: fff00113 li sp,-1
+ 8000030c: 00209f3b sllw t5,ra,sp
+ 80000310: 80000eb7 lui t4,0x80000
+ 80000314: 01500193 li gp,21
+ 80000318: 35df1863 bne t5,t4,80000668 <fail>
+
+000000008000031c <test_22>:
+ 8000031c: 00100093 li ra,1
+ 80000320: 00700113 li sp,7
+ 80000324: 002090bb sllw ra,ra,sp
+ 80000328: 08000e93 li t4,128
+ 8000032c: 01600193 li gp,22
+ 80000330: 33d09c63 bne ra,t4,80000668 <fail>
+
+0000000080000334 <test_23>:
+ 80000334: 00100093 li ra,1
+ 80000338: 00e00113 li sp,14
+ 8000033c: 0020913b sllw sp,ra,sp
+ 80000340: 00004eb7 lui t4,0x4
+ 80000344: 01700193 li gp,23
+ 80000348: 33d11063 bne sp,t4,80000668 <fail>
+
+000000008000034c <test_24>:
+ 8000034c: 00300093 li ra,3
+ 80000350: 001090bb sllw ra,ra,ra
+ 80000354: 01800e93 li t4,24
+ 80000358: 01800193 li gp,24
+ 8000035c: 31d09663 bne ra,t4,80000668 <fail>
+
+0000000080000360 <test_25>:
+ 80000360: 00000213 li tp,0
+ 80000364: 00100093 li ra,1
+ 80000368: 00700113 li sp,7
+ 8000036c: 00209f3b sllw t5,ra,sp
+ 80000370: 000f0313 mv t1,t5
+ 80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000378: 00200293 li t0,2
+ 8000037c: fe5214e3 bne tp,t0,80000364 <test_25+0x4>
+ 80000380: 08000e93 li t4,128
+ 80000384: 01900193 li gp,25
+ 80000388: 2fd31063 bne t1,t4,80000668 <fail>
+
+000000008000038c <test_26>:
+ 8000038c: 00000213 li tp,0
+ 80000390: 00100093 li ra,1
+ 80000394: 00e00113 li sp,14
+ 80000398: 00209f3b sllw t5,ra,sp
+ 8000039c: 00000013 nop
+ 800003a0: 000f0313 mv t1,t5
+ 800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003a8: 00200293 li t0,2
+ 800003ac: fe5212e3 bne tp,t0,80000390 <test_26+0x4>
+ 800003b0: 00004eb7 lui t4,0x4
+ 800003b4: 01a00193 li gp,26
+ 800003b8: 2bd31863 bne t1,t4,80000668 <fail>
+
+00000000800003bc <test_27>:
+ 800003bc: 00000213 li tp,0
+ 800003c0: 00100093 li ra,1
+ 800003c4: 01f00113 li sp,31
+ 800003c8: 00209f3b sllw t5,ra,sp
+ 800003cc: 00000013 nop
+ 800003d0: 00000013 nop
+ 800003d4: 000f0313 mv t1,t5
+ 800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003dc: 00200293 li t0,2
+ 800003e0: fe5210e3 bne tp,t0,800003c0 <test_27+0x4>
+ 800003e4: 80000eb7 lui t4,0x80000
+ 800003e8: 01b00193 li gp,27
+ 800003ec: 27d31e63 bne t1,t4,80000668 <fail>
+
+00000000800003f0 <test_28>:
+ 800003f0: 00000213 li tp,0
+ 800003f4: 00100093 li ra,1
+ 800003f8: 00700113 li sp,7
+ 800003fc: 00209f3b sllw t5,ra,sp
+ 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000404: 00200293 li t0,2
+ 80000408: fe5216e3 bne tp,t0,800003f4 <test_28+0x4>
+ 8000040c: 08000e93 li t4,128
+ 80000410: 01c00193 li gp,28
+ 80000414: 25df1a63 bne t5,t4,80000668 <fail>
+
+0000000080000418 <test_29>:
+ 80000418: 00000213 li tp,0
+ 8000041c: 00100093 li ra,1
+ 80000420: 00e00113 li sp,14
+ 80000424: 00000013 nop
+ 80000428: 00209f3b sllw t5,ra,sp
+ 8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000430: 00200293 li t0,2
+ 80000434: fe5214e3 bne tp,t0,8000041c <test_29+0x4>
+ 80000438: 00004eb7 lui t4,0x4
+ 8000043c: 01d00193 li gp,29
+ 80000440: 23df1463 bne t5,t4,80000668 <fail>
+
+0000000080000444 <test_30>:
+ 80000444: 00000213 li tp,0
+ 80000448: 00100093 li ra,1
+ 8000044c: 01f00113 li sp,31
+ 80000450: 00000013 nop
+ 80000454: 00000013 nop
+ 80000458: 00209f3b sllw t5,ra,sp
+ 8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000460: 00200293 li t0,2
+ 80000464: fe5212e3 bne tp,t0,80000448 <test_30+0x4>
+ 80000468: 80000eb7 lui t4,0x80000
+ 8000046c: 01e00193 li gp,30
+ 80000470: 1fdf1c63 bne t5,t4,80000668 <fail>
+
+0000000080000474 <test_31>:
+ 80000474: 00000213 li tp,0
+ 80000478: 00100093 li ra,1
+ 8000047c: 00000013 nop
+ 80000480: 00700113 li sp,7
+ 80000484: 00209f3b sllw t5,ra,sp
+ 80000488: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000048c: 00200293 li t0,2
+ 80000490: fe5214e3 bne tp,t0,80000478 <test_31+0x4>
+ 80000494: 08000e93 li t4,128
+ 80000498: 01f00193 li gp,31
+ 8000049c: 1ddf1663 bne t5,t4,80000668 <fail>
+
+00000000800004a0 <test_32>:
+ 800004a0: 00000213 li tp,0
+ 800004a4: 00100093 li ra,1
+ 800004a8: 00000013 nop
+ 800004ac: 00e00113 li sp,14
+ 800004b0: 00000013 nop
+ 800004b4: 00209f3b sllw t5,ra,sp
+ 800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004bc: 00200293 li t0,2
+ 800004c0: fe5212e3 bne tp,t0,800004a4 <test_32+0x4>
+ 800004c4: 00004eb7 lui t4,0x4
+ 800004c8: 02000193 li gp,32
+ 800004cc: 19df1e63 bne t5,t4,80000668 <fail>
+
+00000000800004d0 <test_33>:
+ 800004d0: 00000213 li tp,0
+ 800004d4: 00100093 li ra,1
+ 800004d8: 00000013 nop
+ 800004dc: 00000013 nop
+ 800004e0: 01f00113 li sp,31
+ 800004e4: 00209f3b sllw t5,ra,sp
+ 800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004ec: 00200293 li t0,2
+ 800004f0: fe5212e3 bne tp,t0,800004d4 <test_33+0x4>
+ 800004f4: 80000eb7 lui t4,0x80000
+ 800004f8: 02100193 li gp,33
+ 800004fc: 17df1663 bne t5,t4,80000668 <fail>
+
+0000000080000500 <test_34>:
+ 80000500: 00000213 li tp,0
+ 80000504: 00700113 li sp,7
+ 80000508: 00100093 li ra,1
+ 8000050c: 00209f3b sllw t5,ra,sp
+ 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000514: 00200293 li t0,2
+ 80000518: fe5216e3 bne tp,t0,80000504 <test_34+0x4>
+ 8000051c: 08000e93 li t4,128
+ 80000520: 02200193 li gp,34
+ 80000524: 15df1263 bne t5,t4,80000668 <fail>
+
+0000000080000528 <test_35>:
+ 80000528: 00000213 li tp,0
+ 8000052c: 00e00113 li sp,14
+ 80000530: 00100093 li ra,1
+ 80000534: 00000013 nop
+ 80000538: 00209f3b sllw t5,ra,sp
+ 8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000540: 00200293 li t0,2
+ 80000544: fe5214e3 bne tp,t0,8000052c <test_35+0x4>
+ 80000548: 00004eb7 lui t4,0x4
+ 8000054c: 02300193 li gp,35
+ 80000550: 11df1c63 bne t5,t4,80000668 <fail>
+
+0000000080000554 <test_36>:
+ 80000554: 00000213 li tp,0
+ 80000558: 01f00113 li sp,31
+ 8000055c: 00100093 li ra,1
+ 80000560: 00000013 nop
+ 80000564: 00000013 nop
+ 80000568: 00209f3b sllw t5,ra,sp
+ 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000570: 00200293 li t0,2
+ 80000574: fe5212e3 bne tp,t0,80000558 <test_36+0x4>
+ 80000578: 80000eb7 lui t4,0x80000
+ 8000057c: 02400193 li gp,36
+ 80000580: 0fdf1463 bne t5,t4,80000668 <fail>
+
+0000000080000584 <test_37>:
+ 80000584: 00000213 li tp,0
+ 80000588: 00700113 li sp,7
+ 8000058c: 00000013 nop
+ 80000590: 00100093 li ra,1
+ 80000594: 00209f3b sllw t5,ra,sp
+ 80000598: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000059c: 00200293 li t0,2
+ 800005a0: fe5214e3 bne tp,t0,80000588 <test_37+0x4>
+ 800005a4: 08000e93 li t4,128
+ 800005a8: 02500193 li gp,37
+ 800005ac: 0bdf1e63 bne t5,t4,80000668 <fail>
+
+00000000800005b0 <test_38>:
+ 800005b0: 00000213 li tp,0
+ 800005b4: 00e00113 li sp,14
+ 800005b8: 00000013 nop
+ 800005bc: 00100093 li ra,1
+ 800005c0: 00000013 nop
+ 800005c4: 00209f3b sllw t5,ra,sp
+ 800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005cc: 00200293 li t0,2
+ 800005d0: fe5212e3 bne tp,t0,800005b4 <test_38+0x4>
+ 800005d4: 00004eb7 lui t4,0x4
+ 800005d8: 02600193 li gp,38
+ 800005dc: 09df1663 bne t5,t4,80000668 <fail>
+
+00000000800005e0 <test_39>:
+ 800005e0: 00000213 li tp,0
+ 800005e4: 01f00113 li sp,31
+ 800005e8: 00000013 nop
+ 800005ec: 00000013 nop
+ 800005f0: 00100093 li ra,1
+ 800005f4: 00209f3b sllw t5,ra,sp
+ 800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005fc: 00200293 li t0,2
+ 80000600: fe5212e3 bne tp,t0,800005e4 <test_39+0x4>
+ 80000604: 80000eb7 lui t4,0x80000
+ 80000608: 02700193 li gp,39
+ 8000060c: 05df1e63 bne t5,t4,80000668 <fail>
+
+0000000080000610 <test_40>:
+ 80000610: 00f00093 li ra,15
+ 80000614: 0010113b sllw sp,zero,ra
+ 80000618: 00000e93 li t4,0
+ 8000061c: 02800193 li gp,40
+ 80000620: 05d11463 bne sp,t4,80000668 <fail>
+
+0000000080000624 <test_41>:
+ 80000624: 02000093 li ra,32
+ 80000628: 0000913b sllw sp,ra,zero
+ 8000062c: 02000e93 li t4,32
+ 80000630: 02900193 li gp,41
+ 80000634: 03d11a63 bne sp,t4,80000668 <fail>
+
+0000000080000638 <test_42>:
+ 80000638: 000010bb sllw ra,zero,zero
+ 8000063c: 00000e93 li t4,0
+ 80000640: 02a00193 li gp,42
+ 80000644: 03d09263 bne ra,t4,80000668 <fail>
+
+0000000080000648 <test_43>:
+ 80000648: 40000093 li ra,1024
+ 8000064c: 00001137 lui sp,0x1
+ 80000650: 8001011b addiw sp,sp,-2048
+ 80000654: 0020903b sllw zero,ra,sp
+ 80000658: 00000e93 li t4,0
+ 8000065c: 02b00193 li gp,43
+ 80000660: 01d01463 bne zero,t4,80000668 <fail>
+ 80000664: 00301c63 bne zero,gp,8000067c <pass>
+
+0000000080000668 <fail>:
+ 80000668: 0ff0000f fence
+ 8000066c: 00018063 beqz gp,8000066c <fail+0x4>
+ 80000670: 00119193 slli gp,gp,0x1
+ 80000674: 0011e193 ori gp,gp,1
+ 80000678: 00000073 ecall
+
+000000008000067c <pass>:
+ 8000067c: 0ff0000f fence
+ 80000680: 00100193 li gp,1
+ 80000684: 00000073 ecall
+ 80000688: c0001073 unimp
+ 8000068c: 0000 unimp
+ 8000068e: 0000 unimp
+ 80000690: 0000 unimp
+ 80000692: 0000 unimp
+ 80000694: 0000 unimp
+ 80000696: 0000 unimp
+ 80000698: 0000 unimp
+ 8000069a: 0000 unimp
+ 8000069c: 0000 unimp
+ 8000069e: 0000 unimp
+ 800006a0: 0000 unimp
+ 800006a2: 0000 unimp
+ 800006a4: 0000 unimp
+ 800006a6: 0000 unimp
+ 800006a8: 0000 unimp
+ 800006aa: 0000 unimp
+ 800006ac: 0000 unimp
+ 800006ae: 0000 unimp
+ 800006b0: 0000 unimp
+ 800006b2: 0000 unimp
+ 800006b4: 0000 unimp
+ 800006b6: 0000 unimp
+ 800006b8: 0000 unimp
+ 800006ba: 0000 unimp
+ 800006bc: 0000 unimp
+ 800006be: 0000 unimp
+ 800006c0: 0000 unimp
+ 800006c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-sllw.elf b/test/riscv/tests/rv64ui-p-sllw.elf
new file mode 100755
index 00000000..b722e66c
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sllw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-slt.dump b/test/riscv/tests/rv64ui-p-slt.dump
new file mode 100644
index 00000000..1d5f786e
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-slt.dump
@@ -0,0 +1,485 @@
+
+rv64ui-p-slt: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00000113 li sp,0
+ 80000104: 0020af33 slt t5,ra,sp
+ 80000108: 00000e93 li t4,0
+ 8000010c: 00200193 li gp,2
+ 80000110: 4bdf1a63 bne t5,t4,800005c4 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 0020af33 slt t5,ra,sp
+ 80000120: 00000e93 li t4,0
+ 80000124: 00300193 li gp,3
+ 80000128: 49df1e63 bne t5,t4,800005c4 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00300093 li ra,3
+ 80000130: 00700113 li sp,7
+ 80000134: 0020af33 slt t5,ra,sp
+ 80000138: 00100e93 li t4,1
+ 8000013c: 00400193 li gp,4
+ 80000140: 49df1263 bne t5,t4,800005c4 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00700093 li ra,7
+ 80000148: 00300113 li sp,3
+ 8000014c: 0020af33 slt t5,ra,sp
+ 80000150: 00000e93 li t4,0
+ 80000154: 00500193 li gp,5
+ 80000158: 47df1663 bne t5,t4,800005c4 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 00000093 li ra,0
+ 80000160: ffff8137 lui sp,0xffff8
+ 80000164: 0020af33 slt t5,ra,sp
+ 80000168: 00000e93 li t4,0
+ 8000016c: 00600193 li gp,6
+ 80000170: 45df1a63 bne t5,t4,800005c4 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: 00000113 li sp,0
+ 8000017c: 0020af33 slt t5,ra,sp
+ 80000180: 00100e93 li t4,1
+ 80000184: 00700193 li gp,7
+ 80000188: 43df1e63 bne t5,t4,800005c4 <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 800000b7 lui ra,0x80000
+ 80000190: ffff8137 lui sp,0xffff8
+ 80000194: 0020af33 slt t5,ra,sp
+ 80000198: 00100e93 li t4,1
+ 8000019c: 00800193 li gp,8
+ 800001a0: 43df1263 bne t5,t4,800005c4 <fail>
+
+00000000800001a4 <test_9>:
+ 800001a4: 00000093 li ra,0
+ 800001a8: 00008137 lui sp,0x8
+ 800001ac: fff1011b addiw sp,sp,-1
+ 800001b0: 0020af33 slt t5,ra,sp
+ 800001b4: 00100e93 li t4,1
+ 800001b8: 00900193 li gp,9
+ 800001bc: 41df1463 bne t5,t4,800005c4 <fail>
+
+00000000800001c0 <test_10>:
+ 800001c0: 800000b7 lui ra,0x80000
+ 800001c4: fff0809b addiw ra,ra,-1
+ 800001c8: 00000113 li sp,0
+ 800001cc: 0020af33 slt t5,ra,sp
+ 800001d0: 00000e93 li t4,0
+ 800001d4: 00a00193 li gp,10
+ 800001d8: 3fdf1663 bne t5,t4,800005c4 <fail>
+
+00000000800001dc <test_11>:
+ 800001dc: 800000b7 lui ra,0x80000
+ 800001e0: fff0809b addiw ra,ra,-1
+ 800001e4: 00008137 lui sp,0x8
+ 800001e8: fff1011b addiw sp,sp,-1
+ 800001ec: 0020af33 slt t5,ra,sp
+ 800001f0: 00000e93 li t4,0
+ 800001f4: 00b00193 li gp,11
+ 800001f8: 3ddf1663 bne t5,t4,800005c4 <fail>
+
+00000000800001fc <test_12>:
+ 800001fc: 800000b7 lui ra,0x80000
+ 80000200: 00008137 lui sp,0x8
+ 80000204: fff1011b addiw sp,sp,-1
+ 80000208: 0020af33 slt t5,ra,sp
+ 8000020c: 00100e93 li t4,1
+ 80000210: 00c00193 li gp,12
+ 80000214: 3bdf1863 bne t5,t4,800005c4 <fail>
+
+0000000080000218 <test_13>:
+ 80000218: 800000b7 lui ra,0x80000
+ 8000021c: fff0809b addiw ra,ra,-1
+ 80000220: ffff8137 lui sp,0xffff8
+ 80000224: 0020af33 slt t5,ra,sp
+ 80000228: 00000e93 li t4,0
+ 8000022c: 00d00193 li gp,13
+ 80000230: 39df1a63 bne t5,t4,800005c4 <fail>
+
+0000000080000234 <test_14>:
+ 80000234: 00000093 li ra,0
+ 80000238: fff00113 li sp,-1
+ 8000023c: 0020af33 slt t5,ra,sp
+ 80000240: 00000e93 li t4,0
+ 80000244: 00e00193 li gp,14
+ 80000248: 37df1e63 bne t5,t4,800005c4 <fail>
+
+000000008000024c <test_15>:
+ 8000024c: fff00093 li ra,-1
+ 80000250: 00100113 li sp,1
+ 80000254: 0020af33 slt t5,ra,sp
+ 80000258: 00100e93 li t4,1
+ 8000025c: 00f00193 li gp,15
+ 80000260: 37df1263 bne t5,t4,800005c4 <fail>
+
+0000000080000264 <test_16>:
+ 80000264: fff00093 li ra,-1
+ 80000268: fff00113 li sp,-1
+ 8000026c: 0020af33 slt t5,ra,sp
+ 80000270: 00000e93 li t4,0
+ 80000274: 01000193 li gp,16
+ 80000278: 35df1663 bne t5,t4,800005c4 <fail>
+
+000000008000027c <test_17>:
+ 8000027c: 00e00093 li ra,14
+ 80000280: 00d00113 li sp,13
+ 80000284: 0020a0b3 slt ra,ra,sp
+ 80000288: 00000e93 li t4,0
+ 8000028c: 01100193 li gp,17
+ 80000290: 33d09a63 bne ra,t4,800005c4 <fail>
+
+0000000080000294 <test_18>:
+ 80000294: 00b00093 li ra,11
+ 80000298: 00d00113 li sp,13
+ 8000029c: 0020a133 slt sp,ra,sp
+ 800002a0: 00100e93 li t4,1
+ 800002a4: 01200193 li gp,18
+ 800002a8: 31d11e63 bne sp,t4,800005c4 <fail>
+
+00000000800002ac <test_19>:
+ 800002ac: 00d00093 li ra,13
+ 800002b0: 0010a0b3 slt ra,ra,ra
+ 800002b4: 00000e93 li t4,0
+ 800002b8: 01300193 li gp,19
+ 800002bc: 31d09463 bne ra,t4,800005c4 <fail>
+
+00000000800002c0 <test_20>:
+ 800002c0: 00000213 li tp,0
+ 800002c4: 00b00093 li ra,11
+ 800002c8: 00d00113 li sp,13
+ 800002cc: 0020af33 slt t5,ra,sp
+ 800002d0: 000f0313 mv t1,t5
+ 800002d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002d8: 00200293 li t0,2
+ 800002dc: fe5214e3 bne tp,t0,800002c4 <test_20+0x4>
+ 800002e0: 00100e93 li t4,1
+ 800002e4: 01400193 li gp,20
+ 800002e8: 2dd31e63 bne t1,t4,800005c4 <fail>
+
+00000000800002ec <test_21>:
+ 800002ec: 00000213 li tp,0
+ 800002f0: 00e00093 li ra,14
+ 800002f4: 00d00113 li sp,13
+ 800002f8: 0020af33 slt t5,ra,sp
+ 800002fc: 00000013 nop
+ 80000300: 000f0313 mv t1,t5
+ 80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000308: 00200293 li t0,2
+ 8000030c: fe5212e3 bne tp,t0,800002f0 <test_21+0x4>
+ 80000310: 00000e93 li t4,0
+ 80000314: 01500193 li gp,21
+ 80000318: 2bd31663 bne t1,t4,800005c4 <fail>
+
+000000008000031c <test_22>:
+ 8000031c: 00000213 li tp,0
+ 80000320: 00c00093 li ra,12
+ 80000324: 00d00113 li sp,13
+ 80000328: 0020af33 slt t5,ra,sp
+ 8000032c: 00000013 nop
+ 80000330: 00000013 nop
+ 80000334: 000f0313 mv t1,t5
+ 80000338: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000033c: 00200293 li t0,2
+ 80000340: fe5210e3 bne tp,t0,80000320 <test_22+0x4>
+ 80000344: 00100e93 li t4,1
+ 80000348: 01600193 li gp,22
+ 8000034c: 27d31c63 bne t1,t4,800005c4 <fail>
+
+0000000080000350 <test_23>:
+ 80000350: 00000213 li tp,0
+ 80000354: 00e00093 li ra,14
+ 80000358: 00d00113 li sp,13
+ 8000035c: 0020af33 slt t5,ra,sp
+ 80000360: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000364: 00200293 li t0,2
+ 80000368: fe5216e3 bne tp,t0,80000354 <test_23+0x4>
+ 8000036c: 00000e93 li t4,0
+ 80000370: 01700193 li gp,23
+ 80000374: 25df1863 bne t5,t4,800005c4 <fail>
+
+0000000080000378 <test_24>:
+ 80000378: 00000213 li tp,0
+ 8000037c: 00b00093 li ra,11
+ 80000380: 00d00113 li sp,13
+ 80000384: 00000013 nop
+ 80000388: 0020af33 slt t5,ra,sp
+ 8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000390: 00200293 li t0,2
+ 80000394: fe5214e3 bne tp,t0,8000037c <test_24+0x4>
+ 80000398: 00100e93 li t4,1
+ 8000039c: 01800193 li gp,24
+ 800003a0: 23df1263 bne t5,t4,800005c4 <fail>
+
+00000000800003a4 <test_25>:
+ 800003a4: 00000213 li tp,0
+ 800003a8: 00f00093 li ra,15
+ 800003ac: 00d00113 li sp,13
+ 800003b0: 00000013 nop
+ 800003b4: 00000013 nop
+ 800003b8: 0020af33 slt t5,ra,sp
+ 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003c0: 00200293 li t0,2
+ 800003c4: fe5212e3 bne tp,t0,800003a8 <test_25+0x4>
+ 800003c8: 00000e93 li t4,0
+ 800003cc: 01900193 li gp,25
+ 800003d0: 1fdf1a63 bne t5,t4,800005c4 <fail>
+
+00000000800003d4 <test_26>:
+ 800003d4: 00000213 li tp,0
+ 800003d8: 00a00093 li ra,10
+ 800003dc: 00000013 nop
+ 800003e0: 00d00113 li sp,13
+ 800003e4: 0020af33 slt t5,ra,sp
+ 800003e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003ec: 00200293 li t0,2
+ 800003f0: fe5214e3 bne tp,t0,800003d8 <test_26+0x4>
+ 800003f4: 00100e93 li t4,1
+ 800003f8: 01a00193 li gp,26
+ 800003fc: 1ddf1463 bne t5,t4,800005c4 <fail>
+
+0000000080000400 <test_27>:
+ 80000400: 00000213 li tp,0
+ 80000404: 01000093 li ra,16
+ 80000408: 00000013 nop
+ 8000040c: 00d00113 li sp,13
+ 80000410: 00000013 nop
+ 80000414: 0020af33 slt t5,ra,sp
+ 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000041c: 00200293 li t0,2
+ 80000420: fe5212e3 bne tp,t0,80000404 <test_27+0x4>
+ 80000424: 00000e93 li t4,0
+ 80000428: 01b00193 li gp,27
+ 8000042c: 19df1c63 bne t5,t4,800005c4 <fail>
+
+0000000080000430 <test_28>:
+ 80000430: 00000213 li tp,0
+ 80000434: 00900093 li ra,9
+ 80000438: 00000013 nop
+ 8000043c: 00000013 nop
+ 80000440: 00d00113 li sp,13
+ 80000444: 0020af33 slt t5,ra,sp
+ 80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000044c: 00200293 li t0,2
+ 80000450: fe5212e3 bne tp,t0,80000434 <test_28+0x4>
+ 80000454: 00100e93 li t4,1
+ 80000458: 01c00193 li gp,28
+ 8000045c: 17df1463 bne t5,t4,800005c4 <fail>
+
+0000000080000460 <test_29>:
+ 80000460: 00000213 li tp,0
+ 80000464: 00d00113 li sp,13
+ 80000468: 01100093 li ra,17
+ 8000046c: 0020af33 slt t5,ra,sp
+ 80000470: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000474: 00200293 li t0,2
+ 80000478: fe5216e3 bne tp,t0,80000464 <test_29+0x4>
+ 8000047c: 00000e93 li t4,0
+ 80000480: 01d00193 li gp,29
+ 80000484: 15df1063 bne t5,t4,800005c4 <fail>
+
+0000000080000488 <test_30>:
+ 80000488: 00000213 li tp,0
+ 8000048c: 00d00113 li sp,13
+ 80000490: 00800093 li ra,8
+ 80000494: 00000013 nop
+ 80000498: 0020af33 slt t5,ra,sp
+ 8000049c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004a0: 00200293 li t0,2
+ 800004a4: fe5214e3 bne tp,t0,8000048c <test_30+0x4>
+ 800004a8: 00100e93 li t4,1
+ 800004ac: 01e00193 li gp,30
+ 800004b0: 11df1a63 bne t5,t4,800005c4 <fail>
+
+00000000800004b4 <test_31>:
+ 800004b4: 00000213 li tp,0
+ 800004b8: 00d00113 li sp,13
+ 800004bc: 01200093 li ra,18
+ 800004c0: 00000013 nop
+ 800004c4: 00000013 nop
+ 800004c8: 0020af33 slt t5,ra,sp
+ 800004cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004d0: 00200293 li t0,2
+ 800004d4: fe5212e3 bne tp,t0,800004b8 <test_31+0x4>
+ 800004d8: 00000e93 li t4,0
+ 800004dc: 01f00193 li gp,31
+ 800004e0: 0fdf1263 bne t5,t4,800005c4 <fail>
+
+00000000800004e4 <test_32>:
+ 800004e4: 00000213 li tp,0
+ 800004e8: 00d00113 li sp,13
+ 800004ec: 00000013 nop
+ 800004f0: 00700093 li ra,7
+ 800004f4: 0020af33 slt t5,ra,sp
+ 800004f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004fc: 00200293 li t0,2
+ 80000500: fe5214e3 bne tp,t0,800004e8 <test_32+0x4>
+ 80000504: 00100e93 li t4,1
+ 80000508: 02000193 li gp,32
+ 8000050c: 0bdf1c63 bne t5,t4,800005c4 <fail>
+
+0000000080000510 <test_33>:
+ 80000510: 00000213 li tp,0
+ 80000514: 00d00113 li sp,13
+ 80000518: 00000013 nop
+ 8000051c: 01300093 li ra,19
+ 80000520: 00000013 nop
+ 80000524: 0020af33 slt t5,ra,sp
+ 80000528: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000052c: 00200293 li t0,2
+ 80000530: fe5212e3 bne tp,t0,80000514 <test_33+0x4>
+ 80000534: 00000e93 li t4,0
+ 80000538: 02100193 li gp,33
+ 8000053c: 09df1463 bne t5,t4,800005c4 <fail>
+
+0000000080000540 <test_34>:
+ 80000540: 00000213 li tp,0
+ 80000544: 00d00113 li sp,13
+ 80000548: 00000013 nop
+ 8000054c: 00000013 nop
+ 80000550: 00600093 li ra,6
+ 80000554: 0020af33 slt t5,ra,sp
+ 80000558: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000055c: 00200293 li t0,2
+ 80000560: fe5212e3 bne tp,t0,80000544 <test_34+0x4>
+ 80000564: 00100e93 li t4,1
+ 80000568: 02200193 li gp,34
+ 8000056c: 05df1c63 bne t5,t4,800005c4 <fail>
+
+0000000080000570 <test_35>:
+ 80000570: fff00093 li ra,-1
+ 80000574: 00102133 sgtz sp,ra
+ 80000578: 00000e93 li t4,0
+ 8000057c: 02300193 li gp,35
+ 80000580: 05d11263 bne sp,t4,800005c4 <fail>
+
+0000000080000584 <test_36>:
+ 80000584: fff00093 li ra,-1
+ 80000588: 0000a133 sltz sp,ra
+ 8000058c: 00100e93 li t4,1
+ 80000590: 02400193 li gp,36
+ 80000594: 03d11863 bne sp,t4,800005c4 <fail>
+
+0000000080000598 <test_37>:
+ 80000598: 000020b3 sltz ra,zero
+ 8000059c: 00000e93 li t4,0
+ 800005a0: 02500193 li gp,37
+ 800005a4: 03d09063 bne ra,t4,800005c4 <fail>
+
+00000000800005a8 <test_38>:
+ 800005a8: 01000093 li ra,16
+ 800005ac: 01e00113 li sp,30
+ 800005b0: 0020a033 slt zero,ra,sp
+ 800005b4: 00000e93 li t4,0
+ 800005b8: 02600193 li gp,38
+ 800005bc: 01d01463 bne zero,t4,800005c4 <fail>
+ 800005c0: 00301c63 bne zero,gp,800005d8 <pass>
+
+00000000800005c4 <fail>:
+ 800005c4: 0ff0000f fence
+ 800005c8: 00018063 beqz gp,800005c8 <fail+0x4>
+ 800005cc: 00119193 slli gp,gp,0x1
+ 800005d0: 0011e193 ori gp,gp,1
+ 800005d4: 00000073 ecall
+
+00000000800005d8 <pass>:
+ 800005d8: 0ff0000f fence
+ 800005dc: 00100193 li gp,1
+ 800005e0: 00000073 ecall
+ 800005e4: c0001073 unimp
+ 800005e8: 0000 unimp
+ 800005ea: 0000 unimp
+ 800005ec: 0000 unimp
+ 800005ee: 0000 unimp
+ 800005f0: 0000 unimp
+ 800005f2: 0000 unimp
+ 800005f4: 0000 unimp
+ 800005f6: 0000 unimp
+ 800005f8: 0000 unimp
+ 800005fa: 0000 unimp
+ 800005fc: 0000 unimp
+ 800005fe: 0000 unimp
+ 80000600: 0000 unimp
+ 80000602: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-slt.elf b/test/riscv/tests/rv64ui-p-slt.elf
new file mode 100755
index 00000000..d5e3ee14
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-slt.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-slti.dump b/test/riscv/tests/rv64ui-p-slti.dump
new file mode 100644
index 00000000..c9ca449a
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-slti.dump
@@ -0,0 +1,320 @@
+
+rv64ui-p-slti: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 0000af13 slti t5,ra,0
+ 80000104: 00000e93 li t4,0
+ 80000108: 00200193 li gp,2
+ 8000010c: 27df1263 bne t5,t4,80000370 <fail>
+
+0000000080000110 <test_3>:
+ 80000110: 00100093 li ra,1
+ 80000114: 0010af13 slti t5,ra,1
+ 80000118: 00000e93 li t4,0
+ 8000011c: 00300193 li gp,3
+ 80000120: 25df1863 bne t5,t4,80000370 <fail>
+
+0000000080000124 <test_4>:
+ 80000124: 00300093 li ra,3
+ 80000128: 0070af13 slti t5,ra,7
+ 8000012c: 00100e93 li t4,1
+ 80000130: 00400193 li gp,4
+ 80000134: 23df1e63 bne t5,t4,80000370 <fail>
+
+0000000080000138 <test_5>:
+ 80000138: 00700093 li ra,7
+ 8000013c: 0030af13 slti t5,ra,3
+ 80000140: 00000e93 li t4,0
+ 80000144: 00500193 li gp,5
+ 80000148: 23df1463 bne t5,t4,80000370 <fail>
+
+000000008000014c <test_6>:
+ 8000014c: 00000093 li ra,0
+ 80000150: 8000af13 slti t5,ra,-2048
+ 80000154: 00000e93 li t4,0
+ 80000158: 00600193 li gp,6
+ 8000015c: 21df1a63 bne t5,t4,80000370 <fail>
+
+0000000080000160 <test_7>:
+ 80000160: 800000b7 lui ra,0x80000
+ 80000164: 0000af13 slti t5,ra,0
+ 80000168: 00100e93 li t4,1
+ 8000016c: 00700193 li gp,7
+ 80000170: 21df1063 bne t5,t4,80000370 <fail>
+
+0000000080000174 <test_8>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: 8000af13 slti t5,ra,-2048
+ 8000017c: 00100e93 li t4,1
+ 80000180: 00800193 li gp,8
+ 80000184: 1fdf1663 bne t5,t4,80000370 <fail>
+
+0000000080000188 <test_9>:
+ 80000188: 00000093 li ra,0
+ 8000018c: 7ff0af13 slti t5,ra,2047
+ 80000190: 00100e93 li t4,1
+ 80000194: 00900193 li gp,9
+ 80000198: 1ddf1c63 bne t5,t4,80000370 <fail>
+
+000000008000019c <test_10>:
+ 8000019c: 800000b7 lui ra,0x80000
+ 800001a0: fff0809b addiw ra,ra,-1
+ 800001a4: 0000af13 slti t5,ra,0
+ 800001a8: 00000e93 li t4,0
+ 800001ac: 00a00193 li gp,10
+ 800001b0: 1ddf1063 bne t5,t4,80000370 <fail>
+
+00000000800001b4 <test_11>:
+ 800001b4: 800000b7 lui ra,0x80000
+ 800001b8: fff0809b addiw ra,ra,-1
+ 800001bc: 7ff0af13 slti t5,ra,2047
+ 800001c0: 00000e93 li t4,0
+ 800001c4: 00b00193 li gp,11
+ 800001c8: 1bdf1463 bne t5,t4,80000370 <fail>
+
+00000000800001cc <test_12>:
+ 800001cc: 800000b7 lui ra,0x80000
+ 800001d0: 7ff0af13 slti t5,ra,2047
+ 800001d4: 00100e93 li t4,1
+ 800001d8: 00c00193 li gp,12
+ 800001dc: 19df1a63 bne t5,t4,80000370 <fail>
+
+00000000800001e0 <test_13>:
+ 800001e0: 800000b7 lui ra,0x80000
+ 800001e4: fff0809b addiw ra,ra,-1
+ 800001e8: 8000af13 slti t5,ra,-2048
+ 800001ec: 00000e93 li t4,0
+ 800001f0: 00d00193 li gp,13
+ 800001f4: 17df1e63 bne t5,t4,80000370 <fail>
+
+00000000800001f8 <test_14>:
+ 800001f8: 00000093 li ra,0
+ 800001fc: fff0af13 slti t5,ra,-1
+ 80000200: 00000e93 li t4,0
+ 80000204: 00e00193 li gp,14
+ 80000208: 17df1463 bne t5,t4,80000370 <fail>
+
+000000008000020c <test_15>:
+ 8000020c: fff00093 li ra,-1
+ 80000210: 0010af13 slti t5,ra,1
+ 80000214: 00100e93 li t4,1
+ 80000218: 00f00193 li gp,15
+ 8000021c: 15df1a63 bne t5,t4,80000370 <fail>
+
+0000000080000220 <test_16>:
+ 80000220: fff00093 li ra,-1
+ 80000224: fff0af13 slti t5,ra,-1
+ 80000228: 00000e93 li t4,0
+ 8000022c: 01000193 li gp,16
+ 80000230: 15df1063 bne t5,t4,80000370 <fail>
+
+0000000080000234 <test_17>:
+ 80000234: 00b00093 li ra,11
+ 80000238: 00d0a093 slti ra,ra,13
+ 8000023c: 00100e93 li t4,1
+ 80000240: 01100193 li gp,17
+ 80000244: 13d09663 bne ra,t4,80000370 <fail>
+
+0000000080000248 <test_18>:
+ 80000248: 00000213 li tp,0
+ 8000024c: 00f00093 li ra,15
+ 80000250: 00a0af13 slti t5,ra,10
+ 80000254: 000f0313 mv t1,t5
+ 80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000025c: 00200293 li t0,2
+ 80000260: fe5216e3 bne tp,t0,8000024c <test_18+0x4>
+ 80000264: 00000e93 li t4,0
+ 80000268: 01200193 li gp,18
+ 8000026c: 11d31263 bne t1,t4,80000370 <fail>
+
+0000000080000270 <test_19>:
+ 80000270: 00000213 li tp,0
+ 80000274: 00a00093 li ra,10
+ 80000278: 0100af13 slti t5,ra,16
+ 8000027c: 00000013 nop
+ 80000280: 000f0313 mv t1,t5
+ 80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000288: 00200293 li t0,2
+ 8000028c: fe5214e3 bne tp,t0,80000274 <test_19+0x4>
+ 80000290: 00100e93 li t4,1
+ 80000294: 01300193 li gp,19
+ 80000298: 0dd31c63 bne t1,t4,80000370 <fail>
+
+000000008000029c <test_20>:
+ 8000029c: 00000213 li tp,0
+ 800002a0: 01000093 li ra,16
+ 800002a4: 0090af13 slti t5,ra,9
+ 800002a8: 00000013 nop
+ 800002ac: 00000013 nop
+ 800002b0: 000f0313 mv t1,t5
+ 800002b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002b8: 00200293 li t0,2
+ 800002bc: fe5212e3 bne tp,t0,800002a0 <test_20+0x4>
+ 800002c0: 00000e93 li t4,0
+ 800002c4: 01400193 li gp,20
+ 800002c8: 0bd31463 bne t1,t4,80000370 <fail>
+
+00000000800002cc <test_21>:
+ 800002cc: 00000213 li tp,0
+ 800002d0: 00b00093 li ra,11
+ 800002d4: 00f0af13 slti t5,ra,15
+ 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002dc: 00200293 li t0,2
+ 800002e0: fe5218e3 bne tp,t0,800002d0 <test_21+0x4>
+ 800002e4: 00100e93 li t4,1
+ 800002e8: 01500193 li gp,21
+ 800002ec: 09df1263 bne t5,t4,80000370 <fail>
+
+00000000800002f0 <test_22>:
+ 800002f0: 00000213 li tp,0
+ 800002f4: 01100093 li ra,17
+ 800002f8: 00000013 nop
+ 800002fc: 0080af13 slti t5,ra,8
+ 80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000304: 00200293 li t0,2
+ 80000308: fe5216e3 bne tp,t0,800002f4 <test_22+0x4>
+ 8000030c: 00000e93 li t4,0
+ 80000310: 01600193 li gp,22
+ 80000314: 05df1e63 bne t5,t4,80000370 <fail>
+
+0000000080000318 <test_23>:
+ 80000318: 00000213 li tp,0
+ 8000031c: 00c00093 li ra,12
+ 80000320: 00000013 nop
+ 80000324: 00000013 nop
+ 80000328: 00e0af13 slti t5,ra,14
+ 8000032c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000330: 00200293 li t0,2
+ 80000334: fe5214e3 bne tp,t0,8000031c <test_23+0x4>
+ 80000338: 00100e93 li t4,1
+ 8000033c: 01700193 li gp,23
+ 80000340: 03df1863 bne t5,t4,80000370 <fail>
+
+0000000080000344 <test_24>:
+ 80000344: fff02093 slti ra,zero,-1
+ 80000348: 00000e93 li t4,0
+ 8000034c: 01800193 li gp,24
+ 80000350: 03d09063 bne ra,t4,80000370 <fail>
+
+0000000080000354 <test_25>:
+ 80000354: 00ff00b7 lui ra,0xff0
+ 80000358: 0ff0809b addiw ra,ra,255
+ 8000035c: fff0a013 slti zero,ra,-1
+ 80000360: 00000e93 li t4,0
+ 80000364: 01900193 li gp,25
+ 80000368: 01d01463 bne zero,t4,80000370 <fail>
+ 8000036c: 00301c63 bne zero,gp,80000384 <pass>
+
+0000000080000370 <fail>:
+ 80000370: 0ff0000f fence
+ 80000374: 00018063 beqz gp,80000374 <fail+0x4>
+ 80000378: 00119193 slli gp,gp,0x1
+ 8000037c: 0011e193 ori gp,gp,1
+ 80000380: 00000073 ecall
+
+0000000080000384 <pass>:
+ 80000384: 0ff0000f fence
+ 80000388: 00100193 li gp,1
+ 8000038c: 00000073 ecall
+ 80000390: c0001073 unimp
+ 80000394: 0000 unimp
+ 80000396: 0000 unimp
+ 80000398: 0000 unimp
+ 8000039a: 0000 unimp
+ 8000039c: 0000 unimp
+ 8000039e: 0000 unimp
+ 800003a0: 0000 unimp
+ 800003a2: 0000 unimp
+ 800003a4: 0000 unimp
+ 800003a6: 0000 unimp
+ 800003a8: 0000 unimp
+ 800003aa: 0000 unimp
+ 800003ac: 0000 unimp
+ 800003ae: 0000 unimp
+ 800003b0: 0000 unimp
+ 800003b2: 0000 unimp
+ 800003b4: 0000 unimp
+ 800003b6: 0000 unimp
+ 800003b8: 0000 unimp
+ 800003ba: 0000 unimp
+ 800003bc: 0000 unimp
+ 800003be: 0000 unimp
+ 800003c0: 0000 unimp
+ 800003c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-slti.elf b/test/riscv/tests/rv64ui-p-slti.elf
new file mode 100755
index 00000000..3dbb9dcf
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-slti.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sltiu.dump b/test/riscv/tests/rv64ui-p-sltiu.dump
new file mode 100644
index 00000000..45fe6ab3
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sltiu.dump
@@ -0,0 +1,320 @@
+
+rv64ui-p-sltiu: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 0000bf13 sltiu t5,ra,0
+ 80000104: 00000e93 li t4,0
+ 80000108: 00200193 li gp,2
+ 8000010c: 27df1263 bne t5,t4,80000370 <fail>
+
+0000000080000110 <test_3>:
+ 80000110: 00100093 li ra,1
+ 80000114: 0010bf13 seqz t5,ra
+ 80000118: 00000e93 li t4,0
+ 8000011c: 00300193 li gp,3
+ 80000120: 25df1863 bne t5,t4,80000370 <fail>
+
+0000000080000124 <test_4>:
+ 80000124: 00300093 li ra,3
+ 80000128: 0070bf13 sltiu t5,ra,7
+ 8000012c: 00100e93 li t4,1
+ 80000130: 00400193 li gp,4
+ 80000134: 23df1e63 bne t5,t4,80000370 <fail>
+
+0000000080000138 <test_5>:
+ 80000138: 00700093 li ra,7
+ 8000013c: 0030bf13 sltiu t5,ra,3
+ 80000140: 00000e93 li t4,0
+ 80000144: 00500193 li gp,5
+ 80000148: 23df1463 bne t5,t4,80000370 <fail>
+
+000000008000014c <test_6>:
+ 8000014c: 00000093 li ra,0
+ 80000150: 8000bf13 sltiu t5,ra,-2048
+ 80000154: 00100e93 li t4,1
+ 80000158: 00600193 li gp,6
+ 8000015c: 21df1a63 bne t5,t4,80000370 <fail>
+
+0000000080000160 <test_7>:
+ 80000160: 800000b7 lui ra,0x80000
+ 80000164: 0000bf13 sltiu t5,ra,0
+ 80000168: 00000e93 li t4,0
+ 8000016c: 00700193 li gp,7
+ 80000170: 21df1063 bne t5,t4,80000370 <fail>
+
+0000000080000174 <test_8>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: 8000bf13 sltiu t5,ra,-2048
+ 8000017c: 00100e93 li t4,1
+ 80000180: 00800193 li gp,8
+ 80000184: 1fdf1663 bne t5,t4,80000370 <fail>
+
+0000000080000188 <test_9>:
+ 80000188: 00000093 li ra,0
+ 8000018c: 7ff0bf13 sltiu t5,ra,2047
+ 80000190: 00100e93 li t4,1
+ 80000194: 00900193 li gp,9
+ 80000198: 1ddf1c63 bne t5,t4,80000370 <fail>
+
+000000008000019c <test_10>:
+ 8000019c: 800000b7 lui ra,0x80000
+ 800001a0: fff0809b addiw ra,ra,-1
+ 800001a4: 0000bf13 sltiu t5,ra,0
+ 800001a8: 00000e93 li t4,0
+ 800001ac: 00a00193 li gp,10
+ 800001b0: 1ddf1063 bne t5,t4,80000370 <fail>
+
+00000000800001b4 <test_11>:
+ 800001b4: 800000b7 lui ra,0x80000
+ 800001b8: fff0809b addiw ra,ra,-1
+ 800001bc: 7ff0bf13 sltiu t5,ra,2047
+ 800001c0: 00000e93 li t4,0
+ 800001c4: 00b00193 li gp,11
+ 800001c8: 1bdf1463 bne t5,t4,80000370 <fail>
+
+00000000800001cc <test_12>:
+ 800001cc: 800000b7 lui ra,0x80000
+ 800001d0: 7ff0bf13 sltiu t5,ra,2047
+ 800001d4: 00000e93 li t4,0
+ 800001d8: 00c00193 li gp,12
+ 800001dc: 19df1a63 bne t5,t4,80000370 <fail>
+
+00000000800001e0 <test_13>:
+ 800001e0: 800000b7 lui ra,0x80000
+ 800001e4: fff0809b addiw ra,ra,-1
+ 800001e8: 8000bf13 sltiu t5,ra,-2048
+ 800001ec: 00100e93 li t4,1
+ 800001f0: 00d00193 li gp,13
+ 800001f4: 17df1e63 bne t5,t4,80000370 <fail>
+
+00000000800001f8 <test_14>:
+ 800001f8: 00000093 li ra,0
+ 800001fc: fff0bf13 sltiu t5,ra,-1
+ 80000200: 00100e93 li t4,1
+ 80000204: 00e00193 li gp,14
+ 80000208: 17df1463 bne t5,t4,80000370 <fail>
+
+000000008000020c <test_15>:
+ 8000020c: fff00093 li ra,-1
+ 80000210: 0010bf13 seqz t5,ra
+ 80000214: 00000e93 li t4,0
+ 80000218: 00f00193 li gp,15
+ 8000021c: 15df1a63 bne t5,t4,80000370 <fail>
+
+0000000080000220 <test_16>:
+ 80000220: fff00093 li ra,-1
+ 80000224: fff0bf13 sltiu t5,ra,-1
+ 80000228: 00000e93 li t4,0
+ 8000022c: 01000193 li gp,16
+ 80000230: 15df1063 bne t5,t4,80000370 <fail>
+
+0000000080000234 <test_17>:
+ 80000234: 00b00093 li ra,11
+ 80000238: 00d0b093 sltiu ra,ra,13
+ 8000023c: 00100e93 li t4,1
+ 80000240: 01100193 li gp,17
+ 80000244: 13d09663 bne ra,t4,80000370 <fail>
+
+0000000080000248 <test_18>:
+ 80000248: 00000213 li tp,0
+ 8000024c: 00f00093 li ra,15
+ 80000250: 00a0bf13 sltiu t5,ra,10
+ 80000254: 000f0313 mv t1,t5
+ 80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000025c: 00200293 li t0,2
+ 80000260: fe5216e3 bne tp,t0,8000024c <test_18+0x4>
+ 80000264: 00000e93 li t4,0
+ 80000268: 01200193 li gp,18
+ 8000026c: 11d31263 bne t1,t4,80000370 <fail>
+
+0000000080000270 <test_19>:
+ 80000270: 00000213 li tp,0
+ 80000274: 00a00093 li ra,10
+ 80000278: 0100bf13 sltiu t5,ra,16
+ 8000027c: 00000013 nop
+ 80000280: 000f0313 mv t1,t5
+ 80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000288: 00200293 li t0,2
+ 8000028c: fe5214e3 bne tp,t0,80000274 <test_19+0x4>
+ 80000290: 00100e93 li t4,1
+ 80000294: 01300193 li gp,19
+ 80000298: 0dd31c63 bne t1,t4,80000370 <fail>
+
+000000008000029c <test_20>:
+ 8000029c: 00000213 li tp,0
+ 800002a0: 01000093 li ra,16
+ 800002a4: 0090bf13 sltiu t5,ra,9
+ 800002a8: 00000013 nop
+ 800002ac: 00000013 nop
+ 800002b0: 000f0313 mv t1,t5
+ 800002b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002b8: 00200293 li t0,2
+ 800002bc: fe5212e3 bne tp,t0,800002a0 <test_20+0x4>
+ 800002c0: 00000e93 li t4,0
+ 800002c4: 01400193 li gp,20
+ 800002c8: 0bd31463 bne t1,t4,80000370 <fail>
+
+00000000800002cc <test_21>:
+ 800002cc: 00000213 li tp,0
+ 800002d0: 00b00093 li ra,11
+ 800002d4: 00f0bf13 sltiu t5,ra,15
+ 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002dc: 00200293 li t0,2
+ 800002e0: fe5218e3 bne tp,t0,800002d0 <test_21+0x4>
+ 800002e4: 00100e93 li t4,1
+ 800002e8: 01500193 li gp,21
+ 800002ec: 09df1263 bne t5,t4,80000370 <fail>
+
+00000000800002f0 <test_22>:
+ 800002f0: 00000213 li tp,0
+ 800002f4: 01100093 li ra,17
+ 800002f8: 00000013 nop
+ 800002fc: 0080bf13 sltiu t5,ra,8
+ 80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000304: 00200293 li t0,2
+ 80000308: fe5216e3 bne tp,t0,800002f4 <test_22+0x4>
+ 8000030c: 00000e93 li t4,0
+ 80000310: 01600193 li gp,22
+ 80000314: 05df1e63 bne t5,t4,80000370 <fail>
+
+0000000080000318 <test_23>:
+ 80000318: 00000213 li tp,0
+ 8000031c: 00c00093 li ra,12
+ 80000320: 00000013 nop
+ 80000324: 00000013 nop
+ 80000328: 00e0bf13 sltiu t5,ra,14
+ 8000032c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000330: 00200293 li t0,2
+ 80000334: fe5214e3 bne tp,t0,8000031c <test_23+0x4>
+ 80000338: 00100e93 li t4,1
+ 8000033c: 01700193 li gp,23
+ 80000340: 03df1863 bne t5,t4,80000370 <fail>
+
+0000000080000344 <test_24>:
+ 80000344: fff03093 sltiu ra,zero,-1
+ 80000348: 00100e93 li t4,1
+ 8000034c: 01800193 li gp,24
+ 80000350: 03d09063 bne ra,t4,80000370 <fail>
+
+0000000080000354 <test_25>:
+ 80000354: 00ff00b7 lui ra,0xff0
+ 80000358: 0ff0809b addiw ra,ra,255
+ 8000035c: fff0b013 sltiu zero,ra,-1
+ 80000360: 00000e93 li t4,0
+ 80000364: 01900193 li gp,25
+ 80000368: 01d01463 bne zero,t4,80000370 <fail>
+ 8000036c: 00301c63 bne zero,gp,80000384 <pass>
+
+0000000080000370 <fail>:
+ 80000370: 0ff0000f fence
+ 80000374: 00018063 beqz gp,80000374 <fail+0x4>
+ 80000378: 00119193 slli gp,gp,0x1
+ 8000037c: 0011e193 ori gp,gp,1
+ 80000380: 00000073 ecall
+
+0000000080000384 <pass>:
+ 80000384: 0ff0000f fence
+ 80000388: 00100193 li gp,1
+ 8000038c: 00000073 ecall
+ 80000390: c0001073 unimp
+ 80000394: 0000 unimp
+ 80000396: 0000 unimp
+ 80000398: 0000 unimp
+ 8000039a: 0000 unimp
+ 8000039c: 0000 unimp
+ 8000039e: 0000 unimp
+ 800003a0: 0000 unimp
+ 800003a2: 0000 unimp
+ 800003a4: 0000 unimp
+ 800003a6: 0000 unimp
+ 800003a8: 0000 unimp
+ 800003aa: 0000 unimp
+ 800003ac: 0000 unimp
+ 800003ae: 0000 unimp
+ 800003b0: 0000 unimp
+ 800003b2: 0000 unimp
+ 800003b4: 0000 unimp
+ 800003b6: 0000 unimp
+ 800003b8: 0000 unimp
+ 800003ba: 0000 unimp
+ 800003bc: 0000 unimp
+ 800003be: 0000 unimp
+ 800003c0: 0000 unimp
+ 800003c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-sltiu.elf b/test/riscv/tests/rv64ui-p-sltiu.elf
new file mode 100755
index 00000000..9eb7628a
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sltiu.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sltu.dump b/test/riscv/tests/rv64ui-p-sltu.dump
new file mode 100644
index 00000000..4b1cd23e
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sltu.dump
@@ -0,0 +1,500 @@
+
+rv64ui-p-sltu: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00000113 li sp,0
+ 80000104: 0020bf33 sltu t5,ra,sp
+ 80000108: 00000e93 li t4,0
+ 8000010c: 00200193 li gp,2
+ 80000110: 4fdf1c63 bne t5,t4,80000608 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 0020bf33 sltu t5,ra,sp
+ 80000120: 00000e93 li t4,0
+ 80000124: 00300193 li gp,3
+ 80000128: 4fdf1063 bne t5,t4,80000608 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00300093 li ra,3
+ 80000130: 00700113 li sp,7
+ 80000134: 0020bf33 sltu t5,ra,sp
+ 80000138: 00100e93 li t4,1
+ 8000013c: 00400193 li gp,4
+ 80000140: 4ddf1463 bne t5,t4,80000608 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00700093 li ra,7
+ 80000148: 00300113 li sp,3
+ 8000014c: 0020bf33 sltu t5,ra,sp
+ 80000150: 00000e93 li t4,0
+ 80000154: 00500193 li gp,5
+ 80000158: 4bdf1863 bne t5,t4,80000608 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 00000093 li ra,0
+ 80000160: 00020137 lui sp,0x20
+ 80000164: fff1011b addiw sp,sp,-1
+ 80000168: 00f11113 slli sp,sp,0xf
+ 8000016c: 0020bf33 sltu t5,ra,sp
+ 80000170: 00100e93 li t4,1
+ 80000174: 00600193 li gp,6
+ 80000178: 49df1863 bne t5,t4,80000608 <fail>
+
+000000008000017c <test_7>:
+ 8000017c: 0010009b addiw ra,zero,1
+ 80000180: 01f09093 slli ra,ra,0x1f
+ 80000184: 00000113 li sp,0
+ 80000188: 0020bf33 sltu t5,ra,sp
+ 8000018c: 00000e93 li t4,0
+ 80000190: 00700193 li gp,7
+ 80000194: 47df1a63 bne t5,t4,80000608 <fail>
+
+0000000080000198 <test_8>:
+ 80000198: 0010009b addiw ra,zero,1
+ 8000019c: 01f09093 slli ra,ra,0x1f
+ 800001a0: 00020137 lui sp,0x20
+ 800001a4: fff1011b addiw sp,sp,-1
+ 800001a8: 00f11113 slli sp,sp,0xf
+ 800001ac: 0020bf33 sltu t5,ra,sp
+ 800001b0: 00100e93 li t4,1
+ 800001b4: 00800193 li gp,8
+ 800001b8: 45df1863 bne t5,t4,80000608 <fail>
+
+00000000800001bc <test_9>:
+ 800001bc: 00000093 li ra,0
+ 800001c0: 00008137 lui sp,0x8
+ 800001c4: fff1011b addiw sp,sp,-1
+ 800001c8: 0020bf33 sltu t5,ra,sp
+ 800001cc: 00100e93 li t4,1
+ 800001d0: 00900193 li gp,9
+ 800001d4: 43df1a63 bne t5,t4,80000608 <fail>
+
+00000000800001d8 <test_10>:
+ 800001d8: 800000b7 lui ra,0x80000
+ 800001dc: fff0809b addiw ra,ra,-1
+ 800001e0: 00000113 li sp,0
+ 800001e4: 0020bf33 sltu t5,ra,sp
+ 800001e8: 00000e93 li t4,0
+ 800001ec: 00a00193 li gp,10
+ 800001f0: 41df1c63 bne t5,t4,80000608 <fail>
+
+00000000800001f4 <test_11>:
+ 800001f4: 800000b7 lui ra,0x80000
+ 800001f8: fff0809b addiw ra,ra,-1
+ 800001fc: 00008137 lui sp,0x8
+ 80000200: fff1011b addiw sp,sp,-1
+ 80000204: 0020bf33 sltu t5,ra,sp
+ 80000208: 00000e93 li t4,0
+ 8000020c: 00b00193 li gp,11
+ 80000210: 3fdf1c63 bne t5,t4,80000608 <fail>
+
+0000000080000214 <test_12>:
+ 80000214: 0010009b addiw ra,zero,1
+ 80000218: 01f09093 slli ra,ra,0x1f
+ 8000021c: 00008137 lui sp,0x8
+ 80000220: fff1011b addiw sp,sp,-1
+ 80000224: 0020bf33 sltu t5,ra,sp
+ 80000228: 00000e93 li t4,0
+ 8000022c: 00c00193 li gp,12
+ 80000230: 3ddf1c63 bne t5,t4,80000608 <fail>
+
+0000000080000234 <test_13>:
+ 80000234: 800000b7 lui ra,0x80000
+ 80000238: fff0809b addiw ra,ra,-1
+ 8000023c: 00020137 lui sp,0x20
+ 80000240: fff1011b addiw sp,sp,-1
+ 80000244: 00f11113 slli sp,sp,0xf
+ 80000248: 0020bf33 sltu t5,ra,sp
+ 8000024c: 00100e93 li t4,1
+ 80000250: 00d00193 li gp,13
+ 80000254: 3bdf1a63 bne t5,t4,80000608 <fail>
+
+0000000080000258 <test_14>:
+ 80000258: 00000093 li ra,0
+ 8000025c: 0010011b addiw sp,zero,1
+ 80000260: 02011113 slli sp,sp,0x20
+ 80000264: fff10113 addi sp,sp,-1 # 1ffff <_start-0x7ffe0001>
+ 80000268: 0020bf33 sltu t5,ra,sp
+ 8000026c: 00100e93 li t4,1
+ 80000270: 00e00193 li gp,14
+ 80000274: 39df1a63 bne t5,t4,80000608 <fail>
+
+0000000080000278 <test_15>:
+ 80000278: 0010009b addiw ra,zero,1
+ 8000027c: 02009093 slli ra,ra,0x20
+ 80000280: fff08093 addi ra,ra,-1 # ffffffff7fffffff <_end+0xfffffffeffffdfff>
+ 80000284: 00100113 li sp,1
+ 80000288: 0020bf33 sltu t5,ra,sp
+ 8000028c: 00000e93 li t4,0
+ 80000290: 00f00193 li gp,15
+ 80000294: 37df1a63 bne t5,t4,80000608 <fail>
+
+0000000080000298 <test_16>:
+ 80000298: 0010009b addiw ra,zero,1
+ 8000029c: 02009093 slli ra,ra,0x20
+ 800002a0: fff08093 addi ra,ra,-1
+ 800002a4: 0010011b addiw sp,zero,1
+ 800002a8: 02011113 slli sp,sp,0x20
+ 800002ac: fff10113 addi sp,sp,-1
+ 800002b0: 0020bf33 sltu t5,ra,sp
+ 800002b4: 00000e93 li t4,0
+ 800002b8: 01000193 li gp,16
+ 800002bc: 35df1663 bne t5,t4,80000608 <fail>
+
+00000000800002c0 <test_17>:
+ 800002c0: 00e00093 li ra,14
+ 800002c4: 00d00113 li sp,13
+ 800002c8: 0020b0b3 sltu ra,ra,sp
+ 800002cc: 00000e93 li t4,0
+ 800002d0: 01100193 li gp,17
+ 800002d4: 33d09a63 bne ra,t4,80000608 <fail>
+
+00000000800002d8 <test_18>:
+ 800002d8: 00b00093 li ra,11
+ 800002dc: 00d00113 li sp,13
+ 800002e0: 0020b133 sltu sp,ra,sp
+ 800002e4: 00100e93 li t4,1
+ 800002e8: 01200193 li gp,18
+ 800002ec: 31d11e63 bne sp,t4,80000608 <fail>
+
+00000000800002f0 <test_19>:
+ 800002f0: 00d00093 li ra,13
+ 800002f4: 0010b0b3 sltu ra,ra,ra
+ 800002f8: 00000e93 li t4,0
+ 800002fc: 01300193 li gp,19
+ 80000300: 31d09463 bne ra,t4,80000608 <fail>
+
+0000000080000304 <test_20>:
+ 80000304: 00000213 li tp,0
+ 80000308: 00b00093 li ra,11
+ 8000030c: 00d00113 li sp,13
+ 80000310: 0020bf33 sltu t5,ra,sp
+ 80000314: 000f0313 mv t1,t5
+ 80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000031c: 00200293 li t0,2
+ 80000320: fe5214e3 bne tp,t0,80000308 <test_20+0x4>
+ 80000324: 00100e93 li t4,1
+ 80000328: 01400193 li gp,20
+ 8000032c: 2dd31e63 bne t1,t4,80000608 <fail>
+
+0000000080000330 <test_21>:
+ 80000330: 00000213 li tp,0
+ 80000334: 00e00093 li ra,14
+ 80000338: 00d00113 li sp,13
+ 8000033c: 0020bf33 sltu t5,ra,sp
+ 80000340: 00000013 nop
+ 80000344: 000f0313 mv t1,t5
+ 80000348: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000034c: 00200293 li t0,2
+ 80000350: fe5212e3 bne tp,t0,80000334 <test_21+0x4>
+ 80000354: 00000e93 li t4,0
+ 80000358: 01500193 li gp,21
+ 8000035c: 2bd31663 bne t1,t4,80000608 <fail>
+
+0000000080000360 <test_22>:
+ 80000360: 00000213 li tp,0
+ 80000364: 00c00093 li ra,12
+ 80000368: 00d00113 li sp,13
+ 8000036c: 0020bf33 sltu t5,ra,sp
+ 80000370: 00000013 nop
+ 80000374: 00000013 nop
+ 80000378: 000f0313 mv t1,t5
+ 8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000380: 00200293 li t0,2
+ 80000384: fe5210e3 bne tp,t0,80000364 <test_22+0x4>
+ 80000388: 00100e93 li t4,1
+ 8000038c: 01600193 li gp,22
+ 80000390: 27d31c63 bne t1,t4,80000608 <fail>
+
+0000000080000394 <test_23>:
+ 80000394: 00000213 li tp,0
+ 80000398: 00e00093 li ra,14
+ 8000039c: 00d00113 li sp,13
+ 800003a0: 0020bf33 sltu t5,ra,sp
+ 800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003a8: 00200293 li t0,2
+ 800003ac: fe5216e3 bne tp,t0,80000398 <test_23+0x4>
+ 800003b0: 00000e93 li t4,0
+ 800003b4: 01700193 li gp,23
+ 800003b8: 25df1863 bne t5,t4,80000608 <fail>
+
+00000000800003bc <test_24>:
+ 800003bc: 00000213 li tp,0
+ 800003c0: 00b00093 li ra,11
+ 800003c4: 00d00113 li sp,13
+ 800003c8: 00000013 nop
+ 800003cc: 0020bf33 sltu t5,ra,sp
+ 800003d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003d4: 00200293 li t0,2
+ 800003d8: fe5214e3 bne tp,t0,800003c0 <test_24+0x4>
+ 800003dc: 00100e93 li t4,1
+ 800003e0: 01800193 li gp,24
+ 800003e4: 23df1263 bne t5,t4,80000608 <fail>
+
+00000000800003e8 <test_25>:
+ 800003e8: 00000213 li tp,0
+ 800003ec: 00f00093 li ra,15
+ 800003f0: 00d00113 li sp,13
+ 800003f4: 00000013 nop
+ 800003f8: 00000013 nop
+ 800003fc: 0020bf33 sltu t5,ra,sp
+ 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000404: 00200293 li t0,2
+ 80000408: fe5212e3 bne tp,t0,800003ec <test_25+0x4>
+ 8000040c: 00000e93 li t4,0
+ 80000410: 01900193 li gp,25
+ 80000414: 1fdf1a63 bne t5,t4,80000608 <fail>
+
+0000000080000418 <test_26>:
+ 80000418: 00000213 li tp,0
+ 8000041c: 00a00093 li ra,10
+ 80000420: 00000013 nop
+ 80000424: 00d00113 li sp,13
+ 80000428: 0020bf33 sltu t5,ra,sp
+ 8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000430: 00200293 li t0,2
+ 80000434: fe5214e3 bne tp,t0,8000041c <test_26+0x4>
+ 80000438: 00100e93 li t4,1
+ 8000043c: 01a00193 li gp,26
+ 80000440: 1ddf1463 bne t5,t4,80000608 <fail>
+
+0000000080000444 <test_27>:
+ 80000444: 00000213 li tp,0
+ 80000448: 01000093 li ra,16
+ 8000044c: 00000013 nop
+ 80000450: 00d00113 li sp,13
+ 80000454: 00000013 nop
+ 80000458: 0020bf33 sltu t5,ra,sp
+ 8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000460: 00200293 li t0,2
+ 80000464: fe5212e3 bne tp,t0,80000448 <test_27+0x4>
+ 80000468: 00000e93 li t4,0
+ 8000046c: 01b00193 li gp,27
+ 80000470: 19df1c63 bne t5,t4,80000608 <fail>
+
+0000000080000474 <test_28>:
+ 80000474: 00000213 li tp,0
+ 80000478: 00900093 li ra,9
+ 8000047c: 00000013 nop
+ 80000480: 00000013 nop
+ 80000484: 00d00113 li sp,13
+ 80000488: 0020bf33 sltu t5,ra,sp
+ 8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000490: 00200293 li t0,2
+ 80000494: fe5212e3 bne tp,t0,80000478 <test_28+0x4>
+ 80000498: 00100e93 li t4,1
+ 8000049c: 01c00193 li gp,28
+ 800004a0: 17df1463 bne t5,t4,80000608 <fail>
+
+00000000800004a4 <test_29>:
+ 800004a4: 00000213 li tp,0
+ 800004a8: 00d00113 li sp,13
+ 800004ac: 01100093 li ra,17
+ 800004b0: 0020bf33 sltu t5,ra,sp
+ 800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004b8: 00200293 li t0,2
+ 800004bc: fe5216e3 bne tp,t0,800004a8 <test_29+0x4>
+ 800004c0: 00000e93 li t4,0
+ 800004c4: 01d00193 li gp,29
+ 800004c8: 15df1063 bne t5,t4,80000608 <fail>
+
+00000000800004cc <test_30>:
+ 800004cc: 00000213 li tp,0
+ 800004d0: 00d00113 li sp,13
+ 800004d4: 00800093 li ra,8
+ 800004d8: 00000013 nop
+ 800004dc: 0020bf33 sltu t5,ra,sp
+ 800004e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004e4: 00200293 li t0,2
+ 800004e8: fe5214e3 bne tp,t0,800004d0 <test_30+0x4>
+ 800004ec: 00100e93 li t4,1
+ 800004f0: 01e00193 li gp,30
+ 800004f4: 11df1a63 bne t5,t4,80000608 <fail>
+
+00000000800004f8 <test_31>:
+ 800004f8: 00000213 li tp,0
+ 800004fc: 00d00113 li sp,13
+ 80000500: 01200093 li ra,18
+ 80000504: 00000013 nop
+ 80000508: 00000013 nop
+ 8000050c: 0020bf33 sltu t5,ra,sp
+ 80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000514: 00200293 li t0,2
+ 80000518: fe5212e3 bne tp,t0,800004fc <test_31+0x4>
+ 8000051c: 00000e93 li t4,0
+ 80000520: 01f00193 li gp,31
+ 80000524: 0fdf1263 bne t5,t4,80000608 <fail>
+
+0000000080000528 <test_32>:
+ 80000528: 00000213 li tp,0
+ 8000052c: 00d00113 li sp,13
+ 80000530: 00000013 nop
+ 80000534: 00700093 li ra,7
+ 80000538: 0020bf33 sltu t5,ra,sp
+ 8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000540: 00200293 li t0,2
+ 80000544: fe5214e3 bne tp,t0,8000052c <test_32+0x4>
+ 80000548: 00100e93 li t4,1
+ 8000054c: 02000193 li gp,32
+ 80000550: 0bdf1c63 bne t5,t4,80000608 <fail>
+
+0000000080000554 <test_33>:
+ 80000554: 00000213 li tp,0
+ 80000558: 00d00113 li sp,13
+ 8000055c: 00000013 nop
+ 80000560: 01300093 li ra,19
+ 80000564: 00000013 nop
+ 80000568: 0020bf33 sltu t5,ra,sp
+ 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000570: 00200293 li t0,2
+ 80000574: fe5212e3 bne tp,t0,80000558 <test_33+0x4>
+ 80000578: 00000e93 li t4,0
+ 8000057c: 02100193 li gp,33
+ 80000580: 09df1463 bne t5,t4,80000608 <fail>
+
+0000000080000584 <test_34>:
+ 80000584: 00000213 li tp,0
+ 80000588: 00d00113 li sp,13
+ 8000058c: 00000013 nop
+ 80000590: 00000013 nop
+ 80000594: 00600093 li ra,6
+ 80000598: 0020bf33 sltu t5,ra,sp
+ 8000059c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005a0: 00200293 li t0,2
+ 800005a4: fe5212e3 bne tp,t0,80000588 <test_34+0x4>
+ 800005a8: 00100e93 li t4,1
+ 800005ac: 02200193 li gp,34
+ 800005b0: 05df1c63 bne t5,t4,80000608 <fail>
+
+00000000800005b4 <test_35>:
+ 800005b4: fff00093 li ra,-1
+ 800005b8: 00103133 snez sp,ra
+ 800005bc: 00100e93 li t4,1
+ 800005c0: 02300193 li gp,35
+ 800005c4: 05d11263 bne sp,t4,80000608 <fail>
+
+00000000800005c8 <test_36>:
+ 800005c8: fff00093 li ra,-1
+ 800005cc: 0000b133 sltu sp,ra,zero
+ 800005d0: 00000e93 li t4,0
+ 800005d4: 02400193 li gp,36
+ 800005d8: 03d11863 bne sp,t4,80000608 <fail>
+
+00000000800005dc <test_37>:
+ 800005dc: 000030b3 snez ra,zero
+ 800005e0: 00000e93 li t4,0
+ 800005e4: 02500193 li gp,37
+ 800005e8: 03d09063 bne ra,t4,80000608 <fail>
+
+00000000800005ec <test_38>:
+ 800005ec: 01000093 li ra,16
+ 800005f0: 01e00113 li sp,30
+ 800005f4: 0020b033 sltu zero,ra,sp
+ 800005f8: 00000e93 li t4,0
+ 800005fc: 02600193 li gp,38
+ 80000600: 01d01463 bne zero,t4,80000608 <fail>
+ 80000604: 00301c63 bne zero,gp,8000061c <pass>
+
+0000000080000608 <fail>:
+ 80000608: 0ff0000f fence
+ 8000060c: 00018063 beqz gp,8000060c <fail+0x4>
+ 80000610: 00119193 slli gp,gp,0x1
+ 80000614: 0011e193 ori gp,gp,1
+ 80000618: 00000073 ecall
+
+000000008000061c <pass>:
+ 8000061c: 0ff0000f fence
+ 80000620: 00100193 li gp,1
+ 80000624: 00000073 ecall
+ 80000628: c0001073 unimp
+ 8000062c: 0000 unimp
+ 8000062e: 0000 unimp
+ 80000630: 0000 unimp
+ 80000632: 0000 unimp
+ 80000634: 0000 unimp
+ 80000636: 0000 unimp
+ 80000638: 0000 unimp
+ 8000063a: 0000 unimp
+ 8000063c: 0000 unimp
+ 8000063e: 0000 unimp
+ 80000640: 0000 unimp
+ 80000642: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-sltu.elf b/test/riscv/tests/rv64ui-p-sltu.elf
new file mode 100755
index 00000000..2c63f0bd
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sltu.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sra.dump b/test/riscv/tests/rv64ui-p-sra.dump
new file mode 100644
index 00000000..4b5e4ed5
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sra.dump
@@ -0,0 +1,538 @@
+
+rv64ui-p-sra: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 800000b7 lui ra,0x80000
+ 80000100: 00000113 li sp,0
+ 80000104: 4020df33 sra t5,ra,sp
+ 80000108: 80000eb7 lui t4,0x80000
+ 8000010c: 00200193 li gp,2
+ 80000110: 59df1463 bne t5,t4,80000698 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 800000b7 lui ra,0x80000
+ 80000118: 00100113 li sp,1
+ 8000011c: 4020df33 sra t5,ra,sp
+ 80000120: c0000eb7 lui t4,0xc0000
+ 80000124: 00300193 li gp,3
+ 80000128: 57df1863 bne t5,t4,80000698 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 800000b7 lui ra,0x80000
+ 80000130: 00700113 li sp,7
+ 80000134: 4020df33 sra t5,ra,sp
+ 80000138: ff000eb7 lui t4,0xff000
+ 8000013c: 00400193 li gp,4
+ 80000140: 55df1c63 bne t5,t4,80000698 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 800000b7 lui ra,0x80000
+ 80000148: 00e00113 li sp,14
+ 8000014c: 4020df33 sra t5,ra,sp
+ 80000150: fffe0eb7 lui t4,0xfffe0
+ 80000154: 00500193 li gp,5
+ 80000158: 55df1063 bne t5,t4,80000698 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 0010809b addiw ra,ra,1
+ 80000164: 01f00113 li sp,31
+ 80000168: 4020df33 sra t5,ra,sp
+ 8000016c: fff00e93 li t4,-1
+ 80000170: 00600193 li gp,6
+ 80000174: 53df1263 bne t5,t4,80000698 <fail>
+
+0000000080000178 <test_7>:
+ 80000178: 800000b7 lui ra,0x80000
+ 8000017c: fff0809b addiw ra,ra,-1
+ 80000180: 00000113 li sp,0
+ 80000184: 4020df33 sra t5,ra,sp
+ 80000188: 80000eb7 lui t4,0x80000
+ 8000018c: fffe8e9b addiw t4,t4,-1
+ 80000190: 00700193 li gp,7
+ 80000194: 51df1263 bne t5,t4,80000698 <fail>
+
+0000000080000198 <test_8>:
+ 80000198: 800000b7 lui ra,0x80000
+ 8000019c: fff0809b addiw ra,ra,-1
+ 800001a0: 00100113 li sp,1
+ 800001a4: 4020df33 sra t5,ra,sp
+ 800001a8: 40000eb7 lui t4,0x40000
+ 800001ac: fffe8e9b addiw t4,t4,-1
+ 800001b0: 00800193 li gp,8
+ 800001b4: 4fdf1263 bne t5,t4,80000698 <fail>
+
+00000000800001b8 <test_9>:
+ 800001b8: 800000b7 lui ra,0x80000
+ 800001bc: fff0809b addiw ra,ra,-1
+ 800001c0: 00700113 li sp,7
+ 800001c4: 4020df33 sra t5,ra,sp
+ 800001c8: 01000eb7 lui t4,0x1000
+ 800001cc: fffe8e9b addiw t4,t4,-1
+ 800001d0: 00900193 li gp,9
+ 800001d4: 4ddf1263 bne t5,t4,80000698 <fail>
+
+00000000800001d8 <test_10>:
+ 800001d8: 800000b7 lui ra,0x80000
+ 800001dc: fff0809b addiw ra,ra,-1
+ 800001e0: 00e00113 li sp,14
+ 800001e4: 4020df33 sra t5,ra,sp
+ 800001e8: 00020eb7 lui t4,0x20
+ 800001ec: fffe8e9b addiw t4,t4,-1
+ 800001f0: 00a00193 li gp,10
+ 800001f4: 4bdf1263 bne t5,t4,80000698 <fail>
+
+00000000800001f8 <test_11>:
+ 800001f8: 800000b7 lui ra,0x80000
+ 800001fc: fff0809b addiw ra,ra,-1
+ 80000200: 01f00113 li sp,31
+ 80000204: 4020df33 sra t5,ra,sp
+ 80000208: 00000e93 li t4,0
+ 8000020c: 00b00193 li gp,11
+ 80000210: 49df1463 bne t5,t4,80000698 <fail>
+
+0000000080000214 <test_12>:
+ 80000214: 818180b7 lui ra,0x81818
+ 80000218: 1810809b addiw ra,ra,385
+ 8000021c: 00000113 li sp,0
+ 80000220: 4020df33 sra t5,ra,sp
+ 80000224: 81818eb7 lui t4,0x81818
+ 80000228: 181e8e9b addiw t4,t4,385
+ 8000022c: 00c00193 li gp,12
+ 80000230: 47df1463 bne t5,t4,80000698 <fail>
+
+0000000080000234 <test_13>:
+ 80000234: 818180b7 lui ra,0x81818
+ 80000238: 1810809b addiw ra,ra,385
+ 8000023c: 00100113 li sp,1
+ 80000240: 4020df33 sra t5,ra,sp
+ 80000244: c0c0ceb7 lui t4,0xc0c0c
+ 80000248: 0c0e8e9b addiw t4,t4,192
+ 8000024c: 00d00193 li gp,13
+ 80000250: 45df1463 bne t5,t4,80000698 <fail>
+
+0000000080000254 <test_14>:
+ 80000254: 818180b7 lui ra,0x81818
+ 80000258: 1810809b addiw ra,ra,385
+ 8000025c: 00700113 li sp,7
+ 80000260: 4020df33 sra t5,ra,sp
+ 80000264: ff030eb7 lui t4,0xff030
+ 80000268: 303e8e9b addiw t4,t4,771
+ 8000026c: 00e00193 li gp,14
+ 80000270: 43df1463 bne t5,t4,80000698 <fail>
+
+0000000080000274 <test_15>:
+ 80000274: 818180b7 lui ra,0x81818
+ 80000278: 1810809b addiw ra,ra,385
+ 8000027c: 00e00113 li sp,14
+ 80000280: 4020df33 sra t5,ra,sp
+ 80000284: fffe0eb7 lui t4,0xfffe0
+ 80000288: 606e8e9b addiw t4,t4,1542
+ 8000028c: 00f00193 li gp,15
+ 80000290: 41df1463 bne t5,t4,80000698 <fail>
+
+0000000080000294 <test_16>:
+ 80000294: 818180b7 lui ra,0x81818
+ 80000298: 1810809b addiw ra,ra,385
+ 8000029c: 01f00113 li sp,31
+ 800002a0: 4020df33 sra t5,ra,sp
+ 800002a4: fff00e93 li t4,-1
+ 800002a8: 01000193 li gp,16
+ 800002ac: 3fdf1663 bne t5,t4,80000698 <fail>
+
+00000000800002b0 <test_17>:
+ 800002b0: 818180b7 lui ra,0x81818
+ 800002b4: 1810809b addiw ra,ra,385
+ 800002b8: fc000113 li sp,-64
+ 800002bc: 4020df33 sra t5,ra,sp
+ 800002c0: 81818eb7 lui t4,0x81818
+ 800002c4: 181e8e9b addiw t4,t4,385
+ 800002c8: 01100193 li gp,17
+ 800002cc: 3ddf1663 bne t5,t4,80000698 <fail>
+
+00000000800002d0 <test_18>:
+ 800002d0: 818180b7 lui ra,0x81818
+ 800002d4: 1810809b addiw ra,ra,385
+ 800002d8: fc100113 li sp,-63
+ 800002dc: 4020df33 sra t5,ra,sp
+ 800002e0: c0c0ceb7 lui t4,0xc0c0c
+ 800002e4: 0c0e8e9b addiw t4,t4,192
+ 800002e8: 01200193 li gp,18
+ 800002ec: 3bdf1663 bne t5,t4,80000698 <fail>
+
+00000000800002f0 <test_19>:
+ 800002f0: 818180b7 lui ra,0x81818
+ 800002f4: 1810809b addiw ra,ra,385
+ 800002f8: fc700113 li sp,-57
+ 800002fc: 4020df33 sra t5,ra,sp
+ 80000300: ff030eb7 lui t4,0xff030
+ 80000304: 303e8e9b addiw t4,t4,771
+ 80000308: 01300193 li gp,19
+ 8000030c: 39df1663 bne t5,t4,80000698 <fail>
+
+0000000080000310 <test_20>:
+ 80000310: 818180b7 lui ra,0x81818
+ 80000314: 1810809b addiw ra,ra,385
+ 80000318: fce00113 li sp,-50
+ 8000031c: 4020df33 sra t5,ra,sp
+ 80000320: fffe0eb7 lui t4,0xfffe0
+ 80000324: 606e8e9b addiw t4,t4,1542
+ 80000328: 01400193 li gp,20
+ 8000032c: 37df1663 bne t5,t4,80000698 <fail>
+
+0000000080000330 <test_21>:
+ 80000330: 818180b7 lui ra,0x81818
+ 80000334: 1810809b addiw ra,ra,385
+ 80000338: fff00113 li sp,-1
+ 8000033c: 4020df33 sra t5,ra,sp
+ 80000340: fff00e93 li t4,-1
+ 80000344: 01500193 li gp,21
+ 80000348: 35df1863 bne t5,t4,80000698 <fail>
+
+000000008000034c <test_22>:
+ 8000034c: 800000b7 lui ra,0x80000
+ 80000350: 00700113 li sp,7
+ 80000354: 4020d0b3 sra ra,ra,sp
+ 80000358: ff000eb7 lui t4,0xff000
+ 8000035c: 01600193 li gp,22
+ 80000360: 33d09c63 bne ra,t4,80000698 <fail>
+
+0000000080000364 <test_23>:
+ 80000364: 800000b7 lui ra,0x80000
+ 80000368: 00e00113 li sp,14
+ 8000036c: 4020d133 sra sp,ra,sp
+ 80000370: fffe0eb7 lui t4,0xfffe0
+ 80000374: 01700193 li gp,23
+ 80000378: 33d11063 bne sp,t4,80000698 <fail>
+
+000000008000037c <test_24>:
+ 8000037c: 00700093 li ra,7
+ 80000380: 4010d0b3 sra ra,ra,ra
+ 80000384: 00000e93 li t4,0
+ 80000388: 01800193 li gp,24
+ 8000038c: 31d09663 bne ra,t4,80000698 <fail>
+
+0000000080000390 <test_25>:
+ 80000390: 00000213 li tp,0
+ 80000394: 800000b7 lui ra,0x80000
+ 80000398: 00700113 li sp,7
+ 8000039c: 4020df33 sra t5,ra,sp
+ 800003a0: 000f0313 mv t1,t5
+ 800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003a8: 00200293 li t0,2
+ 800003ac: fe5214e3 bne tp,t0,80000394 <test_25+0x4>
+ 800003b0: ff000eb7 lui t4,0xff000
+ 800003b4: 01900193 li gp,25
+ 800003b8: 2fd31063 bne t1,t4,80000698 <fail>
+
+00000000800003bc <test_26>:
+ 800003bc: 00000213 li tp,0
+ 800003c0: 800000b7 lui ra,0x80000
+ 800003c4: 00e00113 li sp,14
+ 800003c8: 4020df33 sra t5,ra,sp
+ 800003cc: 00000013 nop
+ 800003d0: 000f0313 mv t1,t5
+ 800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003d8: 00200293 li t0,2
+ 800003dc: fe5212e3 bne tp,t0,800003c0 <test_26+0x4>
+ 800003e0: fffe0eb7 lui t4,0xfffe0
+ 800003e4: 01a00193 li gp,26
+ 800003e8: 2bd31863 bne t1,t4,80000698 <fail>
+
+00000000800003ec <test_27>:
+ 800003ec: 00000213 li tp,0
+ 800003f0: 800000b7 lui ra,0x80000
+ 800003f4: 01f00113 li sp,31
+ 800003f8: 4020df33 sra t5,ra,sp
+ 800003fc: 00000013 nop
+ 80000400: 00000013 nop
+ 80000404: 000f0313 mv t1,t5
+ 80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000040c: 00200293 li t0,2
+ 80000410: fe5210e3 bne tp,t0,800003f0 <test_27+0x4>
+ 80000414: fff00e93 li t4,-1
+ 80000418: 01b00193 li gp,27
+ 8000041c: 27d31e63 bne t1,t4,80000698 <fail>
+
+0000000080000420 <test_28>:
+ 80000420: 00000213 li tp,0
+ 80000424: 800000b7 lui ra,0x80000
+ 80000428: 00700113 li sp,7
+ 8000042c: 4020df33 sra t5,ra,sp
+ 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000434: 00200293 li t0,2
+ 80000438: fe5216e3 bne tp,t0,80000424 <test_28+0x4>
+ 8000043c: ff000eb7 lui t4,0xff000
+ 80000440: 01c00193 li gp,28
+ 80000444: 25df1a63 bne t5,t4,80000698 <fail>
+
+0000000080000448 <test_29>:
+ 80000448: 00000213 li tp,0
+ 8000044c: 800000b7 lui ra,0x80000
+ 80000450: 00e00113 li sp,14
+ 80000454: 00000013 nop
+ 80000458: 4020df33 sra t5,ra,sp
+ 8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000460: 00200293 li t0,2
+ 80000464: fe5214e3 bne tp,t0,8000044c <test_29+0x4>
+ 80000468: fffe0eb7 lui t4,0xfffe0
+ 8000046c: 01d00193 li gp,29
+ 80000470: 23df1463 bne t5,t4,80000698 <fail>
+
+0000000080000474 <test_30>:
+ 80000474: 00000213 li tp,0
+ 80000478: 800000b7 lui ra,0x80000
+ 8000047c: 01f00113 li sp,31
+ 80000480: 00000013 nop
+ 80000484: 00000013 nop
+ 80000488: 4020df33 sra t5,ra,sp
+ 8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000490: 00200293 li t0,2
+ 80000494: fe5212e3 bne tp,t0,80000478 <test_30+0x4>
+ 80000498: fff00e93 li t4,-1
+ 8000049c: 01e00193 li gp,30
+ 800004a0: 1fdf1c63 bne t5,t4,80000698 <fail>
+
+00000000800004a4 <test_31>:
+ 800004a4: 00000213 li tp,0
+ 800004a8: 800000b7 lui ra,0x80000
+ 800004ac: 00000013 nop
+ 800004b0: 00700113 li sp,7
+ 800004b4: 4020df33 sra t5,ra,sp
+ 800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004bc: 00200293 li t0,2
+ 800004c0: fe5214e3 bne tp,t0,800004a8 <test_31+0x4>
+ 800004c4: ff000eb7 lui t4,0xff000
+ 800004c8: 01f00193 li gp,31
+ 800004cc: 1ddf1663 bne t5,t4,80000698 <fail>
+
+00000000800004d0 <test_32>:
+ 800004d0: 00000213 li tp,0
+ 800004d4: 800000b7 lui ra,0x80000
+ 800004d8: 00000013 nop
+ 800004dc: 00e00113 li sp,14
+ 800004e0: 00000013 nop
+ 800004e4: 4020df33 sra t5,ra,sp
+ 800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004ec: 00200293 li t0,2
+ 800004f0: fe5212e3 bne tp,t0,800004d4 <test_32+0x4>
+ 800004f4: fffe0eb7 lui t4,0xfffe0
+ 800004f8: 02000193 li gp,32
+ 800004fc: 19df1e63 bne t5,t4,80000698 <fail>
+
+0000000080000500 <test_33>:
+ 80000500: 00000213 li tp,0
+ 80000504: 800000b7 lui ra,0x80000
+ 80000508: 00000013 nop
+ 8000050c: 00000013 nop
+ 80000510: 01f00113 li sp,31
+ 80000514: 4020df33 sra t5,ra,sp
+ 80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000051c: 00200293 li t0,2
+ 80000520: fe5212e3 bne tp,t0,80000504 <test_33+0x4>
+ 80000524: fff00e93 li t4,-1
+ 80000528: 02100193 li gp,33
+ 8000052c: 17df1663 bne t5,t4,80000698 <fail>
+
+0000000080000530 <test_34>:
+ 80000530: 00000213 li tp,0
+ 80000534: 00700113 li sp,7
+ 80000538: 800000b7 lui ra,0x80000
+ 8000053c: 4020df33 sra t5,ra,sp
+ 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000544: 00200293 li t0,2
+ 80000548: fe5216e3 bne tp,t0,80000534 <test_34+0x4>
+ 8000054c: ff000eb7 lui t4,0xff000
+ 80000550: 02200193 li gp,34
+ 80000554: 15df1263 bne t5,t4,80000698 <fail>
+
+0000000080000558 <test_35>:
+ 80000558: 00000213 li tp,0
+ 8000055c: 00e00113 li sp,14
+ 80000560: 800000b7 lui ra,0x80000
+ 80000564: 00000013 nop
+ 80000568: 4020df33 sra t5,ra,sp
+ 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000570: 00200293 li t0,2
+ 80000574: fe5214e3 bne tp,t0,8000055c <test_35+0x4>
+ 80000578: fffe0eb7 lui t4,0xfffe0
+ 8000057c: 02300193 li gp,35
+ 80000580: 11df1c63 bne t5,t4,80000698 <fail>
+
+0000000080000584 <test_36>:
+ 80000584: 00000213 li tp,0
+ 80000588: 01f00113 li sp,31
+ 8000058c: 800000b7 lui ra,0x80000
+ 80000590: 00000013 nop
+ 80000594: 00000013 nop
+ 80000598: 4020df33 sra t5,ra,sp
+ 8000059c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005a0: 00200293 li t0,2
+ 800005a4: fe5212e3 bne tp,t0,80000588 <test_36+0x4>
+ 800005a8: fff00e93 li t4,-1
+ 800005ac: 02400193 li gp,36
+ 800005b0: 0fdf1463 bne t5,t4,80000698 <fail>
+
+00000000800005b4 <test_37>:
+ 800005b4: 00000213 li tp,0
+ 800005b8: 00700113 li sp,7
+ 800005bc: 00000013 nop
+ 800005c0: 800000b7 lui ra,0x80000
+ 800005c4: 4020df33 sra t5,ra,sp
+ 800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005cc: 00200293 li t0,2
+ 800005d0: fe5214e3 bne tp,t0,800005b8 <test_37+0x4>
+ 800005d4: ff000eb7 lui t4,0xff000
+ 800005d8: 02500193 li gp,37
+ 800005dc: 0bdf1e63 bne t5,t4,80000698 <fail>
+
+00000000800005e0 <test_38>:
+ 800005e0: 00000213 li tp,0
+ 800005e4: 00e00113 li sp,14
+ 800005e8: 00000013 nop
+ 800005ec: 800000b7 lui ra,0x80000
+ 800005f0: 00000013 nop
+ 800005f4: 4020df33 sra t5,ra,sp
+ 800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005fc: 00200293 li t0,2
+ 80000600: fe5212e3 bne tp,t0,800005e4 <test_38+0x4>
+ 80000604: fffe0eb7 lui t4,0xfffe0
+ 80000608: 02600193 li gp,38
+ 8000060c: 09df1663 bne t5,t4,80000698 <fail>
+
+0000000080000610 <test_39>:
+ 80000610: 00000213 li tp,0
+ 80000614: 01f00113 li sp,31
+ 80000618: 00000013 nop
+ 8000061c: 00000013 nop
+ 80000620: 800000b7 lui ra,0x80000
+ 80000624: 4020df33 sra t5,ra,sp
+ 80000628: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000062c: 00200293 li t0,2
+ 80000630: fe5212e3 bne tp,t0,80000614 <test_39+0x4>
+ 80000634: fff00e93 li t4,-1
+ 80000638: 02700193 li gp,39
+ 8000063c: 05df1e63 bne t5,t4,80000698 <fail>
+
+0000000080000640 <test_40>:
+ 80000640: 00f00093 li ra,15
+ 80000644: 40105133 sra sp,zero,ra
+ 80000648: 00000e93 li t4,0
+ 8000064c: 02800193 li gp,40
+ 80000650: 05d11463 bne sp,t4,80000698 <fail>
+
+0000000080000654 <test_41>:
+ 80000654: 02000093 li ra,32
+ 80000658: 4000d133 sra sp,ra,zero
+ 8000065c: 02000e93 li t4,32
+ 80000660: 02900193 li gp,41
+ 80000664: 03d11a63 bne sp,t4,80000698 <fail>
+
+0000000080000668 <test_42>:
+ 80000668: 400050b3 sra ra,zero,zero
+ 8000066c: 00000e93 li t4,0
+ 80000670: 02a00193 li gp,42
+ 80000674: 03d09263 bne ra,t4,80000698 <fail>
+
+0000000080000678 <test_43>:
+ 80000678: 40000093 li ra,1024
+ 8000067c: 00001137 lui sp,0x1
+ 80000680: 8001011b addiw sp,sp,-2048
+ 80000684: 4020d033 sra zero,ra,sp
+ 80000688: 00000e93 li t4,0
+ 8000068c: 02b00193 li gp,43
+ 80000690: 01d01463 bne zero,t4,80000698 <fail>
+ 80000694: 00301c63 bne zero,gp,800006ac <pass>
+
+0000000080000698 <fail>:
+ 80000698: 0ff0000f fence
+ 8000069c: 00018063 beqz gp,8000069c <fail+0x4>
+ 800006a0: 00119193 slli gp,gp,0x1
+ 800006a4: 0011e193 ori gp,gp,1
+ 800006a8: 00000073 ecall
+
+00000000800006ac <pass>:
+ 800006ac: 0ff0000f fence
+ 800006b0: 00100193 li gp,1
+ 800006b4: 00000073 ecall
+ 800006b8: c0001073 unimp
+ 800006bc: 0000 unimp
+ 800006be: 0000 unimp
+ 800006c0: 0000 unimp
+ 800006c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-sra.elf b/test/riscv/tests/rv64ui-p-sra.elf
new file mode 100755
index 00000000..9ed528bd
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sra.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-srai.dump b/test/riscv/tests/rv64ui-p-srai.dump
new file mode 100644
index 00000000..e86b0510
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-srai.dump
@@ -0,0 +1,333 @@
+
+rv64ui-p-srai: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: fff0009b addiw ra,zero,-1
+ 80000100: 02709093 slli ra,ra,0x27
+ 80000104: 4000df13 srai t5,ra,0x0
+ 80000108: fff00e9b addiw t4,zero,-1
+ 8000010c: 027e9e93 slli t4,t4,0x27
+ 80000110: 00200193 li gp,2
+ 80000114: 2bdf1463 bne t5,t4,800003bc <fail>
+
+0000000080000118 <test_3>:
+ 80000118: 800000b7 lui ra,0x80000
+ 8000011c: 4010df13 srai t5,ra,0x1
+ 80000120: c0000eb7 lui t4,0xc0000
+ 80000124: 00300193 li gp,3
+ 80000128: 29df1a63 bne t5,t4,800003bc <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 800000b7 lui ra,0x80000
+ 80000130: 4070df13 srai t5,ra,0x7
+ 80000134: ff000eb7 lui t4,0xff000
+ 80000138: 00400193 li gp,4
+ 8000013c: 29df1063 bne t5,t4,800003bc <fail>
+
+0000000080000140 <test_5>:
+ 80000140: 800000b7 lui ra,0x80000
+ 80000144: 40e0df13 srai t5,ra,0xe
+ 80000148: fffe0eb7 lui t4,0xfffe0
+ 8000014c: 00500193 li gp,5
+ 80000150: 27df1663 bne t5,t4,800003bc <fail>
+
+0000000080000154 <test_6>:
+ 80000154: 800000b7 lui ra,0x80000
+ 80000158: 0010809b addiw ra,ra,1
+ 8000015c: 41f0df13 srai t5,ra,0x1f
+ 80000160: fff00e93 li t4,-1
+ 80000164: 00600193 li gp,6
+ 80000168: 25df1a63 bne t5,t4,800003bc <fail>
+
+000000008000016c <test_7>:
+ 8000016c: 800000b7 lui ra,0x80000
+ 80000170: fff0809b addiw ra,ra,-1
+ 80000174: 4000df13 srai t5,ra,0x0
+ 80000178: 80000eb7 lui t4,0x80000
+ 8000017c: fffe8e9b addiw t4,t4,-1
+ 80000180: 00700193 li gp,7
+ 80000184: 23df1c63 bne t5,t4,800003bc <fail>
+
+0000000080000188 <test_8>:
+ 80000188: 800000b7 lui ra,0x80000
+ 8000018c: fff0809b addiw ra,ra,-1
+ 80000190: 4010df13 srai t5,ra,0x1
+ 80000194: 40000eb7 lui t4,0x40000
+ 80000198: fffe8e9b addiw t4,t4,-1
+ 8000019c: 00800193 li gp,8
+ 800001a0: 21df1e63 bne t5,t4,800003bc <fail>
+
+00000000800001a4 <test_9>:
+ 800001a4: 800000b7 lui ra,0x80000
+ 800001a8: fff0809b addiw ra,ra,-1
+ 800001ac: 4070df13 srai t5,ra,0x7
+ 800001b0: 01000eb7 lui t4,0x1000
+ 800001b4: fffe8e9b addiw t4,t4,-1
+ 800001b8: 00900193 li gp,9
+ 800001bc: 21df1063 bne t5,t4,800003bc <fail>
+
+00000000800001c0 <test_10>:
+ 800001c0: 800000b7 lui ra,0x80000
+ 800001c4: fff0809b addiw ra,ra,-1
+ 800001c8: 40e0df13 srai t5,ra,0xe
+ 800001cc: 00020eb7 lui t4,0x20
+ 800001d0: fffe8e9b addiw t4,t4,-1
+ 800001d4: 00a00193 li gp,10
+ 800001d8: 1fdf1263 bne t5,t4,800003bc <fail>
+
+00000000800001dc <test_11>:
+ 800001dc: 800000b7 lui ra,0x80000
+ 800001e0: fff0809b addiw ra,ra,-1
+ 800001e4: 41f0df13 srai t5,ra,0x1f
+ 800001e8: 00000e93 li t4,0
+ 800001ec: 00b00193 li gp,11
+ 800001f0: 1ddf1663 bne t5,t4,800003bc <fail>
+
+00000000800001f4 <test_12>:
+ 800001f4: 818180b7 lui ra,0x81818
+ 800001f8: 1810809b addiw ra,ra,385
+ 800001fc: 4000df13 srai t5,ra,0x0
+ 80000200: 81818eb7 lui t4,0x81818
+ 80000204: 181e8e9b addiw t4,t4,385
+ 80000208: 00c00193 li gp,12
+ 8000020c: 1bdf1863 bne t5,t4,800003bc <fail>
+
+0000000080000210 <test_13>:
+ 80000210: 818180b7 lui ra,0x81818
+ 80000214: 1810809b addiw ra,ra,385
+ 80000218: 4010df13 srai t5,ra,0x1
+ 8000021c: c0c0ceb7 lui t4,0xc0c0c
+ 80000220: 0c0e8e9b addiw t4,t4,192
+ 80000224: 00d00193 li gp,13
+ 80000228: 19df1a63 bne t5,t4,800003bc <fail>
+
+000000008000022c <test_14>:
+ 8000022c: 818180b7 lui ra,0x81818
+ 80000230: 1810809b addiw ra,ra,385
+ 80000234: 4070df13 srai t5,ra,0x7
+ 80000238: ff030eb7 lui t4,0xff030
+ 8000023c: 303e8e9b addiw t4,t4,771
+ 80000240: 00e00193 li gp,14
+ 80000244: 17df1c63 bne t5,t4,800003bc <fail>
+
+0000000080000248 <test_15>:
+ 80000248: 818180b7 lui ra,0x81818
+ 8000024c: 1810809b addiw ra,ra,385
+ 80000250: 40e0df13 srai t5,ra,0xe
+ 80000254: fffe0eb7 lui t4,0xfffe0
+ 80000258: 606e8e9b addiw t4,t4,1542
+ 8000025c: 00f00193 li gp,15
+ 80000260: 15df1e63 bne t5,t4,800003bc <fail>
+
+0000000080000264 <test_16>:
+ 80000264: 818180b7 lui ra,0x81818
+ 80000268: 1810809b addiw ra,ra,385
+ 8000026c: 41f0df13 srai t5,ra,0x1f
+ 80000270: fff00e93 li t4,-1
+ 80000274: 01000193 li gp,16
+ 80000278: 15df1263 bne t5,t4,800003bc <fail>
+
+000000008000027c <test_17>:
+ 8000027c: 800000b7 lui ra,0x80000
+ 80000280: 4070d093 srai ra,ra,0x7
+ 80000284: ff000eb7 lui t4,0xff000
+ 80000288: 01100193 li gp,17
+ 8000028c: 13d09863 bne ra,t4,800003bc <fail>
+
+0000000080000290 <test_18>:
+ 80000290: 00000213 li tp,0
+ 80000294: 800000b7 lui ra,0x80000
+ 80000298: 4070df13 srai t5,ra,0x7
+ 8000029c: 000f0313 mv t1,t5
+ 800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a4: 00200293 li t0,2
+ 800002a8: fe5216e3 bne tp,t0,80000294 <test_18+0x4>
+ 800002ac: ff000eb7 lui t4,0xff000
+ 800002b0: 01200193 li gp,18
+ 800002b4: 11d31463 bne t1,t4,800003bc <fail>
+
+00000000800002b8 <test_19>:
+ 800002b8: 00000213 li tp,0
+ 800002bc: 800000b7 lui ra,0x80000
+ 800002c0: 40e0df13 srai t5,ra,0xe
+ 800002c4: 00000013 nop
+ 800002c8: 000f0313 mv t1,t5
+ 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002d0: 00200293 li t0,2
+ 800002d4: fe5214e3 bne tp,t0,800002bc <test_19+0x4>
+ 800002d8: fffe0eb7 lui t4,0xfffe0
+ 800002dc: 01300193 li gp,19
+ 800002e0: 0dd31e63 bne t1,t4,800003bc <fail>
+
+00000000800002e4 <test_20>:
+ 800002e4: 00000213 li tp,0
+ 800002e8: 800000b7 lui ra,0x80000
+ 800002ec: 0010809b addiw ra,ra,1
+ 800002f0: 41f0df13 srai t5,ra,0x1f
+ 800002f4: 00000013 nop
+ 800002f8: 00000013 nop
+ 800002fc: 000f0313 mv t1,t5
+ 80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000304: 00200293 li t0,2
+ 80000308: fe5210e3 bne tp,t0,800002e8 <test_20+0x4>
+ 8000030c: fff00e93 li t4,-1
+ 80000310: 01400193 li gp,20
+ 80000314: 0bd31463 bne t1,t4,800003bc <fail>
+
+0000000080000318 <test_21>:
+ 80000318: 00000213 li tp,0
+ 8000031c: 800000b7 lui ra,0x80000
+ 80000320: 4070df13 srai t5,ra,0x7
+ 80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000328: 00200293 li t0,2
+ 8000032c: fe5218e3 bne tp,t0,8000031c <test_21+0x4>
+ 80000330: ff000eb7 lui t4,0xff000
+ 80000334: 01500193 li gp,21
+ 80000338: 09df1263 bne t5,t4,800003bc <fail>
+
+000000008000033c <test_22>:
+ 8000033c: 00000213 li tp,0
+ 80000340: 800000b7 lui ra,0x80000
+ 80000344: 00000013 nop
+ 80000348: 40e0df13 srai t5,ra,0xe
+ 8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000350: 00200293 li t0,2
+ 80000354: fe5216e3 bne tp,t0,80000340 <test_22+0x4>
+ 80000358: fffe0eb7 lui t4,0xfffe0
+ 8000035c: 01600193 li gp,22
+ 80000360: 05df1e63 bne t5,t4,800003bc <fail>
+
+0000000080000364 <test_23>:
+ 80000364: 00000213 li tp,0
+ 80000368: 800000b7 lui ra,0x80000
+ 8000036c: 0010809b addiw ra,ra,1
+ 80000370: 00000013 nop
+ 80000374: 00000013 nop
+ 80000378: 41f0df13 srai t5,ra,0x1f
+ 8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000380: 00200293 li t0,2
+ 80000384: fe5212e3 bne tp,t0,80000368 <test_23+0x4>
+ 80000388: fff00e93 li t4,-1
+ 8000038c: 01700193 li gp,23
+ 80000390: 03df1663 bne t5,t4,800003bc <fail>
+
+0000000080000394 <test_24>:
+ 80000394: 40405093 srai ra,zero,0x4
+ 80000398: 00000e93 li t4,0
+ 8000039c: 01800193 li gp,24
+ 800003a0: 01d09e63 bne ra,t4,800003bc <fail>
+
+00000000800003a4 <test_25>:
+ 800003a4: 02100093 li ra,33
+ 800003a8: 40a0d013 srai zero,ra,0xa
+ 800003ac: 00000e93 li t4,0
+ 800003b0: 01900193 li gp,25
+ 800003b4: 01d01463 bne zero,t4,800003bc <fail>
+ 800003b8: 00301c63 bne zero,gp,800003d0 <pass>
+
+00000000800003bc <fail>:
+ 800003bc: 0ff0000f fence
+ 800003c0: 00018063 beqz gp,800003c0 <fail+0x4>
+ 800003c4: 00119193 slli gp,gp,0x1
+ 800003c8: 0011e193 ori gp,gp,1
+ 800003cc: 00000073 ecall
+
+00000000800003d0 <pass>:
+ 800003d0: 0ff0000f fence
+ 800003d4: 00100193 li gp,1
+ 800003d8: 00000073 ecall
+ 800003dc: c0001073 unimp
+ 800003e0: 0000 unimp
+ 800003e2: 0000 unimp
+ 800003e4: 0000 unimp
+ 800003e6: 0000 unimp
+ 800003e8: 0000 unimp
+ 800003ea: 0000 unimp
+ 800003ec: 0000 unimp
+ 800003ee: 0000 unimp
+ 800003f0: 0000 unimp
+ 800003f2: 0000 unimp
+ 800003f4: 0000 unimp
+ 800003f6: 0000 unimp
+ 800003f8: 0000 unimp
+ 800003fa: 0000 unimp
+ 800003fc: 0000 unimp
+ 800003fe: 0000 unimp
+ 80000400: 0000 unimp
+ 80000402: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-srai.elf b/test/riscv/tests/rv64ui-p-srai.elf
new file mode 100755
index 00000000..4ffa0b72
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-srai.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sraiw.dump b/test/riscv/tests/rv64ui-p-sraiw.dump
new file mode 100644
index 00000000..c45179f8
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sraiw.dump
@@ -0,0 +1,359 @@
+
+rv64ui-p-sraiw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 800000b7 lui ra,0x80000
+ 80000100: 4000df1b sraiw t5,ra,0x0
+ 80000104: 80000eb7 lui t4,0x80000
+ 80000108: 00200193 li gp,2
+ 8000010c: 2ddf1c63 bne t5,t4,800003e4 <fail>
+
+0000000080000110 <test_3>:
+ 80000110: 800000b7 lui ra,0x80000
+ 80000114: 4010df1b sraiw t5,ra,0x1
+ 80000118: c0000eb7 lui t4,0xc0000
+ 8000011c: 00300193 li gp,3
+ 80000120: 2ddf1263 bne t5,t4,800003e4 <fail>
+
+0000000080000124 <test_4>:
+ 80000124: 800000b7 lui ra,0x80000
+ 80000128: 4070df1b sraiw t5,ra,0x7
+ 8000012c: ff000eb7 lui t4,0xff000
+ 80000130: 00400193 li gp,4
+ 80000134: 2bdf1863 bne t5,t4,800003e4 <fail>
+
+0000000080000138 <test_5>:
+ 80000138: 800000b7 lui ra,0x80000
+ 8000013c: 40e0df1b sraiw t5,ra,0xe
+ 80000140: fffe0eb7 lui t4,0xfffe0
+ 80000144: 00500193 li gp,5
+ 80000148: 29df1e63 bne t5,t4,800003e4 <fail>
+
+000000008000014c <test_6>:
+ 8000014c: 800000b7 lui ra,0x80000
+ 80000150: 0010809b addiw ra,ra,1
+ 80000154: 41f0df1b sraiw t5,ra,0x1f
+ 80000158: fff00e93 li t4,-1
+ 8000015c: 00600193 li gp,6
+ 80000160: 29df1263 bne t5,t4,800003e4 <fail>
+
+0000000080000164 <test_7>:
+ 80000164: 800000b7 lui ra,0x80000
+ 80000168: fff0809b addiw ra,ra,-1
+ 8000016c: 4000df1b sraiw t5,ra,0x0
+ 80000170: 80000eb7 lui t4,0x80000
+ 80000174: fffe8e9b addiw t4,t4,-1
+ 80000178: 00700193 li gp,7
+ 8000017c: 27df1463 bne t5,t4,800003e4 <fail>
+
+0000000080000180 <test_8>:
+ 80000180: 800000b7 lui ra,0x80000
+ 80000184: fff0809b addiw ra,ra,-1
+ 80000188: 4010df1b sraiw t5,ra,0x1
+ 8000018c: 40000eb7 lui t4,0x40000
+ 80000190: fffe8e9b addiw t4,t4,-1
+ 80000194: 00800193 li gp,8
+ 80000198: 25df1663 bne t5,t4,800003e4 <fail>
+
+000000008000019c <test_9>:
+ 8000019c: 800000b7 lui ra,0x80000
+ 800001a0: fff0809b addiw ra,ra,-1
+ 800001a4: 4070df1b sraiw t5,ra,0x7
+ 800001a8: 01000eb7 lui t4,0x1000
+ 800001ac: fffe8e9b addiw t4,t4,-1
+ 800001b0: 00900193 li gp,9
+ 800001b4: 23df1863 bne t5,t4,800003e4 <fail>
+
+00000000800001b8 <test_10>:
+ 800001b8: 800000b7 lui ra,0x80000
+ 800001bc: fff0809b addiw ra,ra,-1
+ 800001c0: 40e0df1b sraiw t5,ra,0xe
+ 800001c4: 00020eb7 lui t4,0x20
+ 800001c8: fffe8e9b addiw t4,t4,-1
+ 800001cc: 00a00193 li gp,10
+ 800001d0: 21df1a63 bne t5,t4,800003e4 <fail>
+
+00000000800001d4 <test_11>:
+ 800001d4: 800000b7 lui ra,0x80000
+ 800001d8: fff0809b addiw ra,ra,-1
+ 800001dc: 41f0df1b sraiw t5,ra,0x1f
+ 800001e0: 00000e93 li t4,0
+ 800001e4: 00b00193 li gp,11
+ 800001e8: 1fdf1e63 bne t5,t4,800003e4 <fail>
+
+00000000800001ec <test_12>:
+ 800001ec: 818180b7 lui ra,0x81818
+ 800001f0: 1810809b addiw ra,ra,385
+ 800001f4: 4000df1b sraiw t5,ra,0x0
+ 800001f8: 81818eb7 lui t4,0x81818
+ 800001fc: 181e8e9b addiw t4,t4,385
+ 80000200: 00c00193 li gp,12
+ 80000204: 1fdf1063 bne t5,t4,800003e4 <fail>
+
+0000000080000208 <test_13>:
+ 80000208: 818180b7 lui ra,0x81818
+ 8000020c: 1810809b addiw ra,ra,385
+ 80000210: 4010df1b sraiw t5,ra,0x1
+ 80000214: c0c0ceb7 lui t4,0xc0c0c
+ 80000218: 0c0e8e9b addiw t4,t4,192
+ 8000021c: 00d00193 li gp,13
+ 80000220: 1ddf1263 bne t5,t4,800003e4 <fail>
+
+0000000080000224 <test_14>:
+ 80000224: 818180b7 lui ra,0x81818
+ 80000228: 1810809b addiw ra,ra,385
+ 8000022c: 4070df1b sraiw t5,ra,0x7
+ 80000230: ff030eb7 lui t4,0xff030
+ 80000234: 303e8e9b addiw t4,t4,771
+ 80000238: 00e00193 li gp,14
+ 8000023c: 1bdf1463 bne t5,t4,800003e4 <fail>
+
+0000000080000240 <test_15>:
+ 80000240: 818180b7 lui ra,0x81818
+ 80000244: 1810809b addiw ra,ra,385
+ 80000248: 40e0df1b sraiw t5,ra,0xe
+ 8000024c: fffe0eb7 lui t4,0xfffe0
+ 80000250: 606e8e9b addiw t4,t4,1542
+ 80000254: 00f00193 li gp,15
+ 80000258: 19df1663 bne t5,t4,800003e4 <fail>
+
+000000008000025c <test_16>:
+ 8000025c: 818180b7 lui ra,0x81818
+ 80000260: 1810809b addiw ra,ra,385
+ 80000264: 41f0df1b sraiw t5,ra,0x1f
+ 80000268: fff00e93 li t4,-1
+ 8000026c: 01000193 li gp,16
+ 80000270: 17df1a63 bne t5,t4,800003e4 <fail>
+
+0000000080000274 <test_17>:
+ 80000274: 800000b7 lui ra,0x80000
+ 80000278: 4070d09b sraiw ra,ra,0x7
+ 8000027c: ff000eb7 lui t4,0xff000
+ 80000280: 01100193 li gp,17
+ 80000284: 17d09063 bne ra,t4,800003e4 <fail>
+
+0000000080000288 <test_18>:
+ 80000288: 00000213 li tp,0
+ 8000028c: 800000b7 lui ra,0x80000
+ 80000290: 4070df1b sraiw t5,ra,0x7
+ 80000294: 000f0313 mv t1,t5
+ 80000298: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000029c: 00200293 li t0,2
+ 800002a0: fe5216e3 bne tp,t0,8000028c <test_18+0x4>
+ 800002a4: ff000eb7 lui t4,0xff000
+ 800002a8: 01200193 li gp,18
+ 800002ac: 13d31c63 bne t1,t4,800003e4 <fail>
+
+00000000800002b0 <test_19>:
+ 800002b0: 00000213 li tp,0
+ 800002b4: 800000b7 lui ra,0x80000
+ 800002b8: 40e0df1b sraiw t5,ra,0xe
+ 800002bc: 00000013 nop
+ 800002c0: 000f0313 mv t1,t5
+ 800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002c8: 00200293 li t0,2
+ 800002cc: fe5214e3 bne tp,t0,800002b4 <test_19+0x4>
+ 800002d0: fffe0eb7 lui t4,0xfffe0
+ 800002d4: 01300193 li gp,19
+ 800002d8: 11d31663 bne t1,t4,800003e4 <fail>
+
+00000000800002dc <test_20>:
+ 800002dc: 00000213 li tp,0
+ 800002e0: 800000b7 lui ra,0x80000
+ 800002e4: 0010809b addiw ra,ra,1
+ 800002e8: 41f0df1b sraiw t5,ra,0x1f
+ 800002ec: 00000013 nop
+ 800002f0: 00000013 nop
+ 800002f4: 000f0313 mv t1,t5
+ 800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002fc: 00200293 li t0,2
+ 80000300: fe5210e3 bne tp,t0,800002e0 <test_20+0x4>
+ 80000304: fff00e93 li t4,-1
+ 80000308: 01400193 li gp,20
+ 8000030c: 0dd31c63 bne t1,t4,800003e4 <fail>
+
+0000000080000310 <test_21>:
+ 80000310: 00000213 li tp,0
+ 80000314: 800000b7 lui ra,0x80000
+ 80000318: 4070df1b sraiw t5,ra,0x7
+ 8000031c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000320: 00200293 li t0,2
+ 80000324: fe5218e3 bne tp,t0,80000314 <test_21+0x4>
+ 80000328: ff000eb7 lui t4,0xff000
+ 8000032c: 01500193 li gp,21
+ 80000330: 0bdf1a63 bne t5,t4,800003e4 <fail>
+
+0000000080000334 <test_22>:
+ 80000334: 00000213 li tp,0
+ 80000338: 800000b7 lui ra,0x80000
+ 8000033c: 00000013 nop
+ 80000340: 40e0df1b sraiw t5,ra,0xe
+ 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000348: 00200293 li t0,2
+ 8000034c: fe5216e3 bne tp,t0,80000338 <test_22+0x4>
+ 80000350: fffe0eb7 lui t4,0xfffe0
+ 80000354: 01600193 li gp,22
+ 80000358: 09df1663 bne t5,t4,800003e4 <fail>
+
+000000008000035c <test_23>:
+ 8000035c: 00000213 li tp,0
+ 80000360: 800000b7 lui ra,0x80000
+ 80000364: 0010809b addiw ra,ra,1
+ 80000368: 00000013 nop
+ 8000036c: 00000013 nop
+ 80000370: 41f0df1b sraiw t5,ra,0x1f
+ 80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000378: 00200293 li t0,2
+ 8000037c: fe5212e3 bne tp,t0,80000360 <test_23+0x4>
+ 80000380: fff00e93 li t4,-1
+ 80000384: 01700193 li gp,23
+ 80000388: 05df1e63 bne t5,t4,800003e4 <fail>
+
+000000008000038c <test_24>:
+ 8000038c: 41f0509b sraiw ra,zero,0x1f
+ 80000390: 00000e93 li t4,0
+ 80000394: 01800193 li gp,24
+ 80000398: 05d09663 bne ra,t4,800003e4 <fail>
+
+000000008000039c <test_25>:
+ 8000039c: 01f00093 li ra,31
+ 800003a0: 41c0d01b sraiw zero,ra,0x1c
+ 800003a4: 00000e93 li t4,0
+ 800003a8: 01900193 li gp,25
+ 800003ac: 03d01c63 bne zero,t4,800003e4 <fail>
+
+00000000800003b0 <test_26>:
+ 800003b0: 0070009b addiw ra,zero,7
+ 800003b4: 03509093 slli ra,ra,0x35
+ 800003b8: 41c0df1b sraiw t5,ra,0x1c
+ 800003bc: 00000e93 li t4,0
+ 800003c0: 01a00193 li gp,26
+ 800003c4: 03df1063 bne t5,t4,800003e4 <fail>
+
+00000000800003c8 <test_27>:
+ 800003c8: 00f0009b addiw ra,zero,15
+ 800003cc: 01c09093 slli ra,ra,0x1c
+ 800003d0: 4040df1b sraiw t5,ra,0x4
+ 800003d4: ff000eb7 lui t4,0xff000
+ 800003d8: 01b00193 li gp,27
+ 800003dc: 01df1463 bne t5,t4,800003e4 <fail>
+ 800003e0: 00301c63 bne zero,gp,800003f8 <pass>
+
+00000000800003e4 <fail>:
+ 800003e4: 0ff0000f fence
+ 800003e8: 00018063 beqz gp,800003e8 <fail+0x4>
+ 800003ec: 00119193 slli gp,gp,0x1
+ 800003f0: 0011e193 ori gp,gp,1
+ 800003f4: 00000073 ecall
+
+00000000800003f8 <pass>:
+ 800003f8: 0ff0000f fence
+ 800003fc: 00100193 li gp,1
+ 80000400: 00000073 ecall
+ 80000404: c0001073 unimp
+ 80000408: 0000 unimp
+ 8000040a: 0000 unimp
+ 8000040c: 0000 unimp
+ 8000040e: 0000 unimp
+ 80000410: 0000 unimp
+ 80000412: 0000 unimp
+ 80000414: 0000 unimp
+ 80000416: 0000 unimp
+ 80000418: 0000 unimp
+ 8000041a: 0000 unimp
+ 8000041c: 0000 unimp
+ 8000041e: 0000 unimp
+ 80000420: 0000 unimp
+ 80000422: 0000 unimp
+ 80000424: 0000 unimp
+ 80000426: 0000 unimp
+ 80000428: 0000 unimp
+ 8000042a: 0000 unimp
+ 8000042c: 0000 unimp
+ 8000042e: 0000 unimp
+ 80000430: 0000 unimp
+ 80000432: 0000 unimp
+ 80000434: 0000 unimp
+ 80000436: 0000 unimp
+ 80000438: 0000 unimp
+ 8000043a: 0000 unimp
+ 8000043c: 0000 unimp
+ 8000043e: 0000 unimp
+ 80000440: 0000 unimp
+ 80000442: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-sraiw.elf b/test/riscv/tests/rv64ui-p-sraiw.elf
new file mode 100755
index 00000000..34dfe773
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sraiw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sraw.dump b/test/riscv/tests/rv64ui-p-sraw.dump
new file mode 100644
index 00000000..dc65ff46
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sraw.dump
@@ -0,0 +1,538 @@
+
+rv64ui-p-sraw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 800000b7 lui ra,0x80000
+ 80000100: 00000113 li sp,0
+ 80000104: 4020df3b sraw t5,ra,sp
+ 80000108: 80000eb7 lui t4,0x80000
+ 8000010c: 00200193 li gp,2
+ 80000110: 59df1463 bne t5,t4,80000698 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 800000b7 lui ra,0x80000
+ 80000118: 00100113 li sp,1
+ 8000011c: 4020df3b sraw t5,ra,sp
+ 80000120: c0000eb7 lui t4,0xc0000
+ 80000124: 00300193 li gp,3
+ 80000128: 57df1863 bne t5,t4,80000698 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 800000b7 lui ra,0x80000
+ 80000130: 00700113 li sp,7
+ 80000134: 4020df3b sraw t5,ra,sp
+ 80000138: ff000eb7 lui t4,0xff000
+ 8000013c: 00400193 li gp,4
+ 80000140: 55df1c63 bne t5,t4,80000698 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 800000b7 lui ra,0x80000
+ 80000148: 00e00113 li sp,14
+ 8000014c: 4020df3b sraw t5,ra,sp
+ 80000150: fffe0eb7 lui t4,0xfffe0
+ 80000154: 00500193 li gp,5
+ 80000158: 55df1063 bne t5,t4,80000698 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 0010809b addiw ra,ra,1
+ 80000164: 01f00113 li sp,31
+ 80000168: 4020df3b sraw t5,ra,sp
+ 8000016c: fff00e93 li t4,-1
+ 80000170: 00600193 li gp,6
+ 80000174: 53df1263 bne t5,t4,80000698 <fail>
+
+0000000080000178 <test_7>:
+ 80000178: 800000b7 lui ra,0x80000
+ 8000017c: fff0809b addiw ra,ra,-1
+ 80000180: 00000113 li sp,0
+ 80000184: 4020df3b sraw t5,ra,sp
+ 80000188: 80000eb7 lui t4,0x80000
+ 8000018c: fffe8e9b addiw t4,t4,-1
+ 80000190: 00700193 li gp,7
+ 80000194: 51df1263 bne t5,t4,80000698 <fail>
+
+0000000080000198 <test_8>:
+ 80000198: 800000b7 lui ra,0x80000
+ 8000019c: fff0809b addiw ra,ra,-1
+ 800001a0: 00100113 li sp,1
+ 800001a4: 4020df3b sraw t5,ra,sp
+ 800001a8: 40000eb7 lui t4,0x40000
+ 800001ac: fffe8e9b addiw t4,t4,-1
+ 800001b0: 00800193 li gp,8
+ 800001b4: 4fdf1263 bne t5,t4,80000698 <fail>
+
+00000000800001b8 <test_9>:
+ 800001b8: 800000b7 lui ra,0x80000
+ 800001bc: fff0809b addiw ra,ra,-1
+ 800001c0: 00700113 li sp,7
+ 800001c4: 4020df3b sraw t5,ra,sp
+ 800001c8: 01000eb7 lui t4,0x1000
+ 800001cc: fffe8e9b addiw t4,t4,-1
+ 800001d0: 00900193 li gp,9
+ 800001d4: 4ddf1263 bne t5,t4,80000698 <fail>
+
+00000000800001d8 <test_10>:
+ 800001d8: 800000b7 lui ra,0x80000
+ 800001dc: fff0809b addiw ra,ra,-1
+ 800001e0: 00e00113 li sp,14
+ 800001e4: 4020df3b sraw t5,ra,sp
+ 800001e8: 00020eb7 lui t4,0x20
+ 800001ec: fffe8e9b addiw t4,t4,-1
+ 800001f0: 00a00193 li gp,10
+ 800001f4: 4bdf1263 bne t5,t4,80000698 <fail>
+
+00000000800001f8 <test_11>:
+ 800001f8: 800000b7 lui ra,0x80000
+ 800001fc: fff0809b addiw ra,ra,-1
+ 80000200: 01f00113 li sp,31
+ 80000204: 4020df3b sraw t5,ra,sp
+ 80000208: 00000e93 li t4,0
+ 8000020c: 00b00193 li gp,11
+ 80000210: 49df1463 bne t5,t4,80000698 <fail>
+
+0000000080000214 <test_12>:
+ 80000214: 818180b7 lui ra,0x81818
+ 80000218: 1810809b addiw ra,ra,385
+ 8000021c: 00000113 li sp,0
+ 80000220: 4020df3b sraw t5,ra,sp
+ 80000224: 81818eb7 lui t4,0x81818
+ 80000228: 181e8e9b addiw t4,t4,385
+ 8000022c: 00c00193 li gp,12
+ 80000230: 47df1463 bne t5,t4,80000698 <fail>
+
+0000000080000234 <test_13>:
+ 80000234: 818180b7 lui ra,0x81818
+ 80000238: 1810809b addiw ra,ra,385
+ 8000023c: 00100113 li sp,1
+ 80000240: 4020df3b sraw t5,ra,sp
+ 80000244: c0c0ceb7 lui t4,0xc0c0c
+ 80000248: 0c0e8e9b addiw t4,t4,192
+ 8000024c: 00d00193 li gp,13
+ 80000250: 45df1463 bne t5,t4,80000698 <fail>
+
+0000000080000254 <test_14>:
+ 80000254: 818180b7 lui ra,0x81818
+ 80000258: 1810809b addiw ra,ra,385
+ 8000025c: 00700113 li sp,7
+ 80000260: 4020df3b sraw t5,ra,sp
+ 80000264: ff030eb7 lui t4,0xff030
+ 80000268: 303e8e9b addiw t4,t4,771
+ 8000026c: 00e00193 li gp,14
+ 80000270: 43df1463 bne t5,t4,80000698 <fail>
+
+0000000080000274 <test_15>:
+ 80000274: 818180b7 lui ra,0x81818
+ 80000278: 1810809b addiw ra,ra,385
+ 8000027c: 00e00113 li sp,14
+ 80000280: 4020df3b sraw t5,ra,sp
+ 80000284: fffe0eb7 lui t4,0xfffe0
+ 80000288: 606e8e9b addiw t4,t4,1542
+ 8000028c: 00f00193 li gp,15
+ 80000290: 41df1463 bne t5,t4,80000698 <fail>
+
+0000000080000294 <test_16>:
+ 80000294: 818180b7 lui ra,0x81818
+ 80000298: 1810809b addiw ra,ra,385
+ 8000029c: 01f00113 li sp,31
+ 800002a0: 4020df3b sraw t5,ra,sp
+ 800002a4: fff00e93 li t4,-1
+ 800002a8: 01000193 li gp,16
+ 800002ac: 3fdf1663 bne t5,t4,80000698 <fail>
+
+00000000800002b0 <test_17>:
+ 800002b0: 818180b7 lui ra,0x81818
+ 800002b4: 1810809b addiw ra,ra,385
+ 800002b8: fe000113 li sp,-32
+ 800002bc: 4020df3b sraw t5,ra,sp
+ 800002c0: 81818eb7 lui t4,0x81818
+ 800002c4: 181e8e9b addiw t4,t4,385
+ 800002c8: 01100193 li gp,17
+ 800002cc: 3ddf1663 bne t5,t4,80000698 <fail>
+
+00000000800002d0 <test_18>:
+ 800002d0: 818180b7 lui ra,0x81818
+ 800002d4: 1810809b addiw ra,ra,385
+ 800002d8: fe100113 li sp,-31
+ 800002dc: 4020df3b sraw t5,ra,sp
+ 800002e0: c0c0ceb7 lui t4,0xc0c0c
+ 800002e4: 0c0e8e9b addiw t4,t4,192
+ 800002e8: 01200193 li gp,18
+ 800002ec: 3bdf1663 bne t5,t4,80000698 <fail>
+
+00000000800002f0 <test_19>:
+ 800002f0: 818180b7 lui ra,0x81818
+ 800002f4: 1810809b addiw ra,ra,385
+ 800002f8: fe700113 li sp,-25
+ 800002fc: 4020df3b sraw t5,ra,sp
+ 80000300: ff030eb7 lui t4,0xff030
+ 80000304: 303e8e9b addiw t4,t4,771
+ 80000308: 01300193 li gp,19
+ 8000030c: 39df1663 bne t5,t4,80000698 <fail>
+
+0000000080000310 <test_20>:
+ 80000310: 818180b7 lui ra,0x81818
+ 80000314: 1810809b addiw ra,ra,385
+ 80000318: fee00113 li sp,-18
+ 8000031c: 4020df3b sraw t5,ra,sp
+ 80000320: fffe0eb7 lui t4,0xfffe0
+ 80000324: 606e8e9b addiw t4,t4,1542
+ 80000328: 01400193 li gp,20
+ 8000032c: 37df1663 bne t5,t4,80000698 <fail>
+
+0000000080000330 <test_21>:
+ 80000330: 818180b7 lui ra,0x81818
+ 80000334: 1810809b addiw ra,ra,385
+ 80000338: fff00113 li sp,-1
+ 8000033c: 4020df3b sraw t5,ra,sp
+ 80000340: fff00e93 li t4,-1
+ 80000344: 01500193 li gp,21
+ 80000348: 35df1863 bne t5,t4,80000698 <fail>
+
+000000008000034c <test_22>:
+ 8000034c: 800000b7 lui ra,0x80000
+ 80000350: 00700113 li sp,7
+ 80000354: 4020d0bb sraw ra,ra,sp
+ 80000358: ff000eb7 lui t4,0xff000
+ 8000035c: 01600193 li gp,22
+ 80000360: 33d09c63 bne ra,t4,80000698 <fail>
+
+0000000080000364 <test_23>:
+ 80000364: 800000b7 lui ra,0x80000
+ 80000368: 00e00113 li sp,14
+ 8000036c: 4020d13b sraw sp,ra,sp
+ 80000370: fffe0eb7 lui t4,0xfffe0
+ 80000374: 01700193 li gp,23
+ 80000378: 33d11063 bne sp,t4,80000698 <fail>
+
+000000008000037c <test_24>:
+ 8000037c: 00700093 li ra,7
+ 80000380: 4010d0bb sraw ra,ra,ra
+ 80000384: 00000e93 li t4,0
+ 80000388: 01800193 li gp,24
+ 8000038c: 31d09663 bne ra,t4,80000698 <fail>
+
+0000000080000390 <test_25>:
+ 80000390: 00000213 li tp,0
+ 80000394: 800000b7 lui ra,0x80000
+ 80000398: 00700113 li sp,7
+ 8000039c: 4020df3b sraw t5,ra,sp
+ 800003a0: 000f0313 mv t1,t5
+ 800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003a8: 00200293 li t0,2
+ 800003ac: fe5214e3 bne tp,t0,80000394 <test_25+0x4>
+ 800003b0: ff000eb7 lui t4,0xff000
+ 800003b4: 01900193 li gp,25
+ 800003b8: 2fd31063 bne t1,t4,80000698 <fail>
+
+00000000800003bc <test_26>:
+ 800003bc: 00000213 li tp,0
+ 800003c0: 800000b7 lui ra,0x80000
+ 800003c4: 00e00113 li sp,14
+ 800003c8: 4020df3b sraw t5,ra,sp
+ 800003cc: 00000013 nop
+ 800003d0: 000f0313 mv t1,t5
+ 800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003d8: 00200293 li t0,2
+ 800003dc: fe5212e3 bne tp,t0,800003c0 <test_26+0x4>
+ 800003e0: fffe0eb7 lui t4,0xfffe0
+ 800003e4: 01a00193 li gp,26
+ 800003e8: 2bd31863 bne t1,t4,80000698 <fail>
+
+00000000800003ec <test_27>:
+ 800003ec: 00000213 li tp,0
+ 800003f0: 800000b7 lui ra,0x80000
+ 800003f4: 01f00113 li sp,31
+ 800003f8: 4020df3b sraw t5,ra,sp
+ 800003fc: 00000013 nop
+ 80000400: 00000013 nop
+ 80000404: 000f0313 mv t1,t5
+ 80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000040c: 00200293 li t0,2
+ 80000410: fe5210e3 bne tp,t0,800003f0 <test_27+0x4>
+ 80000414: fff00e93 li t4,-1
+ 80000418: 01b00193 li gp,27
+ 8000041c: 27d31e63 bne t1,t4,80000698 <fail>
+
+0000000080000420 <test_28>:
+ 80000420: 00000213 li tp,0
+ 80000424: 800000b7 lui ra,0x80000
+ 80000428: 00700113 li sp,7
+ 8000042c: 4020df3b sraw t5,ra,sp
+ 80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000434: 00200293 li t0,2
+ 80000438: fe5216e3 bne tp,t0,80000424 <test_28+0x4>
+ 8000043c: ff000eb7 lui t4,0xff000
+ 80000440: 01c00193 li gp,28
+ 80000444: 25df1a63 bne t5,t4,80000698 <fail>
+
+0000000080000448 <test_29>:
+ 80000448: 00000213 li tp,0
+ 8000044c: 800000b7 lui ra,0x80000
+ 80000450: 00e00113 li sp,14
+ 80000454: 00000013 nop
+ 80000458: 4020df3b sraw t5,ra,sp
+ 8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000460: 00200293 li t0,2
+ 80000464: fe5214e3 bne tp,t0,8000044c <test_29+0x4>
+ 80000468: fffe0eb7 lui t4,0xfffe0
+ 8000046c: 01d00193 li gp,29
+ 80000470: 23df1463 bne t5,t4,80000698 <fail>
+
+0000000080000474 <test_30>:
+ 80000474: 00000213 li tp,0
+ 80000478: 800000b7 lui ra,0x80000
+ 8000047c: 01f00113 li sp,31
+ 80000480: 00000013 nop
+ 80000484: 00000013 nop
+ 80000488: 4020df3b sraw t5,ra,sp
+ 8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000490: 00200293 li t0,2
+ 80000494: fe5212e3 bne tp,t0,80000478 <test_30+0x4>
+ 80000498: fff00e93 li t4,-1
+ 8000049c: 01e00193 li gp,30
+ 800004a0: 1fdf1c63 bne t5,t4,80000698 <fail>
+
+00000000800004a4 <test_31>:
+ 800004a4: 00000213 li tp,0
+ 800004a8: 800000b7 lui ra,0x80000
+ 800004ac: 00000013 nop
+ 800004b0: 00700113 li sp,7
+ 800004b4: 4020df3b sraw t5,ra,sp
+ 800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004bc: 00200293 li t0,2
+ 800004c0: fe5214e3 bne tp,t0,800004a8 <test_31+0x4>
+ 800004c4: ff000eb7 lui t4,0xff000
+ 800004c8: 01f00193 li gp,31
+ 800004cc: 1ddf1663 bne t5,t4,80000698 <fail>
+
+00000000800004d0 <test_32>:
+ 800004d0: 00000213 li tp,0
+ 800004d4: 800000b7 lui ra,0x80000
+ 800004d8: 00000013 nop
+ 800004dc: 00e00113 li sp,14
+ 800004e0: 00000013 nop
+ 800004e4: 4020df3b sraw t5,ra,sp
+ 800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004ec: 00200293 li t0,2
+ 800004f0: fe5212e3 bne tp,t0,800004d4 <test_32+0x4>
+ 800004f4: fffe0eb7 lui t4,0xfffe0
+ 800004f8: 02000193 li gp,32
+ 800004fc: 19df1e63 bne t5,t4,80000698 <fail>
+
+0000000080000500 <test_33>:
+ 80000500: 00000213 li tp,0
+ 80000504: 800000b7 lui ra,0x80000
+ 80000508: 00000013 nop
+ 8000050c: 00000013 nop
+ 80000510: 01f00113 li sp,31
+ 80000514: 4020df3b sraw t5,ra,sp
+ 80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000051c: 00200293 li t0,2
+ 80000520: fe5212e3 bne tp,t0,80000504 <test_33+0x4>
+ 80000524: fff00e93 li t4,-1
+ 80000528: 02100193 li gp,33
+ 8000052c: 17df1663 bne t5,t4,80000698 <fail>
+
+0000000080000530 <test_34>:
+ 80000530: 00000213 li tp,0
+ 80000534: 00700113 li sp,7
+ 80000538: 800000b7 lui ra,0x80000
+ 8000053c: 4020df3b sraw t5,ra,sp
+ 80000540: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000544: 00200293 li t0,2
+ 80000548: fe5216e3 bne tp,t0,80000534 <test_34+0x4>
+ 8000054c: ff000eb7 lui t4,0xff000
+ 80000550: 02200193 li gp,34
+ 80000554: 15df1263 bne t5,t4,80000698 <fail>
+
+0000000080000558 <test_35>:
+ 80000558: 00000213 li tp,0
+ 8000055c: 00e00113 li sp,14
+ 80000560: 800000b7 lui ra,0x80000
+ 80000564: 00000013 nop
+ 80000568: 4020df3b sraw t5,ra,sp
+ 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000570: 00200293 li t0,2
+ 80000574: fe5214e3 bne tp,t0,8000055c <test_35+0x4>
+ 80000578: fffe0eb7 lui t4,0xfffe0
+ 8000057c: 02300193 li gp,35
+ 80000580: 11df1c63 bne t5,t4,80000698 <fail>
+
+0000000080000584 <test_36>:
+ 80000584: 00000213 li tp,0
+ 80000588: 01f00113 li sp,31
+ 8000058c: 800000b7 lui ra,0x80000
+ 80000590: 00000013 nop
+ 80000594: 00000013 nop
+ 80000598: 4020df3b sraw t5,ra,sp
+ 8000059c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005a0: 00200293 li t0,2
+ 800005a4: fe5212e3 bne tp,t0,80000588 <test_36+0x4>
+ 800005a8: fff00e93 li t4,-1
+ 800005ac: 02400193 li gp,36
+ 800005b0: 0fdf1463 bne t5,t4,80000698 <fail>
+
+00000000800005b4 <test_37>:
+ 800005b4: 00000213 li tp,0
+ 800005b8: 00700113 li sp,7
+ 800005bc: 00000013 nop
+ 800005c0: 800000b7 lui ra,0x80000
+ 800005c4: 4020df3b sraw t5,ra,sp
+ 800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005cc: 00200293 li t0,2
+ 800005d0: fe5214e3 bne tp,t0,800005b8 <test_37+0x4>
+ 800005d4: ff000eb7 lui t4,0xff000
+ 800005d8: 02500193 li gp,37
+ 800005dc: 0bdf1e63 bne t5,t4,80000698 <fail>
+
+00000000800005e0 <test_38>:
+ 800005e0: 00000213 li tp,0
+ 800005e4: 00e00113 li sp,14
+ 800005e8: 00000013 nop
+ 800005ec: 800000b7 lui ra,0x80000
+ 800005f0: 00000013 nop
+ 800005f4: 4020df3b sraw t5,ra,sp
+ 800005f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005fc: 00200293 li t0,2
+ 80000600: fe5212e3 bne tp,t0,800005e4 <test_38+0x4>
+ 80000604: fffe0eb7 lui t4,0xfffe0
+ 80000608: 02600193 li gp,38
+ 8000060c: 09df1663 bne t5,t4,80000698 <fail>
+
+0000000080000610 <test_39>:
+ 80000610: 00000213 li tp,0
+ 80000614: 01f00113 li sp,31
+ 80000618: 00000013 nop
+ 8000061c: 00000013 nop
+ 80000620: 800000b7 lui ra,0x80000
+ 80000624: 4020df3b sraw t5,ra,sp
+ 80000628: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000062c: 00200293 li t0,2
+ 80000630: fe5212e3 bne tp,t0,80000614 <test_39+0x4>
+ 80000634: fff00e93 li t4,-1
+ 80000638: 02700193 li gp,39
+ 8000063c: 05df1e63 bne t5,t4,80000698 <fail>
+
+0000000080000640 <test_40>:
+ 80000640: 00f00093 li ra,15
+ 80000644: 4010513b sraw sp,zero,ra
+ 80000648: 00000e93 li t4,0
+ 8000064c: 02800193 li gp,40
+ 80000650: 05d11463 bne sp,t4,80000698 <fail>
+
+0000000080000654 <test_41>:
+ 80000654: 02000093 li ra,32
+ 80000658: 4000d13b sraw sp,ra,zero
+ 8000065c: 02000e93 li t4,32
+ 80000660: 02900193 li gp,41
+ 80000664: 03d11a63 bne sp,t4,80000698 <fail>
+
+0000000080000668 <test_42>:
+ 80000668: 400050bb sraw ra,zero,zero
+ 8000066c: 00000e93 li t4,0
+ 80000670: 02a00193 li gp,42
+ 80000674: 03d09263 bne ra,t4,80000698 <fail>
+
+0000000080000678 <test_43>:
+ 80000678: 40000093 li ra,1024
+ 8000067c: 00001137 lui sp,0x1
+ 80000680: 8001011b addiw sp,sp,-2048
+ 80000684: 4020d03b sraw zero,ra,sp
+ 80000688: 00000e93 li t4,0
+ 8000068c: 02b00193 li gp,43
+ 80000690: 01d01463 bne zero,t4,80000698 <fail>
+ 80000694: 00301c63 bne zero,gp,800006ac <pass>
+
+0000000080000698 <fail>:
+ 80000698: 0ff0000f fence
+ 8000069c: 00018063 beqz gp,8000069c <fail+0x4>
+ 800006a0: 00119193 slli gp,gp,0x1
+ 800006a4: 0011e193 ori gp,gp,1
+ 800006a8: 00000073 ecall
+
+00000000800006ac <pass>:
+ 800006ac: 0ff0000f fence
+ 800006b0: 00100193 li gp,1
+ 800006b4: 00000073 ecall
+ 800006b8: c0001073 unimp
+ 800006bc: 0000 unimp
+ 800006be: 0000 unimp
+ 800006c0: 0000 unimp
+ 800006c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-sraw.elf b/test/riscv/tests/rv64ui-p-sraw.elf
new file mode 100755
index 00000000..ec7baca6
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sraw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-srl.dump b/test/riscv/tests/rv64ui-p-srl.dump
new file mode 100644
index 00000000..314069ff
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-srl.dump
@@ -0,0 +1,575 @@
+
+rv64ui-p-srl: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 800000b7 lui ra,0x80000
+ 80000100: 00000113 li sp,0
+ 80000104: 0020df33 srl t5,ra,sp
+ 80000108: 80000eb7 lui t4,0x80000
+ 8000010c: 00200193 li gp,2
+ 80000110: 5fdf1a63 bne t5,t4,80000704 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 800000b7 lui ra,0x80000
+ 80000118: 00100113 li sp,1
+ 8000011c: 0020df33 srl t5,ra,sp
+ 80000120: 00100e9b addiw t4,zero,1
+ 80000124: 021e9e93 slli t4,t4,0x21
+ 80000128: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffdfff>
+ 8000012c: 01ee9e93 slli t4,t4,0x1e
+ 80000130: 00300193 li gp,3
+ 80000134: 5ddf1863 bne t5,t4,80000704 <fail>
+
+0000000080000138 <test_4>:
+ 80000138: 800000b7 lui ra,0x80000
+ 8000013c: 00700113 li sp,7
+ 80000140: 0020df33 srl t5,ra,sp
+ 80000144: 00100e9b addiw t4,zero,1
+ 80000148: 021e9e93 slli t4,t4,0x21
+ 8000014c: fffe8e93 addi t4,t4,-1
+ 80000150: 018e9e93 slli t4,t4,0x18
+ 80000154: 00400193 li gp,4
+ 80000158: 5bdf1663 bne t5,t4,80000704 <fail>
+
+000000008000015c <test_5>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00e00113 li sp,14
+ 80000164: 0020df33 srl t5,ra,sp
+ 80000168: 00100e9b addiw t4,zero,1
+ 8000016c: 021e9e93 slli t4,t4,0x21
+ 80000170: fffe8e93 addi t4,t4,-1
+ 80000174: 011e9e93 slli t4,t4,0x11
+ 80000178: 00500193 li gp,5
+ 8000017c: 59df1463 bne t5,t4,80000704 <fail>
+
+0000000080000180 <test_6>:
+ 80000180: 800000b7 lui ra,0x80000
+ 80000184: 0010809b addiw ra,ra,1
+ 80000188: 01f00113 li sp,31
+ 8000018c: 0020df33 srl t5,ra,sp
+ 80000190: 00100e9b addiw t4,zero,1
+ 80000194: 021e9e93 slli t4,t4,0x21
+ 80000198: fffe8e93 addi t4,t4,-1
+ 8000019c: 00600193 li gp,6
+ 800001a0: 57df1263 bne t5,t4,80000704 <fail>
+
+00000000800001a4 <test_7>:
+ 800001a4: fff00093 li ra,-1
+ 800001a8: 00000113 li sp,0
+ 800001ac: 0020df33 srl t5,ra,sp
+ 800001b0: fff00e93 li t4,-1
+ 800001b4: 00700193 li gp,7
+ 800001b8: 55df1663 bne t5,t4,80000704 <fail>
+
+00000000800001bc <test_8>:
+ 800001bc: fff00093 li ra,-1
+ 800001c0: 00100113 li sp,1
+ 800001c4: 0020df33 srl t5,ra,sp
+ 800001c8: fff00e9b addiw t4,zero,-1
+ 800001cc: 03fe9e93 slli t4,t4,0x3f
+ 800001d0: fffe8e93 addi t4,t4,-1
+ 800001d4: 00800193 li gp,8
+ 800001d8: 53df1663 bne t5,t4,80000704 <fail>
+
+00000000800001dc <test_9>:
+ 800001dc: fff00093 li ra,-1
+ 800001e0: 00700113 li sp,7
+ 800001e4: 0020df33 srl t5,ra,sp
+ 800001e8: 00100e9b addiw t4,zero,1
+ 800001ec: 039e9e93 slli t4,t4,0x39
+ 800001f0: fffe8e93 addi t4,t4,-1
+ 800001f4: 00900193 li gp,9
+ 800001f8: 51df1663 bne t5,t4,80000704 <fail>
+
+00000000800001fc <test_10>:
+ 800001fc: fff00093 li ra,-1
+ 80000200: 00e00113 li sp,14
+ 80000204: 0020df33 srl t5,ra,sp
+ 80000208: 00100e9b addiw t4,zero,1
+ 8000020c: 032e9e93 slli t4,t4,0x32
+ 80000210: fffe8e93 addi t4,t4,-1
+ 80000214: 00a00193 li gp,10
+ 80000218: 4fdf1663 bne t5,t4,80000704 <fail>
+
+000000008000021c <test_11>:
+ 8000021c: fff00093 li ra,-1
+ 80000220: 01f00113 li sp,31
+ 80000224: 0020df33 srl t5,ra,sp
+ 80000228: 00100e9b addiw t4,zero,1
+ 8000022c: 021e9e93 slli t4,t4,0x21
+ 80000230: fffe8e93 addi t4,t4,-1
+ 80000234: 00b00193 li gp,11
+ 80000238: 4ddf1663 bne t5,t4,80000704 <fail>
+
+000000008000023c <test_12>:
+ 8000023c: 212120b7 lui ra,0x21212
+ 80000240: 1210809b addiw ra,ra,289
+ 80000244: 00000113 li sp,0
+ 80000248: 0020df33 srl t5,ra,sp
+ 8000024c: 21212eb7 lui t4,0x21212
+ 80000250: 121e8e9b addiw t4,t4,289
+ 80000254: 00c00193 li gp,12
+ 80000258: 4bdf1663 bne t5,t4,80000704 <fail>
+
+000000008000025c <test_13>:
+ 8000025c: 212120b7 lui ra,0x21212
+ 80000260: 1210809b addiw ra,ra,289
+ 80000264: 00100113 li sp,1
+ 80000268: 0020df33 srl t5,ra,sp
+ 8000026c: 10909eb7 lui t4,0x10909
+ 80000270: 090e8e9b addiw t4,t4,144
+ 80000274: 00d00193 li gp,13
+ 80000278: 49df1663 bne t5,t4,80000704 <fail>
+
+000000008000027c <test_14>:
+ 8000027c: 212120b7 lui ra,0x21212
+ 80000280: 1210809b addiw ra,ra,289
+ 80000284: 00700113 li sp,7
+ 80000288: 0020df33 srl t5,ra,sp
+ 8000028c: 00424eb7 lui t4,0x424
+ 80000290: 242e8e9b addiw t4,t4,578
+ 80000294: 00e00193 li gp,14
+ 80000298: 47df1663 bne t5,t4,80000704 <fail>
+
+000000008000029c <test_15>:
+ 8000029c: 212120b7 lui ra,0x21212
+ 800002a0: 1210809b addiw ra,ra,289
+ 800002a4: 00e00113 li sp,14
+ 800002a8: 0020df33 srl t5,ra,sp
+ 800002ac: 00008eb7 lui t4,0x8
+ 800002b0: 484e8e9b addiw t4,t4,1156
+ 800002b4: 00f00193 li gp,15
+ 800002b8: 45df1663 bne t5,t4,80000704 <fail>
+
+00000000800002bc <test_16>:
+ 800002bc: 212120b7 lui ra,0x21212
+ 800002c0: 1210809b addiw ra,ra,289
+ 800002c4: 01f00113 li sp,31
+ 800002c8: 0020df33 srl t5,ra,sp
+ 800002cc: 00000e93 li t4,0
+ 800002d0: 01000193 li gp,16
+ 800002d4: 43df1863 bne t5,t4,80000704 <fail>
+
+00000000800002d8 <test_17>:
+ 800002d8: 212120b7 lui ra,0x21212
+ 800002dc: 1210809b addiw ra,ra,289
+ 800002e0: fc000113 li sp,-64
+ 800002e4: 0020df33 srl t5,ra,sp
+ 800002e8: 21212eb7 lui t4,0x21212
+ 800002ec: 121e8e9b addiw t4,t4,289
+ 800002f0: 01100193 li gp,17
+ 800002f4: 41df1863 bne t5,t4,80000704 <fail>
+
+00000000800002f8 <test_18>:
+ 800002f8: 212120b7 lui ra,0x21212
+ 800002fc: 1210809b addiw ra,ra,289
+ 80000300: fc100113 li sp,-63
+ 80000304: 0020df33 srl t5,ra,sp
+ 80000308: 10909eb7 lui t4,0x10909
+ 8000030c: 090e8e9b addiw t4,t4,144
+ 80000310: 01200193 li gp,18
+ 80000314: 3fdf1863 bne t5,t4,80000704 <fail>
+
+0000000080000318 <test_19>:
+ 80000318: 212120b7 lui ra,0x21212
+ 8000031c: 1210809b addiw ra,ra,289
+ 80000320: fc700113 li sp,-57
+ 80000324: 0020df33 srl t5,ra,sp
+ 80000328: 00424eb7 lui t4,0x424
+ 8000032c: 242e8e9b addiw t4,t4,578
+ 80000330: 01300193 li gp,19
+ 80000334: 3ddf1863 bne t5,t4,80000704 <fail>
+
+0000000080000338 <test_20>:
+ 80000338: 212120b7 lui ra,0x21212
+ 8000033c: 1210809b addiw ra,ra,289
+ 80000340: fce00113 li sp,-50
+ 80000344: 0020df33 srl t5,ra,sp
+ 80000348: 00008eb7 lui t4,0x8
+ 8000034c: 484e8e9b addiw t4,t4,1156
+ 80000350: 01400193 li gp,20
+ 80000354: 3bdf1863 bne t5,t4,80000704 <fail>
+
+0000000080000358 <test_21>:
+ 80000358: 212120b7 lui ra,0x21212
+ 8000035c: 1210809b addiw ra,ra,289
+ 80000360: fff00113 li sp,-1
+ 80000364: 0020df33 srl t5,ra,sp
+ 80000368: 00000e93 li t4,0
+ 8000036c: 01500193 li gp,21
+ 80000370: 39df1a63 bne t5,t4,80000704 <fail>
+
+0000000080000374 <test_22>:
+ 80000374: 0010009b addiw ra,zero,1
+ 80000378: 01f09093 slli ra,ra,0x1f
+ 8000037c: 00700113 li sp,7
+ 80000380: 0020d0b3 srl ra,ra,sp
+ 80000384: 01000eb7 lui t4,0x1000
+ 80000388: 01600193 li gp,22
+ 8000038c: 37d09c63 bne ra,t4,80000704 <fail>
+
+0000000080000390 <test_23>:
+ 80000390: 0010009b addiw ra,zero,1
+ 80000394: 01f09093 slli ra,ra,0x1f
+ 80000398: 00e00113 li sp,14
+ 8000039c: 0020d133 srl sp,ra,sp
+ 800003a0: 00020eb7 lui t4,0x20
+ 800003a4: 01700193 li gp,23
+ 800003a8: 35d11e63 bne sp,t4,80000704 <fail>
+
+00000000800003ac <test_24>:
+ 800003ac: 00700093 li ra,7
+ 800003b0: 0010d0b3 srl ra,ra,ra
+ 800003b4: 00000e93 li t4,0
+ 800003b8: 01800193 li gp,24
+ 800003bc: 35d09463 bne ra,t4,80000704 <fail>
+
+00000000800003c0 <test_25>:
+ 800003c0: 00000213 li tp,0
+ 800003c4: 0010009b addiw ra,zero,1
+ 800003c8: 01f09093 slli ra,ra,0x1f
+ 800003cc: 00700113 li sp,7
+ 800003d0: 0020df33 srl t5,ra,sp
+ 800003d4: 000f0313 mv t1,t5
+ 800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003dc: 00200293 li t0,2
+ 800003e0: fe5212e3 bne tp,t0,800003c4 <test_25+0x4>
+ 800003e4: 01000eb7 lui t4,0x1000
+ 800003e8: 01900193 li gp,25
+ 800003ec: 31d31c63 bne t1,t4,80000704 <fail>
+
+00000000800003f0 <test_26>:
+ 800003f0: 00000213 li tp,0
+ 800003f4: 0010009b addiw ra,zero,1
+ 800003f8: 01f09093 slli ra,ra,0x1f
+ 800003fc: 00e00113 li sp,14
+ 80000400: 0020df33 srl t5,ra,sp
+ 80000404: 00000013 nop
+ 80000408: 000f0313 mv t1,t5
+ 8000040c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000410: 00200293 li t0,2
+ 80000414: fe5210e3 bne tp,t0,800003f4 <test_26+0x4>
+ 80000418: 00020eb7 lui t4,0x20
+ 8000041c: 01a00193 li gp,26
+ 80000420: 2fd31263 bne t1,t4,80000704 <fail>
+
+0000000080000424 <test_27>:
+ 80000424: 00000213 li tp,0
+ 80000428: 0010009b addiw ra,zero,1
+ 8000042c: 01f09093 slli ra,ra,0x1f
+ 80000430: 01f00113 li sp,31
+ 80000434: 0020df33 srl t5,ra,sp
+ 80000438: 00000013 nop
+ 8000043c: 00000013 nop
+ 80000440: 000f0313 mv t1,t5
+ 80000444: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000448: 00200293 li t0,2
+ 8000044c: fc521ee3 bne tp,t0,80000428 <test_27+0x4>
+ 80000450: 00100e93 li t4,1
+ 80000454: 01b00193 li gp,27
+ 80000458: 2bd31663 bne t1,t4,80000704 <fail>
+
+000000008000045c <test_28>:
+ 8000045c: 00000213 li tp,0
+ 80000460: 0010009b addiw ra,zero,1
+ 80000464: 01f09093 slli ra,ra,0x1f
+ 80000468: 00700113 li sp,7
+ 8000046c: 0020df33 srl t5,ra,sp
+ 80000470: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000474: 00200293 li t0,2
+ 80000478: fe5214e3 bne tp,t0,80000460 <test_28+0x4>
+ 8000047c: 01000eb7 lui t4,0x1000
+ 80000480: 01c00193 li gp,28
+ 80000484: 29df1063 bne t5,t4,80000704 <fail>
+
+0000000080000488 <test_29>:
+ 80000488: 00000213 li tp,0
+ 8000048c: 0010009b addiw ra,zero,1
+ 80000490: 01f09093 slli ra,ra,0x1f
+ 80000494: 00e00113 li sp,14
+ 80000498: 00000013 nop
+ 8000049c: 0020df33 srl t5,ra,sp
+ 800004a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004a4: 00200293 li t0,2
+ 800004a8: fe5212e3 bne tp,t0,8000048c <test_29+0x4>
+ 800004ac: 00020eb7 lui t4,0x20
+ 800004b0: 01d00193 li gp,29
+ 800004b4: 25df1863 bne t5,t4,80000704 <fail>
+
+00000000800004b8 <test_30>:
+ 800004b8: 00000213 li tp,0
+ 800004bc: 0010009b addiw ra,zero,1
+ 800004c0: 01f09093 slli ra,ra,0x1f
+ 800004c4: 01f00113 li sp,31
+ 800004c8: 00000013 nop
+ 800004cc: 00000013 nop
+ 800004d0: 0020df33 srl t5,ra,sp
+ 800004d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004d8: 00200293 li t0,2
+ 800004dc: fe5210e3 bne tp,t0,800004bc <test_30+0x4>
+ 800004e0: 00100e93 li t4,1
+ 800004e4: 01e00193 li gp,30
+ 800004e8: 21df1e63 bne t5,t4,80000704 <fail>
+
+00000000800004ec <test_31>:
+ 800004ec: 00000213 li tp,0
+ 800004f0: 0010009b addiw ra,zero,1
+ 800004f4: 01f09093 slli ra,ra,0x1f
+ 800004f8: 00000013 nop
+ 800004fc: 00700113 li sp,7
+ 80000500: 0020df33 srl t5,ra,sp
+ 80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000508: 00200293 li t0,2
+ 8000050c: fe5212e3 bne tp,t0,800004f0 <test_31+0x4>
+ 80000510: 01000eb7 lui t4,0x1000
+ 80000514: 01f00193 li gp,31
+ 80000518: 1fdf1663 bne t5,t4,80000704 <fail>
+
+000000008000051c <test_32>:
+ 8000051c: 00000213 li tp,0
+ 80000520: 0010009b addiw ra,zero,1
+ 80000524: 01f09093 slli ra,ra,0x1f
+ 80000528: 00000013 nop
+ 8000052c: 00e00113 li sp,14
+ 80000530: 00000013 nop
+ 80000534: 0020df33 srl t5,ra,sp
+ 80000538: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000053c: 00200293 li t0,2
+ 80000540: fe5210e3 bne tp,t0,80000520 <test_32+0x4>
+ 80000544: 00020eb7 lui t4,0x20
+ 80000548: 02000193 li gp,32
+ 8000054c: 1bdf1c63 bne t5,t4,80000704 <fail>
+
+0000000080000550 <test_33>:
+ 80000550: 00000213 li tp,0
+ 80000554: 0010009b addiw ra,zero,1
+ 80000558: 01f09093 slli ra,ra,0x1f
+ 8000055c: 00000013 nop
+ 80000560: 00000013 nop
+ 80000564: 01f00113 li sp,31
+ 80000568: 0020df33 srl t5,ra,sp
+ 8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000570: 00200293 li t0,2
+ 80000574: fe5210e3 bne tp,t0,80000554 <test_33+0x4>
+ 80000578: 00100e93 li t4,1
+ 8000057c: 02100193 li gp,33
+ 80000580: 19df1263 bne t5,t4,80000704 <fail>
+
+0000000080000584 <test_34>:
+ 80000584: 00000213 li tp,0
+ 80000588: 00700113 li sp,7
+ 8000058c: 0010009b addiw ra,zero,1
+ 80000590: 01f09093 slli ra,ra,0x1f
+ 80000594: 0020df33 srl t5,ra,sp
+ 80000598: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000059c: 00200293 li t0,2
+ 800005a0: fe5214e3 bne tp,t0,80000588 <test_34+0x4>
+ 800005a4: 01000eb7 lui t4,0x1000
+ 800005a8: 02200193 li gp,34
+ 800005ac: 15df1c63 bne t5,t4,80000704 <fail>
+
+00000000800005b0 <test_35>:
+ 800005b0: 00000213 li tp,0
+ 800005b4: 00e00113 li sp,14
+ 800005b8: 0010009b addiw ra,zero,1
+ 800005bc: 01f09093 slli ra,ra,0x1f
+ 800005c0: 00000013 nop
+ 800005c4: 0020df33 srl t5,ra,sp
+ 800005c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005cc: 00200293 li t0,2
+ 800005d0: fe5212e3 bne tp,t0,800005b4 <test_35+0x4>
+ 800005d4: 00020eb7 lui t4,0x20
+ 800005d8: 02300193 li gp,35
+ 800005dc: 13df1463 bne t5,t4,80000704 <fail>
+
+00000000800005e0 <test_36>:
+ 800005e0: 00000213 li tp,0
+ 800005e4: 01f00113 li sp,31
+ 800005e8: 0010009b addiw ra,zero,1
+ 800005ec: 01f09093 slli ra,ra,0x1f
+ 800005f0: 00000013 nop
+ 800005f4: 00000013 nop
+ 800005f8: 0020df33 srl t5,ra,sp
+ 800005fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000600: 00200293 li t0,2
+ 80000604: fe5210e3 bne tp,t0,800005e4 <test_36+0x4>
+ 80000608: 00100e93 li t4,1
+ 8000060c: 02400193 li gp,36
+ 80000610: 0fdf1a63 bne t5,t4,80000704 <fail>
+
+0000000080000614 <test_37>:
+ 80000614: 00000213 li tp,0
+ 80000618: 00700113 li sp,7
+ 8000061c: 00000013 nop
+ 80000620: 0010009b addiw ra,zero,1
+ 80000624: 01f09093 slli ra,ra,0x1f
+ 80000628: 0020df33 srl t5,ra,sp
+ 8000062c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000630: 00200293 li t0,2
+ 80000634: fe5212e3 bne tp,t0,80000618 <test_37+0x4>
+ 80000638: 01000eb7 lui t4,0x1000
+ 8000063c: 02500193 li gp,37
+ 80000640: 0ddf1263 bne t5,t4,80000704 <fail>
+
+0000000080000644 <test_38>:
+ 80000644: 00000213 li tp,0
+ 80000648: 00e00113 li sp,14
+ 8000064c: 00000013 nop
+ 80000650: 0010009b addiw ra,zero,1
+ 80000654: 01f09093 slli ra,ra,0x1f
+ 80000658: 00000013 nop
+ 8000065c: 0020df33 srl t5,ra,sp
+ 80000660: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000664: 00200293 li t0,2
+ 80000668: fe5210e3 bne tp,t0,80000648 <test_38+0x4>
+ 8000066c: 00020eb7 lui t4,0x20
+ 80000670: 02600193 li gp,38
+ 80000674: 09df1863 bne t5,t4,80000704 <fail>
+
+0000000080000678 <test_39>:
+ 80000678: 00000213 li tp,0
+ 8000067c: 01f00113 li sp,31
+ 80000680: 00000013 nop
+ 80000684: 00000013 nop
+ 80000688: 0010009b addiw ra,zero,1
+ 8000068c: 01f09093 slli ra,ra,0x1f
+ 80000690: 0020df33 srl t5,ra,sp
+ 80000694: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000698: 00200293 li t0,2
+ 8000069c: fe5210e3 bne tp,t0,8000067c <test_39+0x4>
+ 800006a0: 00100e93 li t4,1
+ 800006a4: 02700193 li gp,39
+ 800006a8: 05df1e63 bne t5,t4,80000704 <fail>
+
+00000000800006ac <test_40>:
+ 800006ac: 00f00093 li ra,15
+ 800006b0: 00105133 srl sp,zero,ra
+ 800006b4: 00000e93 li t4,0
+ 800006b8: 02800193 li gp,40
+ 800006bc: 05d11463 bne sp,t4,80000704 <fail>
+
+00000000800006c0 <test_41>:
+ 800006c0: 02000093 li ra,32
+ 800006c4: 0000d133 srl sp,ra,zero
+ 800006c8: 02000e93 li t4,32
+ 800006cc: 02900193 li gp,41
+ 800006d0: 03d11a63 bne sp,t4,80000704 <fail>
+
+00000000800006d4 <test_42>:
+ 800006d4: 000050b3 srl ra,zero,zero
+ 800006d8: 00000e93 li t4,0
+ 800006dc: 02a00193 li gp,42
+ 800006e0: 03d09263 bne ra,t4,80000704 <fail>
+
+00000000800006e4 <test_43>:
+ 800006e4: 40000093 li ra,1024
+ 800006e8: 00001137 lui sp,0x1
+ 800006ec: 8001011b addiw sp,sp,-2048
+ 800006f0: 0020d033 srl zero,ra,sp
+ 800006f4: 00000e93 li t4,0
+ 800006f8: 02b00193 li gp,43
+ 800006fc: 01d01463 bne zero,t4,80000704 <fail>
+ 80000700: 00301c63 bne zero,gp,80000718 <pass>
+
+0000000080000704 <fail>:
+ 80000704: 0ff0000f fence
+ 80000708: 00018063 beqz gp,80000708 <fail+0x4>
+ 8000070c: 00119193 slli gp,gp,0x1
+ 80000710: 0011e193 ori gp,gp,1
+ 80000714: 00000073 ecall
+
+0000000080000718 <pass>:
+ 80000718: 0ff0000f fence
+ 8000071c: 00100193 li gp,1
+ 80000720: 00000073 ecall
+ 80000724: c0001073 unimp
+ 80000728: 0000 unimp
+ 8000072a: 0000 unimp
+ 8000072c: 0000 unimp
+ 8000072e: 0000 unimp
+ 80000730: 0000 unimp
+ 80000732: 0000 unimp
+ 80000734: 0000 unimp
+ 80000736: 0000 unimp
+ 80000738: 0000 unimp
+ 8000073a: 0000 unimp
+ 8000073c: 0000 unimp
+ 8000073e: 0000 unimp
+ 80000740: 0000 unimp
+ 80000742: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-srl.elf b/test/riscv/tests/rv64ui-p-srl.elf
new file mode 100755
index 00000000..2da2e0ba
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-srl.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-srli.dump b/test/riscv/tests/rv64ui-p-srli.dump
new file mode 100644
index 00000000..bcb2df7a
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-srli.dump
@@ -0,0 +1,350 @@
+
+rv64ui-p-srli: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 800000b7 lui ra,0x80000
+ 80000100: 0000df13 srli t5,ra,0x0
+ 80000104: 80000eb7 lui t4,0x80000
+ 80000108: 00200193 li gp,2
+ 8000010c: 2fdf1663 bne t5,t4,800003f8 <fail>
+
+0000000080000110 <test_3>:
+ 80000110: 800000b7 lui ra,0x80000
+ 80000114: 0010df13 srli t5,ra,0x1
+ 80000118: 00100e9b addiw t4,zero,1
+ 8000011c: 021e9e93 slli t4,t4,0x21
+ 80000120: fffe8e93 addi t4,t4,-1 # ffffffff7fffffff <_end+0xfffffffeffffdfff>
+ 80000124: 01ee9e93 slli t4,t4,0x1e
+ 80000128: 00300193 li gp,3
+ 8000012c: 2ddf1663 bne t5,t4,800003f8 <fail>
+
+0000000080000130 <test_4>:
+ 80000130: 800000b7 lui ra,0x80000
+ 80000134: 0070df13 srli t5,ra,0x7
+ 80000138: 00100e9b addiw t4,zero,1
+ 8000013c: 021e9e93 slli t4,t4,0x21
+ 80000140: fffe8e93 addi t4,t4,-1
+ 80000144: 018e9e93 slli t4,t4,0x18
+ 80000148: 00400193 li gp,4
+ 8000014c: 2bdf1663 bne t5,t4,800003f8 <fail>
+
+0000000080000150 <test_5>:
+ 80000150: 800000b7 lui ra,0x80000
+ 80000154: 00e0df13 srli t5,ra,0xe
+ 80000158: 00100e9b addiw t4,zero,1
+ 8000015c: 021e9e93 slli t4,t4,0x21
+ 80000160: fffe8e93 addi t4,t4,-1
+ 80000164: 011e9e93 slli t4,t4,0x11
+ 80000168: 00500193 li gp,5
+ 8000016c: 29df1663 bne t5,t4,800003f8 <fail>
+
+0000000080000170 <test_6>:
+ 80000170: 800000b7 lui ra,0x80000
+ 80000174: 0010809b addiw ra,ra,1
+ 80000178: 01f0df13 srli t5,ra,0x1f
+ 8000017c: 00100e9b addiw t4,zero,1
+ 80000180: 021e9e93 slli t4,t4,0x21
+ 80000184: fffe8e93 addi t4,t4,-1
+ 80000188: 00600193 li gp,6
+ 8000018c: 27df1663 bne t5,t4,800003f8 <fail>
+
+0000000080000190 <test_7>:
+ 80000190: fff00093 li ra,-1
+ 80000194: 0000df13 srli t5,ra,0x0
+ 80000198: fff00e93 li t4,-1
+ 8000019c: 00700193 li gp,7
+ 800001a0: 25df1c63 bne t5,t4,800003f8 <fail>
+
+00000000800001a4 <test_8>:
+ 800001a4: fff00093 li ra,-1
+ 800001a8: 0010df13 srli t5,ra,0x1
+ 800001ac: fff00e9b addiw t4,zero,-1
+ 800001b0: 03fe9e93 slli t4,t4,0x3f
+ 800001b4: fffe8e93 addi t4,t4,-1
+ 800001b8: 00800193 li gp,8
+ 800001bc: 23df1e63 bne t5,t4,800003f8 <fail>
+
+00000000800001c0 <test_9>:
+ 800001c0: fff00093 li ra,-1
+ 800001c4: 0070df13 srli t5,ra,0x7
+ 800001c8: 00100e9b addiw t4,zero,1
+ 800001cc: 039e9e93 slli t4,t4,0x39
+ 800001d0: fffe8e93 addi t4,t4,-1
+ 800001d4: 00900193 li gp,9
+ 800001d8: 23df1063 bne t5,t4,800003f8 <fail>
+
+00000000800001dc <test_10>:
+ 800001dc: fff00093 li ra,-1
+ 800001e0: 00e0df13 srli t5,ra,0xe
+ 800001e4: 00100e9b addiw t4,zero,1
+ 800001e8: 032e9e93 slli t4,t4,0x32
+ 800001ec: fffe8e93 addi t4,t4,-1
+ 800001f0: 00a00193 li gp,10
+ 800001f4: 21df1263 bne t5,t4,800003f8 <fail>
+
+00000000800001f8 <test_11>:
+ 800001f8: fff00093 li ra,-1
+ 800001fc: 01f0df13 srli t5,ra,0x1f
+ 80000200: 00100e9b addiw t4,zero,1
+ 80000204: 021e9e93 slli t4,t4,0x21
+ 80000208: fffe8e93 addi t4,t4,-1
+ 8000020c: 00b00193 li gp,11
+ 80000210: 1fdf1463 bne t5,t4,800003f8 <fail>
+
+0000000080000214 <test_12>:
+ 80000214: 212120b7 lui ra,0x21212
+ 80000218: 1210809b addiw ra,ra,289
+ 8000021c: 0000df13 srli t5,ra,0x0
+ 80000220: 21212eb7 lui t4,0x21212
+ 80000224: 121e8e9b addiw t4,t4,289
+ 80000228: 00c00193 li gp,12
+ 8000022c: 1ddf1663 bne t5,t4,800003f8 <fail>
+
+0000000080000230 <test_13>:
+ 80000230: 212120b7 lui ra,0x21212
+ 80000234: 1210809b addiw ra,ra,289
+ 80000238: 0010df13 srli t5,ra,0x1
+ 8000023c: 10909eb7 lui t4,0x10909
+ 80000240: 090e8e9b addiw t4,t4,144
+ 80000244: 00d00193 li gp,13
+ 80000248: 1bdf1863 bne t5,t4,800003f8 <fail>
+
+000000008000024c <test_14>:
+ 8000024c: 212120b7 lui ra,0x21212
+ 80000250: 1210809b addiw ra,ra,289
+ 80000254: 0070df13 srli t5,ra,0x7
+ 80000258: 00424eb7 lui t4,0x424
+ 8000025c: 242e8e9b addiw t4,t4,578
+ 80000260: 00e00193 li gp,14
+ 80000264: 19df1a63 bne t5,t4,800003f8 <fail>
+
+0000000080000268 <test_15>:
+ 80000268: 212120b7 lui ra,0x21212
+ 8000026c: 1210809b addiw ra,ra,289
+ 80000270: 00e0df13 srli t5,ra,0xe
+ 80000274: 00008eb7 lui t4,0x8
+ 80000278: 484e8e9b addiw t4,t4,1156
+ 8000027c: 00f00193 li gp,15
+ 80000280: 17df1c63 bne t5,t4,800003f8 <fail>
+
+0000000080000284 <test_16>:
+ 80000284: 212120b7 lui ra,0x21212
+ 80000288: 1210809b addiw ra,ra,289
+ 8000028c: 01f0df13 srli t5,ra,0x1f
+ 80000290: 00000e93 li t4,0
+ 80000294: 01000193 li gp,16
+ 80000298: 17df1063 bne t5,t4,800003f8 <fail>
+
+000000008000029c <test_17>:
+ 8000029c: 0010009b addiw ra,zero,1
+ 800002a0: 01f09093 slli ra,ra,0x1f
+ 800002a4: 0070d093 srli ra,ra,0x7
+ 800002a8: 01000eb7 lui t4,0x1000
+ 800002ac: 01100193 li gp,17
+ 800002b0: 15d09463 bne ra,t4,800003f8 <fail>
+
+00000000800002b4 <test_18>:
+ 800002b4: 00000213 li tp,0
+ 800002b8: 0010009b addiw ra,zero,1
+ 800002bc: 01f09093 slli ra,ra,0x1f
+ 800002c0: 0070df13 srli t5,ra,0x7
+ 800002c4: 000f0313 mv t1,t5
+ 800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002cc: 00200293 li t0,2
+ 800002d0: fe5214e3 bne tp,t0,800002b8 <test_18+0x4>
+ 800002d4: 01000eb7 lui t4,0x1000
+ 800002d8: 01200193 li gp,18
+ 800002dc: 11d31e63 bne t1,t4,800003f8 <fail>
+
+00000000800002e0 <test_19>:
+ 800002e0: 00000213 li tp,0
+ 800002e4: 0010009b addiw ra,zero,1
+ 800002e8: 01f09093 slli ra,ra,0x1f
+ 800002ec: 00e0df13 srli t5,ra,0xe
+ 800002f0: 00000013 nop
+ 800002f4: 000f0313 mv t1,t5
+ 800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002fc: 00200293 li t0,2
+ 80000300: fe5212e3 bne tp,t0,800002e4 <test_19+0x4>
+ 80000304: 00020eb7 lui t4,0x20
+ 80000308: 01300193 li gp,19
+ 8000030c: 0fd31663 bne t1,t4,800003f8 <fail>
+
+0000000080000310 <test_20>:
+ 80000310: 00000213 li tp,0
+ 80000314: 0010009b addiw ra,zero,1
+ 80000318: 01f09093 slli ra,ra,0x1f
+ 8000031c: 00108093 addi ra,ra,1 # 21212001 <_start-0x5ededfff>
+ 80000320: 01f0df13 srli t5,ra,0x1f
+ 80000324: 00000013 nop
+ 80000328: 00000013 nop
+ 8000032c: 000f0313 mv t1,t5
+ 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000334: 00200293 li t0,2
+ 80000338: fc521ee3 bne tp,t0,80000314 <test_20+0x4>
+ 8000033c: 00100e93 li t4,1
+ 80000340: 01400193 li gp,20
+ 80000344: 0bd31a63 bne t1,t4,800003f8 <fail>
+
+0000000080000348 <test_21>:
+ 80000348: 00000213 li tp,0
+ 8000034c: 0010009b addiw ra,zero,1
+ 80000350: 01f09093 slli ra,ra,0x1f
+ 80000354: 0070df13 srli t5,ra,0x7
+ 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000035c: 00200293 li t0,2
+ 80000360: fe5216e3 bne tp,t0,8000034c <test_21+0x4>
+ 80000364: 01000eb7 lui t4,0x1000
+ 80000368: 01500193 li gp,21
+ 8000036c: 09df1663 bne t5,t4,800003f8 <fail>
+
+0000000080000370 <test_22>:
+ 80000370: 00000213 li tp,0
+ 80000374: 0010009b addiw ra,zero,1
+ 80000378: 01f09093 slli ra,ra,0x1f
+ 8000037c: 00000013 nop
+ 80000380: 00e0df13 srli t5,ra,0xe
+ 80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000388: 00200293 li t0,2
+ 8000038c: fe5214e3 bne tp,t0,80000374 <test_22+0x4>
+ 80000390: 00020eb7 lui t4,0x20
+ 80000394: 01600193 li gp,22
+ 80000398: 07df1063 bne t5,t4,800003f8 <fail>
+
+000000008000039c <test_23>:
+ 8000039c: 00000213 li tp,0
+ 800003a0: 0010009b addiw ra,zero,1
+ 800003a4: 01f09093 slli ra,ra,0x1f
+ 800003a8: 00108093 addi ra,ra,1
+ 800003ac: 00000013 nop
+ 800003b0: 00000013 nop
+ 800003b4: 01f0df13 srli t5,ra,0x1f
+ 800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003bc: 00200293 li t0,2
+ 800003c0: fe5210e3 bne tp,t0,800003a0 <test_23+0x4>
+ 800003c4: 00100e93 li t4,1
+ 800003c8: 01700193 li gp,23
+ 800003cc: 03df1663 bne t5,t4,800003f8 <fail>
+
+00000000800003d0 <test_24>:
+ 800003d0: 00405093 srli ra,zero,0x4
+ 800003d4: 00000e93 li t4,0
+ 800003d8: 01800193 li gp,24
+ 800003dc: 01d09e63 bne ra,t4,800003f8 <fail>
+
+00000000800003e0 <test_25>:
+ 800003e0: 02100093 li ra,33
+ 800003e4: 00a0d013 srli zero,ra,0xa
+ 800003e8: 00000e93 li t4,0
+ 800003ec: 01900193 li gp,25
+ 800003f0: 01d01463 bne zero,t4,800003f8 <fail>
+ 800003f4: 00301c63 bne zero,gp,8000040c <pass>
+
+00000000800003f8 <fail>:
+ 800003f8: 0ff0000f fence
+ 800003fc: 00018063 beqz gp,800003fc <fail+0x4>
+ 80000400: 00119193 slli gp,gp,0x1
+ 80000404: 0011e193 ori gp,gp,1
+ 80000408: 00000073 ecall
+
+000000008000040c <pass>:
+ 8000040c: 0ff0000f fence
+ 80000410: 00100193 li gp,1
+ 80000414: 00000073 ecall
+ 80000418: c0001073 unimp
+ 8000041c: 0000 unimp
+ 8000041e: 0000 unimp
+ 80000420: 0000 unimp
+ 80000422: 0000 unimp
+ 80000424: 0000 unimp
+ 80000426: 0000 unimp
+ 80000428: 0000 unimp
+ 8000042a: 0000 unimp
+ 8000042c: 0000 unimp
+ 8000042e: 0000 unimp
+ 80000430: 0000 unimp
+ 80000432: 0000 unimp
+ 80000434: 0000 unimp
+ 80000436: 0000 unimp
+ 80000438: 0000 unimp
+ 8000043a: 0000 unimp
+ 8000043c: 0000 unimp
+ 8000043e: 0000 unimp
+ 80000440: 0000 unimp
+ 80000442: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-srli.elf b/test/riscv/tests/rv64ui-p-srli.elf
new file mode 100755
index 00000000..73d7db18
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-srli.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-srliw.dump b/test/riscv/tests/rv64ui-p-srliw.dump
new file mode 100644
index 00000000..99581fb6
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-srliw.dump
@@ -0,0 +1,309 @@
+
+rv64ui-p-srliw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 800000b7 lui ra,0x80000
+ 80000100: 0000df1b srliw t5,ra,0x0
+ 80000104: 80000eb7 lui t4,0x80000
+ 80000108: 00200193 li gp,2
+ 8000010c: 29df1863 bne t5,t4,8000039c <fail>
+
+0000000080000110 <test_3>:
+ 80000110: 800000b7 lui ra,0x80000
+ 80000114: 0010df1b srliw t5,ra,0x1
+ 80000118: 40000eb7 lui t4,0x40000
+ 8000011c: 00300193 li gp,3
+ 80000120: 27df1e63 bne t5,t4,8000039c <fail>
+
+0000000080000124 <test_4>:
+ 80000124: 800000b7 lui ra,0x80000
+ 80000128: 0070df1b srliw t5,ra,0x7
+ 8000012c: 01000eb7 lui t4,0x1000
+ 80000130: 00400193 li gp,4
+ 80000134: 27df1463 bne t5,t4,8000039c <fail>
+
+0000000080000138 <test_5>:
+ 80000138: 800000b7 lui ra,0x80000
+ 8000013c: 00e0df1b srliw t5,ra,0xe
+ 80000140: 00020eb7 lui t4,0x20
+ 80000144: 00500193 li gp,5
+ 80000148: 25df1a63 bne t5,t4,8000039c <fail>
+
+000000008000014c <test_6>:
+ 8000014c: 800000b7 lui ra,0x80000
+ 80000150: 0010809b addiw ra,ra,1
+ 80000154: 01f0df1b srliw t5,ra,0x1f
+ 80000158: 00100e93 li t4,1
+ 8000015c: 00600193 li gp,6
+ 80000160: 23df1e63 bne t5,t4,8000039c <fail>
+
+0000000080000164 <test_7>:
+ 80000164: fff00093 li ra,-1
+ 80000168: 0000df1b srliw t5,ra,0x0
+ 8000016c: fff00e93 li t4,-1
+ 80000170: 00700193 li gp,7
+ 80000174: 23df1463 bne t5,t4,8000039c <fail>
+
+0000000080000178 <test_8>:
+ 80000178: fff00093 li ra,-1
+ 8000017c: 0010df1b srliw t5,ra,0x1
+ 80000180: 80000eb7 lui t4,0x80000
+ 80000184: fffe8e9b addiw t4,t4,-1
+ 80000188: 00800193 li gp,8
+ 8000018c: 21df1863 bne t5,t4,8000039c <fail>
+
+0000000080000190 <test_9>:
+ 80000190: fff00093 li ra,-1
+ 80000194: 0070df1b srliw t5,ra,0x7
+ 80000198: 02000eb7 lui t4,0x2000
+ 8000019c: fffe8e9b addiw t4,t4,-1
+ 800001a0: 00900193 li gp,9
+ 800001a4: 1fdf1c63 bne t5,t4,8000039c <fail>
+
+00000000800001a8 <test_10>:
+ 800001a8: fff00093 li ra,-1
+ 800001ac: 00e0df1b srliw t5,ra,0xe
+ 800001b0: 00040eb7 lui t4,0x40
+ 800001b4: fffe8e9b addiw t4,t4,-1
+ 800001b8: 00a00193 li gp,10
+ 800001bc: 1fdf1063 bne t5,t4,8000039c <fail>
+
+00000000800001c0 <test_11>:
+ 800001c0: fff00093 li ra,-1
+ 800001c4: 01f0df1b srliw t5,ra,0x1f
+ 800001c8: 00100e93 li t4,1
+ 800001cc: 00b00193 li gp,11
+ 800001d0: 1ddf1663 bne t5,t4,8000039c <fail>
+
+00000000800001d4 <test_12>:
+ 800001d4: 212120b7 lui ra,0x21212
+ 800001d8: 1210809b addiw ra,ra,289
+ 800001dc: 0000df1b srliw t5,ra,0x0
+ 800001e0: 21212eb7 lui t4,0x21212
+ 800001e4: 121e8e9b addiw t4,t4,289
+ 800001e8: 00c00193 li gp,12
+ 800001ec: 1bdf1863 bne t5,t4,8000039c <fail>
+
+00000000800001f0 <test_13>:
+ 800001f0: 212120b7 lui ra,0x21212
+ 800001f4: 1210809b addiw ra,ra,289
+ 800001f8: 0010df1b srliw t5,ra,0x1
+ 800001fc: 10909eb7 lui t4,0x10909
+ 80000200: 090e8e9b addiw t4,t4,144
+ 80000204: 00d00193 li gp,13
+ 80000208: 19df1a63 bne t5,t4,8000039c <fail>
+
+000000008000020c <test_14>:
+ 8000020c: 212120b7 lui ra,0x21212
+ 80000210: 1210809b addiw ra,ra,289
+ 80000214: 0070df1b srliw t5,ra,0x7
+ 80000218: 00424eb7 lui t4,0x424
+ 8000021c: 242e8e9b addiw t4,t4,578
+ 80000220: 00e00193 li gp,14
+ 80000224: 17df1c63 bne t5,t4,8000039c <fail>
+
+0000000080000228 <test_15>:
+ 80000228: 212120b7 lui ra,0x21212
+ 8000022c: 1210809b addiw ra,ra,289
+ 80000230: 00e0df1b srliw t5,ra,0xe
+ 80000234: 00008eb7 lui t4,0x8
+ 80000238: 484e8e9b addiw t4,t4,1156
+ 8000023c: 00f00193 li gp,15
+ 80000240: 15df1e63 bne t5,t4,8000039c <fail>
+
+0000000080000244 <test_16>:
+ 80000244: 212120b7 lui ra,0x21212
+ 80000248: 1210809b addiw ra,ra,289
+ 8000024c: 01f0df1b srliw t5,ra,0x1f
+ 80000250: 00000e93 li t4,0
+ 80000254: 01000193 li gp,16
+ 80000258: 15df1263 bne t5,t4,8000039c <fail>
+
+000000008000025c <test_17>:
+ 8000025c: 800000b7 lui ra,0x80000
+ 80000260: 0070d09b srliw ra,ra,0x7
+ 80000264: 01000eb7 lui t4,0x1000
+ 80000268: 01100193 li gp,17
+ 8000026c: 13d09863 bne ra,t4,8000039c <fail>
+
+0000000080000270 <test_18>:
+ 80000270: 00000213 li tp,0
+ 80000274: 800000b7 lui ra,0x80000
+ 80000278: 0070df1b srliw t5,ra,0x7
+ 8000027c: 000f0313 mv t1,t5
+ 80000280: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000284: 00200293 li t0,2
+ 80000288: fe5216e3 bne tp,t0,80000274 <test_18+0x4>
+ 8000028c: 01000eb7 lui t4,0x1000
+ 80000290: 01200193 li gp,18
+ 80000294: 11d31463 bne t1,t4,8000039c <fail>
+
+0000000080000298 <test_19>:
+ 80000298: 00000213 li tp,0
+ 8000029c: 800000b7 lui ra,0x80000
+ 800002a0: 00e0df1b srliw t5,ra,0xe
+ 800002a4: 00000013 nop
+ 800002a8: 000f0313 mv t1,t5
+ 800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002b0: 00200293 li t0,2
+ 800002b4: fe5214e3 bne tp,t0,8000029c <test_19+0x4>
+ 800002b8: 00020eb7 lui t4,0x20
+ 800002bc: 01300193 li gp,19
+ 800002c0: 0dd31e63 bne t1,t4,8000039c <fail>
+
+00000000800002c4 <test_20>:
+ 800002c4: 00000213 li tp,0
+ 800002c8: 800000b7 lui ra,0x80000
+ 800002cc: 0010809b addiw ra,ra,1
+ 800002d0: 01f0df1b srliw t5,ra,0x1f
+ 800002d4: 00000013 nop
+ 800002d8: 00000013 nop
+ 800002dc: 000f0313 mv t1,t5
+ 800002e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002e4: 00200293 li t0,2
+ 800002e8: fe5210e3 bne tp,t0,800002c8 <test_20+0x4>
+ 800002ec: 00100e93 li t4,1
+ 800002f0: 01400193 li gp,20
+ 800002f4: 0bd31463 bne t1,t4,8000039c <fail>
+
+00000000800002f8 <test_21>:
+ 800002f8: 00000213 li tp,0
+ 800002fc: 800000b7 lui ra,0x80000
+ 80000300: 0070df1b srliw t5,ra,0x7
+ 80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000308: 00200293 li t0,2
+ 8000030c: fe5218e3 bne tp,t0,800002fc <test_21+0x4>
+ 80000310: 01000eb7 lui t4,0x1000
+ 80000314: 01500193 li gp,21
+ 80000318: 09df1263 bne t5,t4,8000039c <fail>
+
+000000008000031c <test_22>:
+ 8000031c: 00000213 li tp,0
+ 80000320: 800000b7 lui ra,0x80000
+ 80000324: 00000013 nop
+ 80000328: 00e0df1b srliw t5,ra,0xe
+ 8000032c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000330: 00200293 li t0,2
+ 80000334: fe5216e3 bne tp,t0,80000320 <test_22+0x4>
+ 80000338: 00020eb7 lui t4,0x20
+ 8000033c: 01600193 li gp,22
+ 80000340: 05df1e63 bne t5,t4,8000039c <fail>
+
+0000000080000344 <test_23>:
+ 80000344: 00000213 li tp,0
+ 80000348: 800000b7 lui ra,0x80000
+ 8000034c: 0010809b addiw ra,ra,1
+ 80000350: 00000013 nop
+ 80000354: 00000013 nop
+ 80000358: 01f0df1b srliw t5,ra,0x1f
+ 8000035c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000360: 00200293 li t0,2
+ 80000364: fe5212e3 bne tp,t0,80000348 <test_23+0x4>
+ 80000368: 00100e93 li t4,1
+ 8000036c: 01700193 li gp,23
+ 80000370: 03df1663 bne t5,t4,8000039c <fail>
+
+0000000080000374 <test_24>:
+ 80000374: 01f0509b srliw ra,zero,0x1f
+ 80000378: 00000e93 li t4,0
+ 8000037c: 01800193 li gp,24
+ 80000380: 01d09e63 bne ra,t4,8000039c <fail>
+
+0000000080000384 <test_25>:
+ 80000384: 01f00093 li ra,31
+ 80000388: 01c0d01b srliw zero,ra,0x1c
+ 8000038c: 00000e93 li t4,0
+ 80000390: 01900193 li gp,25
+ 80000394: 01d01463 bne zero,t4,8000039c <fail>
+ 80000398: 00301c63 bne zero,gp,800003b0 <pass>
+
+000000008000039c <fail>:
+ 8000039c: 0ff0000f fence
+ 800003a0: 00018063 beqz gp,800003a0 <fail+0x4>
+ 800003a4: 00119193 slli gp,gp,0x1
+ 800003a8: 0011e193 ori gp,gp,1
+ 800003ac: 00000073 ecall
+
+00000000800003b0 <pass>:
+ 800003b0: 0ff0000f fence
+ 800003b4: 00100193 li gp,1
+ 800003b8: 00000073 ecall
+ 800003bc: c0001073 unimp
+ 800003c0: 0000 unimp
+ 800003c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-srliw.elf b/test/riscv/tests/rv64ui-p-srliw.elf
new file mode 100755
index 00000000..2dc12254
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-srliw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-srlw.dump b/test/riscv/tests/rv64ui-p-srlw.dump
new file mode 100644
index 00000000..cf3f8377
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-srlw.dump
@@ -0,0 +1,544 @@
+
+rv64ui-p-srlw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 800000b7 lui ra,0x80000
+ 80000100: 00000113 li sp,0
+ 80000104: 0020df3b srlw t5,ra,sp
+ 80000108: 80000eb7 lui t4,0x80000
+ 8000010c: 00200193 li gp,2
+ 80000110: 57df1863 bne t5,t4,80000680 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 800000b7 lui ra,0x80000
+ 80000118: 00100113 li sp,1
+ 8000011c: 0020df3b srlw t5,ra,sp
+ 80000120: 40000eb7 lui t4,0x40000
+ 80000124: 00300193 li gp,3
+ 80000128: 55df1c63 bne t5,t4,80000680 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 800000b7 lui ra,0x80000
+ 80000130: 00700113 li sp,7
+ 80000134: 0020df3b srlw t5,ra,sp
+ 80000138: 01000eb7 lui t4,0x1000
+ 8000013c: 00400193 li gp,4
+ 80000140: 55df1063 bne t5,t4,80000680 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 800000b7 lui ra,0x80000
+ 80000148: 00e00113 li sp,14
+ 8000014c: 0020df3b srlw t5,ra,sp
+ 80000150: 00020eb7 lui t4,0x20
+ 80000154: 00500193 li gp,5
+ 80000158: 53df1463 bne t5,t4,80000680 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 0010809b addiw ra,ra,1
+ 80000164: 01f00113 li sp,31
+ 80000168: 0020df3b srlw t5,ra,sp
+ 8000016c: 00100e93 li t4,1
+ 80000170: 00600193 li gp,6
+ 80000174: 51df1663 bne t5,t4,80000680 <fail>
+
+0000000080000178 <test_7>:
+ 80000178: fff00093 li ra,-1
+ 8000017c: 00000113 li sp,0
+ 80000180: 0020df3b srlw t5,ra,sp
+ 80000184: fff00e93 li t4,-1
+ 80000188: 00700193 li gp,7
+ 8000018c: 4fdf1a63 bne t5,t4,80000680 <fail>
+
+0000000080000190 <test_8>:
+ 80000190: fff00093 li ra,-1
+ 80000194: 00100113 li sp,1
+ 80000198: 0020df3b srlw t5,ra,sp
+ 8000019c: 80000eb7 lui t4,0x80000
+ 800001a0: fffe8e9b addiw t4,t4,-1
+ 800001a4: 00800193 li gp,8
+ 800001a8: 4ddf1c63 bne t5,t4,80000680 <fail>
+
+00000000800001ac <test_9>:
+ 800001ac: fff00093 li ra,-1
+ 800001b0: 00700113 li sp,7
+ 800001b4: 0020df3b srlw t5,ra,sp
+ 800001b8: 02000eb7 lui t4,0x2000
+ 800001bc: fffe8e9b addiw t4,t4,-1
+ 800001c0: 00900193 li gp,9
+ 800001c4: 4bdf1e63 bne t5,t4,80000680 <fail>
+
+00000000800001c8 <test_10>:
+ 800001c8: fff00093 li ra,-1
+ 800001cc: 00e00113 li sp,14
+ 800001d0: 0020df3b srlw t5,ra,sp
+ 800001d4: 00040eb7 lui t4,0x40
+ 800001d8: fffe8e9b addiw t4,t4,-1
+ 800001dc: 00a00193 li gp,10
+ 800001e0: 4bdf1063 bne t5,t4,80000680 <fail>
+
+00000000800001e4 <test_11>:
+ 800001e4: fff00093 li ra,-1
+ 800001e8: 01f00113 li sp,31
+ 800001ec: 0020df3b srlw t5,ra,sp
+ 800001f0: 00100e93 li t4,1
+ 800001f4: 00b00193 li gp,11
+ 800001f8: 49df1463 bne t5,t4,80000680 <fail>
+
+00000000800001fc <test_12>:
+ 800001fc: 212120b7 lui ra,0x21212
+ 80000200: 1210809b addiw ra,ra,289
+ 80000204: 00000113 li sp,0
+ 80000208: 0020df3b srlw t5,ra,sp
+ 8000020c: 21212eb7 lui t4,0x21212
+ 80000210: 121e8e9b addiw t4,t4,289
+ 80000214: 00c00193 li gp,12
+ 80000218: 47df1463 bne t5,t4,80000680 <fail>
+
+000000008000021c <test_13>:
+ 8000021c: 212120b7 lui ra,0x21212
+ 80000220: 1210809b addiw ra,ra,289
+ 80000224: 00100113 li sp,1
+ 80000228: 0020df3b srlw t5,ra,sp
+ 8000022c: 10909eb7 lui t4,0x10909
+ 80000230: 090e8e9b addiw t4,t4,144
+ 80000234: 00d00193 li gp,13
+ 80000238: 45df1463 bne t5,t4,80000680 <fail>
+
+000000008000023c <test_14>:
+ 8000023c: 212120b7 lui ra,0x21212
+ 80000240: 1210809b addiw ra,ra,289
+ 80000244: 00700113 li sp,7
+ 80000248: 0020df3b srlw t5,ra,sp
+ 8000024c: 00424eb7 lui t4,0x424
+ 80000250: 242e8e9b addiw t4,t4,578
+ 80000254: 00e00193 li gp,14
+ 80000258: 43df1463 bne t5,t4,80000680 <fail>
+
+000000008000025c <test_15>:
+ 8000025c: 212120b7 lui ra,0x21212
+ 80000260: 1210809b addiw ra,ra,289
+ 80000264: 00e00113 li sp,14
+ 80000268: 0020df3b srlw t5,ra,sp
+ 8000026c: 00008eb7 lui t4,0x8
+ 80000270: 484e8e9b addiw t4,t4,1156
+ 80000274: 00f00193 li gp,15
+ 80000278: 41df1463 bne t5,t4,80000680 <fail>
+
+000000008000027c <test_16>:
+ 8000027c: 212120b7 lui ra,0x21212
+ 80000280: 1210809b addiw ra,ra,289
+ 80000284: 01f00113 li sp,31
+ 80000288: 0020df3b srlw t5,ra,sp
+ 8000028c: 00000e93 li t4,0
+ 80000290: 01000193 li gp,16
+ 80000294: 3fdf1663 bne t5,t4,80000680 <fail>
+
+0000000080000298 <test_17>:
+ 80000298: 212120b7 lui ra,0x21212
+ 8000029c: 1210809b addiw ra,ra,289
+ 800002a0: fe000113 li sp,-32
+ 800002a4: 0020df3b srlw t5,ra,sp
+ 800002a8: 21212eb7 lui t4,0x21212
+ 800002ac: 121e8e9b addiw t4,t4,289
+ 800002b0: 01100193 li gp,17
+ 800002b4: 3ddf1663 bne t5,t4,80000680 <fail>
+
+00000000800002b8 <test_18>:
+ 800002b8: 212120b7 lui ra,0x21212
+ 800002bc: 1210809b addiw ra,ra,289
+ 800002c0: fe100113 li sp,-31
+ 800002c4: 0020df3b srlw t5,ra,sp
+ 800002c8: 10909eb7 lui t4,0x10909
+ 800002cc: 090e8e9b addiw t4,t4,144
+ 800002d0: 01200193 li gp,18
+ 800002d4: 3bdf1663 bne t5,t4,80000680 <fail>
+
+00000000800002d8 <test_19>:
+ 800002d8: 212120b7 lui ra,0x21212
+ 800002dc: 1210809b addiw ra,ra,289
+ 800002e0: fe700113 li sp,-25
+ 800002e4: 0020df3b srlw t5,ra,sp
+ 800002e8: 00424eb7 lui t4,0x424
+ 800002ec: 242e8e9b addiw t4,t4,578
+ 800002f0: 01300193 li gp,19
+ 800002f4: 39df1663 bne t5,t4,80000680 <fail>
+
+00000000800002f8 <test_20>:
+ 800002f8: 212120b7 lui ra,0x21212
+ 800002fc: 1210809b addiw ra,ra,289
+ 80000300: fee00113 li sp,-18
+ 80000304: 0020df3b srlw t5,ra,sp
+ 80000308: 00008eb7 lui t4,0x8
+ 8000030c: 484e8e9b addiw t4,t4,1156
+ 80000310: 01400193 li gp,20
+ 80000314: 37df1663 bne t5,t4,80000680 <fail>
+
+0000000080000318 <test_21>:
+ 80000318: 212120b7 lui ra,0x21212
+ 8000031c: 1210809b addiw ra,ra,289
+ 80000320: fff00113 li sp,-1
+ 80000324: 0020df3b srlw t5,ra,sp
+ 80000328: 00000e93 li t4,0
+ 8000032c: 01500193 li gp,21
+ 80000330: 35df1863 bne t5,t4,80000680 <fail>
+
+0000000080000334 <test_22>:
+ 80000334: 800000b7 lui ra,0x80000
+ 80000338: 00700113 li sp,7
+ 8000033c: 0020d0bb srlw ra,ra,sp
+ 80000340: 01000eb7 lui t4,0x1000
+ 80000344: 01600193 li gp,22
+ 80000348: 33d09c63 bne ra,t4,80000680 <fail>
+
+000000008000034c <test_23>:
+ 8000034c: 800000b7 lui ra,0x80000
+ 80000350: 00e00113 li sp,14
+ 80000354: 0020d13b srlw sp,ra,sp
+ 80000358: 00020eb7 lui t4,0x20
+ 8000035c: 01700193 li gp,23
+ 80000360: 33d11063 bne sp,t4,80000680 <fail>
+
+0000000080000364 <test_24>:
+ 80000364: 00700093 li ra,7
+ 80000368: 0010d0bb srlw ra,ra,ra
+ 8000036c: 00000e93 li t4,0
+ 80000370: 01800193 li gp,24
+ 80000374: 31d09663 bne ra,t4,80000680 <fail>
+
+0000000080000378 <test_25>:
+ 80000378: 00000213 li tp,0
+ 8000037c: 800000b7 lui ra,0x80000
+ 80000380: 00700113 li sp,7
+ 80000384: 0020df3b srlw t5,ra,sp
+ 80000388: 000f0313 mv t1,t5
+ 8000038c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000390: 00200293 li t0,2
+ 80000394: fe5214e3 bne tp,t0,8000037c <test_25+0x4>
+ 80000398: 01000eb7 lui t4,0x1000
+ 8000039c: 01900193 li gp,25
+ 800003a0: 2fd31063 bne t1,t4,80000680 <fail>
+
+00000000800003a4 <test_26>:
+ 800003a4: 00000213 li tp,0
+ 800003a8: 800000b7 lui ra,0x80000
+ 800003ac: 00e00113 li sp,14
+ 800003b0: 0020df3b srlw t5,ra,sp
+ 800003b4: 00000013 nop
+ 800003b8: 000f0313 mv t1,t5
+ 800003bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003c0: 00200293 li t0,2
+ 800003c4: fe5212e3 bne tp,t0,800003a8 <test_26+0x4>
+ 800003c8: 00020eb7 lui t4,0x20
+ 800003cc: 01a00193 li gp,26
+ 800003d0: 2bd31863 bne t1,t4,80000680 <fail>
+
+00000000800003d4 <test_27>:
+ 800003d4: 00000213 li tp,0
+ 800003d8: 800000b7 lui ra,0x80000
+ 800003dc: 01f00113 li sp,31
+ 800003e0: 0020df3b srlw t5,ra,sp
+ 800003e4: 00000013 nop
+ 800003e8: 00000013 nop
+ 800003ec: 000f0313 mv t1,t5
+ 800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003f4: 00200293 li t0,2
+ 800003f8: fe5210e3 bne tp,t0,800003d8 <test_27+0x4>
+ 800003fc: 00100e93 li t4,1
+ 80000400: 01b00193 li gp,27
+ 80000404: 27d31e63 bne t1,t4,80000680 <fail>
+
+0000000080000408 <test_28>:
+ 80000408: 00000213 li tp,0
+ 8000040c: 800000b7 lui ra,0x80000
+ 80000410: 00700113 li sp,7
+ 80000414: 0020df3b srlw t5,ra,sp
+ 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000041c: 00200293 li t0,2
+ 80000420: fe5216e3 bne tp,t0,8000040c <test_28+0x4>
+ 80000424: 01000eb7 lui t4,0x1000
+ 80000428: 01c00193 li gp,28
+ 8000042c: 25df1a63 bne t5,t4,80000680 <fail>
+
+0000000080000430 <test_29>:
+ 80000430: 00000213 li tp,0
+ 80000434: 800000b7 lui ra,0x80000
+ 80000438: 00e00113 li sp,14
+ 8000043c: 00000013 nop
+ 80000440: 0020df3b srlw t5,ra,sp
+ 80000444: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000448: 00200293 li t0,2
+ 8000044c: fe5214e3 bne tp,t0,80000434 <test_29+0x4>
+ 80000450: 00020eb7 lui t4,0x20
+ 80000454: 01d00193 li gp,29
+ 80000458: 23df1463 bne t5,t4,80000680 <fail>
+
+000000008000045c <test_30>:
+ 8000045c: 00000213 li tp,0
+ 80000460: 800000b7 lui ra,0x80000
+ 80000464: 01f00113 li sp,31
+ 80000468: 00000013 nop
+ 8000046c: 00000013 nop
+ 80000470: 0020df3b srlw t5,ra,sp
+ 80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000478: 00200293 li t0,2
+ 8000047c: fe5212e3 bne tp,t0,80000460 <test_30+0x4>
+ 80000480: 00100e93 li t4,1
+ 80000484: 01e00193 li gp,30
+ 80000488: 1fdf1c63 bne t5,t4,80000680 <fail>
+
+000000008000048c <test_31>:
+ 8000048c: 00000213 li tp,0
+ 80000490: 800000b7 lui ra,0x80000
+ 80000494: 00000013 nop
+ 80000498: 00700113 li sp,7
+ 8000049c: 0020df3b srlw t5,ra,sp
+ 800004a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004a4: 00200293 li t0,2
+ 800004a8: fe5214e3 bne tp,t0,80000490 <test_31+0x4>
+ 800004ac: 01000eb7 lui t4,0x1000
+ 800004b0: 01f00193 li gp,31
+ 800004b4: 1ddf1663 bne t5,t4,80000680 <fail>
+
+00000000800004b8 <test_32>:
+ 800004b8: 00000213 li tp,0
+ 800004bc: 800000b7 lui ra,0x80000
+ 800004c0: 00000013 nop
+ 800004c4: 00e00113 li sp,14
+ 800004c8: 00000013 nop
+ 800004cc: 0020df3b srlw t5,ra,sp
+ 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004d4: 00200293 li t0,2
+ 800004d8: fe5212e3 bne tp,t0,800004bc <test_32+0x4>
+ 800004dc: 00020eb7 lui t4,0x20
+ 800004e0: 02000193 li gp,32
+ 800004e4: 19df1e63 bne t5,t4,80000680 <fail>
+
+00000000800004e8 <test_33>:
+ 800004e8: 00000213 li tp,0
+ 800004ec: 800000b7 lui ra,0x80000
+ 800004f0: 00000013 nop
+ 800004f4: 00000013 nop
+ 800004f8: 01f00113 li sp,31
+ 800004fc: 0020df3b srlw t5,ra,sp
+ 80000500: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000504: 00200293 li t0,2
+ 80000508: fe5212e3 bne tp,t0,800004ec <test_33+0x4>
+ 8000050c: 00100e93 li t4,1
+ 80000510: 02100193 li gp,33
+ 80000514: 17df1663 bne t5,t4,80000680 <fail>
+
+0000000080000518 <test_34>:
+ 80000518: 00000213 li tp,0
+ 8000051c: 00700113 li sp,7
+ 80000520: 800000b7 lui ra,0x80000
+ 80000524: 0020df3b srlw t5,ra,sp
+ 80000528: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000052c: 00200293 li t0,2
+ 80000530: fe5216e3 bne tp,t0,8000051c <test_34+0x4>
+ 80000534: 01000eb7 lui t4,0x1000
+ 80000538: 02200193 li gp,34
+ 8000053c: 15df1263 bne t5,t4,80000680 <fail>
+
+0000000080000540 <test_35>:
+ 80000540: 00000213 li tp,0
+ 80000544: 00e00113 li sp,14
+ 80000548: 800000b7 lui ra,0x80000
+ 8000054c: 00000013 nop
+ 80000550: 0020df3b srlw t5,ra,sp
+ 80000554: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000558: 00200293 li t0,2
+ 8000055c: fe5214e3 bne tp,t0,80000544 <test_35+0x4>
+ 80000560: 00020eb7 lui t4,0x20
+ 80000564: 02300193 li gp,35
+ 80000568: 11df1c63 bne t5,t4,80000680 <fail>
+
+000000008000056c <test_36>:
+ 8000056c: 00000213 li tp,0
+ 80000570: 01f00113 li sp,31
+ 80000574: 800000b7 lui ra,0x80000
+ 80000578: 00000013 nop
+ 8000057c: 00000013 nop
+ 80000580: 0020df3b srlw t5,ra,sp
+ 80000584: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000588: 00200293 li t0,2
+ 8000058c: fe5212e3 bne tp,t0,80000570 <test_36+0x4>
+ 80000590: 00100e93 li t4,1
+ 80000594: 02400193 li gp,36
+ 80000598: 0fdf1463 bne t5,t4,80000680 <fail>
+
+000000008000059c <test_37>:
+ 8000059c: 00000213 li tp,0
+ 800005a0: 00700113 li sp,7
+ 800005a4: 00000013 nop
+ 800005a8: 800000b7 lui ra,0x80000
+ 800005ac: 0020df3b srlw t5,ra,sp
+ 800005b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005b4: 00200293 li t0,2
+ 800005b8: fe5214e3 bne tp,t0,800005a0 <test_37+0x4>
+ 800005bc: 01000eb7 lui t4,0x1000
+ 800005c0: 02500193 li gp,37
+ 800005c4: 0bdf1e63 bne t5,t4,80000680 <fail>
+
+00000000800005c8 <test_38>:
+ 800005c8: 00000213 li tp,0
+ 800005cc: 00e00113 li sp,14
+ 800005d0: 00000013 nop
+ 800005d4: 800000b7 lui ra,0x80000
+ 800005d8: 00000013 nop
+ 800005dc: 0020df3b srlw t5,ra,sp
+ 800005e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005e4: 00200293 li t0,2
+ 800005e8: fe5212e3 bne tp,t0,800005cc <test_38+0x4>
+ 800005ec: 00020eb7 lui t4,0x20
+ 800005f0: 02600193 li gp,38
+ 800005f4: 09df1663 bne t5,t4,80000680 <fail>
+
+00000000800005f8 <test_39>:
+ 800005f8: 00000213 li tp,0
+ 800005fc: 01f00113 li sp,31
+ 80000600: 00000013 nop
+ 80000604: 00000013 nop
+ 80000608: 800000b7 lui ra,0x80000
+ 8000060c: 0020df3b srlw t5,ra,sp
+ 80000610: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000614: 00200293 li t0,2
+ 80000618: fe5212e3 bne tp,t0,800005fc <test_39+0x4>
+ 8000061c: 00100e93 li t4,1
+ 80000620: 02700193 li gp,39
+ 80000624: 05df1e63 bne t5,t4,80000680 <fail>
+
+0000000080000628 <test_40>:
+ 80000628: 00f00093 li ra,15
+ 8000062c: 0010513b srlw sp,zero,ra
+ 80000630: 00000e93 li t4,0
+ 80000634: 02800193 li gp,40
+ 80000638: 05d11463 bne sp,t4,80000680 <fail>
+
+000000008000063c <test_41>:
+ 8000063c: 02000093 li ra,32
+ 80000640: 0000d13b srlw sp,ra,zero
+ 80000644: 02000e93 li t4,32
+ 80000648: 02900193 li gp,41
+ 8000064c: 03d11a63 bne sp,t4,80000680 <fail>
+
+0000000080000650 <test_42>:
+ 80000650: 000050bb srlw ra,zero,zero
+ 80000654: 00000e93 li t4,0
+ 80000658: 02a00193 li gp,42
+ 8000065c: 03d09263 bne ra,t4,80000680 <fail>
+
+0000000080000660 <test_43>:
+ 80000660: 40000093 li ra,1024
+ 80000664: 00001137 lui sp,0x1
+ 80000668: 8001011b addiw sp,sp,-2048
+ 8000066c: 0020d03b srlw zero,ra,sp
+ 80000670: 00000e93 li t4,0
+ 80000674: 02b00193 li gp,43
+ 80000678: 01d01463 bne zero,t4,80000680 <fail>
+ 8000067c: 00301c63 bne zero,gp,80000694 <pass>
+
+0000000080000680 <fail>:
+ 80000680: 0ff0000f fence
+ 80000684: 00018063 beqz gp,80000684 <fail+0x4>
+ 80000688: 00119193 slli gp,gp,0x1
+ 8000068c: 0011e193 ori gp,gp,1
+ 80000690: 00000073 ecall
+
+0000000080000694 <pass>:
+ 80000694: 0ff0000f fence
+ 80000698: 00100193 li gp,1
+ 8000069c: 00000073 ecall
+ 800006a0: c0001073 unimp
+ 800006a4: 0000 unimp
+ 800006a6: 0000 unimp
+ 800006a8: 0000 unimp
+ 800006aa: 0000 unimp
+ 800006ac: 0000 unimp
+ 800006ae: 0000 unimp
+ 800006b0: 0000 unimp
+ 800006b2: 0000 unimp
+ 800006b4: 0000 unimp
+ 800006b6: 0000 unimp
+ 800006b8: 0000 unimp
+ 800006ba: 0000 unimp
+ 800006bc: 0000 unimp
+ 800006be: 0000 unimp
+ 800006c0: 0000 unimp
+ 800006c2: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-srlw.elf b/test/riscv/tests/rv64ui-p-srlw.elf
new file mode 100755
index 00000000..04a9c213
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-srlw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sub.dump b/test/riscv/tests/rv64ui-p-sub.dump
new file mode 100644
index 00000000..34bda7b8
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sub.dump
@@ -0,0 +1,481 @@
+
+rv64ui-p-sub: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00000113 li sp,0
+ 80000104: 40208f33 sub t5,ra,sp
+ 80000108: 00000e93 li t4,0
+ 8000010c: 00200193 li gp,2
+ 80000110: 4bdf1e63 bne t5,t4,800005cc <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 40208f33 sub t5,ra,sp
+ 80000120: 00000e93 li t4,0
+ 80000124: 00300193 li gp,3
+ 80000128: 4bdf1263 bne t5,t4,800005cc <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00300093 li ra,3
+ 80000130: 00700113 li sp,7
+ 80000134: 40208f33 sub t5,ra,sp
+ 80000138: ffc00e93 li t4,-4
+ 8000013c: 00400193 li gp,4
+ 80000140: 49df1663 bne t5,t4,800005cc <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00000093 li ra,0
+ 80000148: ffff8137 lui sp,0xffff8
+ 8000014c: 40208f33 sub t5,ra,sp
+ 80000150: 00008eb7 lui t4,0x8
+ 80000154: 00500193 li gp,5
+ 80000158: 47df1a63 bne t5,t4,800005cc <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00000113 li sp,0
+ 80000164: 40208f33 sub t5,ra,sp
+ 80000168: 80000eb7 lui t4,0x80000
+ 8000016c: 00600193 li gp,6
+ 80000170: 45df1e63 bne t5,t4,800005cc <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: ffff8137 lui sp,0xffff8
+ 8000017c: 40208f33 sub t5,ra,sp
+ 80000180: 80008eb7 lui t4,0x80008
+ 80000184: 00700193 li gp,7
+ 80000188: 45df1263 bne t5,t4,800005cc <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 00000093 li ra,0
+ 80000190: 00008137 lui sp,0x8
+ 80000194: fff1011b addiw sp,sp,-1
+ 80000198: 40208f33 sub t5,ra,sp
+ 8000019c: ffff8eb7 lui t4,0xffff8
+ 800001a0: 001e8e9b addiw t4,t4,1
+ 800001a4: 00800193 li gp,8
+ 800001a8: 43df1263 bne t5,t4,800005cc <fail>
+
+00000000800001ac <test_9>:
+ 800001ac: 800000b7 lui ra,0x80000
+ 800001b0: fff0809b addiw ra,ra,-1
+ 800001b4: 00000113 li sp,0
+ 800001b8: 40208f33 sub t5,ra,sp
+ 800001bc: 80000eb7 lui t4,0x80000
+ 800001c0: fffe8e9b addiw t4,t4,-1
+ 800001c4: 00900193 li gp,9
+ 800001c8: 41df1263 bne t5,t4,800005cc <fail>
+
+00000000800001cc <test_10>:
+ 800001cc: 800000b7 lui ra,0x80000
+ 800001d0: fff0809b addiw ra,ra,-1
+ 800001d4: 00008137 lui sp,0x8
+ 800001d8: fff1011b addiw sp,sp,-1
+ 800001dc: 40208f33 sub t5,ra,sp
+ 800001e0: 7fff8eb7 lui t4,0x7fff8
+ 800001e4: 00a00193 li gp,10
+ 800001e8: 3fdf1263 bne t5,t4,800005cc <fail>
+
+00000000800001ec <test_11>:
+ 800001ec: 800000b7 lui ra,0x80000
+ 800001f0: 00008137 lui sp,0x8
+ 800001f4: fff1011b addiw sp,sp,-1
+ 800001f8: 40208f33 sub t5,ra,sp
+ 800001fc: ffff0eb7 lui t4,0xffff0
+ 80000200: fffe8e9b addiw t4,t4,-1
+ 80000204: 00fe9e93 slli t4,t4,0xf
+ 80000208: 001e8e93 addi t4,t4,1 # ffffffffffff0001 <_end+0xffffffff7ffee001>
+ 8000020c: 00b00193 li gp,11
+ 80000210: 3bdf1e63 bne t5,t4,800005cc <fail>
+
+0000000080000214 <test_12>:
+ 80000214: 800000b7 lui ra,0x80000
+ 80000218: fff0809b addiw ra,ra,-1
+ 8000021c: ffff8137 lui sp,0xffff8
+ 80000220: 40208f33 sub t5,ra,sp
+ 80000224: 00010eb7 lui t4,0x10
+ 80000228: 001e8e9b addiw t4,t4,1
+ 8000022c: 00fe9e93 slli t4,t4,0xf
+ 80000230: fffe8e93 addi t4,t4,-1 # ffff <_start-0x7fff0001>
+ 80000234: 00c00193 li gp,12
+ 80000238: 39df1a63 bne t5,t4,800005cc <fail>
+
+000000008000023c <test_13>:
+ 8000023c: 00000093 li ra,0
+ 80000240: fff00113 li sp,-1
+ 80000244: 40208f33 sub t5,ra,sp
+ 80000248: 00100e93 li t4,1
+ 8000024c: 00d00193 li gp,13
+ 80000250: 37df1e63 bne t5,t4,800005cc <fail>
+
+0000000080000254 <test_14>:
+ 80000254: fff00093 li ra,-1
+ 80000258: 00100113 li sp,1
+ 8000025c: 40208f33 sub t5,ra,sp
+ 80000260: ffe00e93 li t4,-2
+ 80000264: 00e00193 li gp,14
+ 80000268: 37df1263 bne t5,t4,800005cc <fail>
+
+000000008000026c <test_15>:
+ 8000026c: fff00093 li ra,-1
+ 80000270: fff00113 li sp,-1
+ 80000274: 40208f33 sub t5,ra,sp
+ 80000278: 00000e93 li t4,0
+ 8000027c: 00f00193 li gp,15
+ 80000280: 35df1663 bne t5,t4,800005cc <fail>
+
+0000000080000284 <test_16>:
+ 80000284: 00d00093 li ra,13
+ 80000288: 00b00113 li sp,11
+ 8000028c: 402080b3 sub ra,ra,sp
+ 80000290: 00200e93 li t4,2
+ 80000294: 01000193 li gp,16
+ 80000298: 33d09a63 bne ra,t4,800005cc <fail>
+
+000000008000029c <test_17>:
+ 8000029c: 00e00093 li ra,14
+ 800002a0: 00b00113 li sp,11
+ 800002a4: 40208133 sub sp,ra,sp
+ 800002a8: 00300e93 li t4,3
+ 800002ac: 01100193 li gp,17
+ 800002b0: 31d11e63 bne sp,t4,800005cc <fail>
+
+00000000800002b4 <test_18>:
+ 800002b4: 00d00093 li ra,13
+ 800002b8: 401080b3 sub ra,ra,ra
+ 800002bc: 00000e93 li t4,0
+ 800002c0: 01200193 li gp,18
+ 800002c4: 31d09463 bne ra,t4,800005cc <fail>
+
+00000000800002c8 <test_19>:
+ 800002c8: 00000213 li tp,0
+ 800002cc: 00d00093 li ra,13
+ 800002d0: 00b00113 li sp,11
+ 800002d4: 40208f33 sub t5,ra,sp
+ 800002d8: 000f0313 mv t1,t5
+ 800002dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002e0: 00200293 li t0,2
+ 800002e4: fe5214e3 bne tp,t0,800002cc <test_19+0x4>
+ 800002e8: 00200e93 li t4,2
+ 800002ec: 01300193 li gp,19
+ 800002f0: 2dd31e63 bne t1,t4,800005cc <fail>
+
+00000000800002f4 <test_20>:
+ 800002f4: 00000213 li tp,0
+ 800002f8: 00e00093 li ra,14
+ 800002fc: 00b00113 li sp,11
+ 80000300: 40208f33 sub t5,ra,sp
+ 80000304: 00000013 nop
+ 80000308: 000f0313 mv t1,t5
+ 8000030c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000310: 00200293 li t0,2
+ 80000314: fe5212e3 bne tp,t0,800002f8 <test_20+0x4>
+ 80000318: 00300e93 li t4,3
+ 8000031c: 01400193 li gp,20
+ 80000320: 2bd31663 bne t1,t4,800005cc <fail>
+
+0000000080000324 <test_21>:
+ 80000324: 00000213 li tp,0
+ 80000328: 00f00093 li ra,15
+ 8000032c: 00b00113 li sp,11
+ 80000330: 40208f33 sub t5,ra,sp
+ 80000334: 00000013 nop
+ 80000338: 00000013 nop
+ 8000033c: 000f0313 mv t1,t5
+ 80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000344: 00200293 li t0,2
+ 80000348: fe5210e3 bne tp,t0,80000328 <test_21+0x4>
+ 8000034c: 00400e93 li t4,4
+ 80000350: 01500193 li gp,21
+ 80000354: 27d31c63 bne t1,t4,800005cc <fail>
+
+0000000080000358 <test_22>:
+ 80000358: 00000213 li tp,0
+ 8000035c: 00d00093 li ra,13
+ 80000360: 00b00113 li sp,11
+ 80000364: 40208f33 sub t5,ra,sp
+ 80000368: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000036c: 00200293 li t0,2
+ 80000370: fe5216e3 bne tp,t0,8000035c <test_22+0x4>
+ 80000374: 00200e93 li t4,2
+ 80000378: 01600193 li gp,22
+ 8000037c: 25df1863 bne t5,t4,800005cc <fail>
+
+0000000080000380 <test_23>:
+ 80000380: 00000213 li tp,0
+ 80000384: 00e00093 li ra,14
+ 80000388: 00b00113 li sp,11
+ 8000038c: 00000013 nop
+ 80000390: 40208f33 sub t5,ra,sp
+ 80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000398: 00200293 li t0,2
+ 8000039c: fe5214e3 bne tp,t0,80000384 <test_23+0x4>
+ 800003a0: 00300e93 li t4,3
+ 800003a4: 01700193 li gp,23
+ 800003a8: 23df1263 bne t5,t4,800005cc <fail>
+
+00000000800003ac <test_24>:
+ 800003ac: 00000213 li tp,0
+ 800003b0: 00f00093 li ra,15
+ 800003b4: 00b00113 li sp,11
+ 800003b8: 00000013 nop
+ 800003bc: 00000013 nop
+ 800003c0: 40208f33 sub t5,ra,sp
+ 800003c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003c8: 00200293 li t0,2
+ 800003cc: fe5212e3 bne tp,t0,800003b0 <test_24+0x4>
+ 800003d0: 00400e93 li t4,4
+ 800003d4: 01800193 li gp,24
+ 800003d8: 1fdf1a63 bne t5,t4,800005cc <fail>
+
+00000000800003dc <test_25>:
+ 800003dc: 00000213 li tp,0
+ 800003e0: 00d00093 li ra,13
+ 800003e4: 00000013 nop
+ 800003e8: 00b00113 li sp,11
+ 800003ec: 40208f33 sub t5,ra,sp
+ 800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003f4: 00200293 li t0,2
+ 800003f8: fe5214e3 bne tp,t0,800003e0 <test_25+0x4>
+ 800003fc: 00200e93 li t4,2
+ 80000400: 01900193 li gp,25
+ 80000404: 1ddf1463 bne t5,t4,800005cc <fail>
+
+0000000080000408 <test_26>:
+ 80000408: 00000213 li tp,0
+ 8000040c: 00e00093 li ra,14
+ 80000410: 00000013 nop
+ 80000414: 00b00113 li sp,11
+ 80000418: 00000013 nop
+ 8000041c: 40208f33 sub t5,ra,sp
+ 80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000424: 00200293 li t0,2
+ 80000428: fe5212e3 bne tp,t0,8000040c <test_26+0x4>
+ 8000042c: 00300e93 li t4,3
+ 80000430: 01a00193 li gp,26
+ 80000434: 19df1c63 bne t5,t4,800005cc <fail>
+
+0000000080000438 <test_27>:
+ 80000438: 00000213 li tp,0
+ 8000043c: 00f00093 li ra,15
+ 80000440: 00000013 nop
+ 80000444: 00000013 nop
+ 80000448: 00b00113 li sp,11
+ 8000044c: 40208f33 sub t5,ra,sp
+ 80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000454: 00200293 li t0,2
+ 80000458: fe5212e3 bne tp,t0,8000043c <test_27+0x4>
+ 8000045c: 00400e93 li t4,4
+ 80000460: 01b00193 li gp,27
+ 80000464: 17df1463 bne t5,t4,800005cc <fail>
+
+0000000080000468 <test_28>:
+ 80000468: 00000213 li tp,0
+ 8000046c: 00b00113 li sp,11
+ 80000470: 00d00093 li ra,13
+ 80000474: 40208f33 sub t5,ra,sp
+ 80000478: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000047c: 00200293 li t0,2
+ 80000480: fe5216e3 bne tp,t0,8000046c <test_28+0x4>
+ 80000484: 00200e93 li t4,2
+ 80000488: 01c00193 li gp,28
+ 8000048c: 15df1063 bne t5,t4,800005cc <fail>
+
+0000000080000490 <test_29>:
+ 80000490: 00000213 li tp,0
+ 80000494: 00b00113 li sp,11
+ 80000498: 00e00093 li ra,14
+ 8000049c: 00000013 nop
+ 800004a0: 40208f33 sub t5,ra,sp
+ 800004a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004a8: 00200293 li t0,2
+ 800004ac: fe5214e3 bne tp,t0,80000494 <test_29+0x4>
+ 800004b0: 00300e93 li t4,3
+ 800004b4: 01d00193 li gp,29
+ 800004b8: 11df1a63 bne t5,t4,800005cc <fail>
+
+00000000800004bc <test_30>:
+ 800004bc: 00000213 li tp,0
+ 800004c0: 00b00113 li sp,11
+ 800004c4: 00f00093 li ra,15
+ 800004c8: 00000013 nop
+ 800004cc: 00000013 nop
+ 800004d0: 40208f33 sub t5,ra,sp
+ 800004d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004d8: 00200293 li t0,2
+ 800004dc: fe5212e3 bne tp,t0,800004c0 <test_30+0x4>
+ 800004e0: 00400e93 li t4,4
+ 800004e4: 01e00193 li gp,30
+ 800004e8: 0fdf1263 bne t5,t4,800005cc <fail>
+
+00000000800004ec <test_31>:
+ 800004ec: 00000213 li tp,0
+ 800004f0: 00b00113 li sp,11
+ 800004f4: 00000013 nop
+ 800004f8: 00d00093 li ra,13
+ 800004fc: 40208f33 sub t5,ra,sp
+ 80000500: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000504: 00200293 li t0,2
+ 80000508: fe5214e3 bne tp,t0,800004f0 <test_31+0x4>
+ 8000050c: 00200e93 li t4,2
+ 80000510: 01f00193 li gp,31
+ 80000514: 0bdf1c63 bne t5,t4,800005cc <fail>
+
+0000000080000518 <test_32>:
+ 80000518: 00000213 li tp,0
+ 8000051c: 00b00113 li sp,11
+ 80000520: 00000013 nop
+ 80000524: 00e00093 li ra,14
+ 80000528: 00000013 nop
+ 8000052c: 40208f33 sub t5,ra,sp
+ 80000530: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000534: 00200293 li t0,2
+ 80000538: fe5212e3 bne tp,t0,8000051c <test_32+0x4>
+ 8000053c: 00300e93 li t4,3
+ 80000540: 02000193 li gp,32
+ 80000544: 09df1463 bne t5,t4,800005cc <fail>
+
+0000000080000548 <test_33>:
+ 80000548: 00000213 li tp,0
+ 8000054c: 00b00113 li sp,11
+ 80000550: 00000013 nop
+ 80000554: 00000013 nop
+ 80000558: 00f00093 li ra,15
+ 8000055c: 40208f33 sub t5,ra,sp
+ 80000560: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000564: 00200293 li t0,2
+ 80000568: fe5212e3 bne tp,t0,8000054c <test_33+0x4>
+ 8000056c: 00400e93 li t4,4
+ 80000570: 02100193 li gp,33
+ 80000574: 05df1c63 bne t5,t4,800005cc <fail>
+
+0000000080000578 <test_34>:
+ 80000578: ff100093 li ra,-15
+ 8000057c: 40100133 neg sp,ra
+ 80000580: 00f00e93 li t4,15
+ 80000584: 02200193 li gp,34
+ 80000588: 05d11263 bne sp,t4,800005cc <fail>
+
+000000008000058c <test_35>:
+ 8000058c: 02000093 li ra,32
+ 80000590: 40008133 sub sp,ra,zero
+ 80000594: 02000e93 li t4,32
+ 80000598: 02300193 li gp,35
+ 8000059c: 03d11863 bne sp,t4,800005cc <fail>
+
+00000000800005a0 <test_36>:
+ 800005a0: 400000b3 neg ra,zero
+ 800005a4: 00000e93 li t4,0
+ 800005a8: 02400193 li gp,36
+ 800005ac: 03d09063 bne ra,t4,800005cc <fail>
+
+00000000800005b0 <test_37>:
+ 800005b0: 01000093 li ra,16
+ 800005b4: 01e00113 li sp,30
+ 800005b8: 40208033 sub zero,ra,sp
+ 800005bc: 00000e93 li t4,0
+ 800005c0: 02500193 li gp,37
+ 800005c4: 01d01463 bne zero,t4,800005cc <fail>
+ 800005c8: 00301c63 bne zero,gp,800005e0 <pass>
+
+00000000800005cc <fail>:
+ 800005cc: 0ff0000f fence
+ 800005d0: 00018063 beqz gp,800005d0 <fail+0x4>
+ 800005d4: 00119193 slli gp,gp,0x1
+ 800005d8: 0011e193 ori gp,gp,1
+ 800005dc: 00000073 ecall
+
+00000000800005e0 <pass>:
+ 800005e0: 0ff0000f fence
+ 800005e4: 00100193 li gp,1
+ 800005e8: 00000073 ecall
+ 800005ec: c0001073 unimp
+ 800005f0: 0000 unimp
+ 800005f2: 0000 unimp
+ 800005f4: 0000 unimp
+ 800005f6: 0000 unimp
+ 800005f8: 0000 unimp
+ 800005fa: 0000 unimp
+ 800005fc: 0000 unimp
+ 800005fe: 0000 unimp
+ 80000600: 0000 unimp
+ 80000602: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-sub.elf b/test/riscv/tests/rv64ui-p-sub.elf
new file mode 100755
index 00000000..04699b73
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sub.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-subw.dump b/test/riscv/tests/rv64ui-p-subw.dump
new file mode 100644
index 00000000..0a29bbfb
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-subw.dump
@@ -0,0 +1,485 @@
+
+rv64ui-p-subw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00000113 li sp,0
+ 80000104: 40208f3b subw t5,ra,sp
+ 80000108: 00000e93 li t4,0
+ 8000010c: 00200193 li gp,2
+ 80000110: 4bdf1663 bne t5,t4,800005bc <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 40208f3b subw t5,ra,sp
+ 80000120: 00000e93 li t4,0
+ 80000124: 00300193 li gp,3
+ 80000128: 49df1a63 bne t5,t4,800005bc <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00300093 li ra,3
+ 80000130: 00700113 li sp,7
+ 80000134: 40208f3b subw t5,ra,sp
+ 80000138: ffc00e93 li t4,-4
+ 8000013c: 00400193 li gp,4
+ 80000140: 47df1e63 bne t5,t4,800005bc <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00000093 li ra,0
+ 80000148: ffff8137 lui sp,0xffff8
+ 8000014c: 40208f3b subw t5,ra,sp
+ 80000150: 00008eb7 lui t4,0x8
+ 80000154: 00500193 li gp,5
+ 80000158: 47df1263 bne t5,t4,800005bc <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00000113 li sp,0
+ 80000164: 40208f3b subw t5,ra,sp
+ 80000168: 80000eb7 lui t4,0x80000
+ 8000016c: 00600193 li gp,6
+ 80000170: 45df1663 bne t5,t4,800005bc <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: ffff8137 lui sp,0xffff8
+ 8000017c: 40208f3b subw t5,ra,sp
+ 80000180: 80008eb7 lui t4,0x80008
+ 80000184: 00700193 li gp,7
+ 80000188: 43df1a63 bne t5,t4,800005bc <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 00000093 li ra,0
+ 80000190: 00008137 lui sp,0x8
+ 80000194: fff1011b addiw sp,sp,-1
+ 80000198: 40208f3b subw t5,ra,sp
+ 8000019c: ffff8eb7 lui t4,0xffff8
+ 800001a0: 001e8e9b addiw t4,t4,1
+ 800001a4: 00800193 li gp,8
+ 800001a8: 41df1a63 bne t5,t4,800005bc <fail>
+
+00000000800001ac <test_9>:
+ 800001ac: 800000b7 lui ra,0x80000
+ 800001b0: fff0809b addiw ra,ra,-1
+ 800001b4: 00000113 li sp,0
+ 800001b8: 40208f3b subw t5,ra,sp
+ 800001bc: 80000eb7 lui t4,0x80000
+ 800001c0: fffe8e9b addiw t4,t4,-1
+ 800001c4: 00900193 li gp,9
+ 800001c8: 3fdf1a63 bne t5,t4,800005bc <fail>
+
+00000000800001cc <test_10>:
+ 800001cc: 800000b7 lui ra,0x80000
+ 800001d0: fff0809b addiw ra,ra,-1
+ 800001d4: 00008137 lui sp,0x8
+ 800001d8: fff1011b addiw sp,sp,-1
+ 800001dc: 40208f3b subw t5,ra,sp
+ 800001e0: 7fff8eb7 lui t4,0x7fff8
+ 800001e4: 00a00193 li gp,10
+ 800001e8: 3ddf1a63 bne t5,t4,800005bc <fail>
+
+00000000800001ec <test_11>:
+ 800001ec: 800000b7 lui ra,0x80000
+ 800001f0: 00008137 lui sp,0x8
+ 800001f4: fff1011b addiw sp,sp,-1
+ 800001f8: 40208f3b subw t5,ra,sp
+ 800001fc: 7fff8eb7 lui t4,0x7fff8
+ 80000200: 001e8e9b addiw t4,t4,1
+ 80000204: 00b00193 li gp,11
+ 80000208: 3bdf1a63 bne t5,t4,800005bc <fail>
+
+000000008000020c <test_12>:
+ 8000020c: 800000b7 lui ra,0x80000
+ 80000210: fff0809b addiw ra,ra,-1
+ 80000214: ffff8137 lui sp,0xffff8
+ 80000218: 40208f3b subw t5,ra,sp
+ 8000021c: 80008eb7 lui t4,0x80008
+ 80000220: fffe8e9b addiw t4,t4,-1
+ 80000224: 00c00193 li gp,12
+ 80000228: 39df1a63 bne t5,t4,800005bc <fail>
+
+000000008000022c <test_13>:
+ 8000022c: 00000093 li ra,0
+ 80000230: fff00113 li sp,-1
+ 80000234: 40208f3b subw t5,ra,sp
+ 80000238: 00100e93 li t4,1
+ 8000023c: 00d00193 li gp,13
+ 80000240: 37df1e63 bne t5,t4,800005bc <fail>
+
+0000000080000244 <test_14>:
+ 80000244: fff00093 li ra,-1
+ 80000248: 00100113 li sp,1
+ 8000024c: 40208f3b subw t5,ra,sp
+ 80000250: ffe00e93 li t4,-2
+ 80000254: 00e00193 li gp,14
+ 80000258: 37df1263 bne t5,t4,800005bc <fail>
+
+000000008000025c <test_15>:
+ 8000025c: fff00093 li ra,-1
+ 80000260: fff00113 li sp,-1
+ 80000264: 40208f3b subw t5,ra,sp
+ 80000268: 00000e93 li t4,0
+ 8000026c: 00f00193 li gp,15
+ 80000270: 35df1663 bne t5,t4,800005bc <fail>
+
+0000000080000274 <test_16>:
+ 80000274: 00d00093 li ra,13
+ 80000278: 00b00113 li sp,11
+ 8000027c: 402080bb subw ra,ra,sp
+ 80000280: 00200e93 li t4,2
+ 80000284: 01000193 li gp,16
+ 80000288: 33d09a63 bne ra,t4,800005bc <fail>
+
+000000008000028c <test_17>:
+ 8000028c: 00e00093 li ra,14
+ 80000290: 00b00113 li sp,11
+ 80000294: 4020813b subw sp,ra,sp
+ 80000298: 00300e93 li t4,3
+ 8000029c: 01100193 li gp,17
+ 800002a0: 31d11e63 bne sp,t4,800005bc <fail>
+
+00000000800002a4 <test_18>:
+ 800002a4: 00d00093 li ra,13
+ 800002a8: 401080bb subw ra,ra,ra
+ 800002ac: 00000e93 li t4,0
+ 800002b0: 01200193 li gp,18
+ 800002b4: 31d09463 bne ra,t4,800005bc <fail>
+
+00000000800002b8 <test_19>:
+ 800002b8: 00000213 li tp,0
+ 800002bc: 00d00093 li ra,13
+ 800002c0: 00b00113 li sp,11
+ 800002c4: 40208f3b subw t5,ra,sp
+ 800002c8: 000f0313 mv t1,t5
+ 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002d0: 00200293 li t0,2
+ 800002d4: fe5214e3 bne tp,t0,800002bc <test_19+0x4>
+ 800002d8: 00200e93 li t4,2
+ 800002dc: 01300193 li gp,19
+ 800002e0: 2dd31e63 bne t1,t4,800005bc <fail>
+
+00000000800002e4 <test_20>:
+ 800002e4: 00000213 li tp,0
+ 800002e8: 00e00093 li ra,14
+ 800002ec: 00b00113 li sp,11
+ 800002f0: 40208f3b subw t5,ra,sp
+ 800002f4: 00000013 nop
+ 800002f8: 000f0313 mv t1,t5
+ 800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000300: 00200293 li t0,2
+ 80000304: fe5212e3 bne tp,t0,800002e8 <test_20+0x4>
+ 80000308: 00300e93 li t4,3
+ 8000030c: 01400193 li gp,20
+ 80000310: 2bd31663 bne t1,t4,800005bc <fail>
+
+0000000080000314 <test_21>:
+ 80000314: 00000213 li tp,0
+ 80000318: 00f00093 li ra,15
+ 8000031c: 00b00113 li sp,11
+ 80000320: 40208f3b subw t5,ra,sp
+ 80000324: 00000013 nop
+ 80000328: 00000013 nop
+ 8000032c: 000f0313 mv t1,t5
+ 80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000334: 00200293 li t0,2
+ 80000338: fe5210e3 bne tp,t0,80000318 <test_21+0x4>
+ 8000033c: 00400e93 li t4,4
+ 80000340: 01500193 li gp,21
+ 80000344: 27d31c63 bne t1,t4,800005bc <fail>
+
+0000000080000348 <test_22>:
+ 80000348: 00000213 li tp,0
+ 8000034c: 00d00093 li ra,13
+ 80000350: 00b00113 li sp,11
+ 80000354: 40208f3b subw t5,ra,sp
+ 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000035c: 00200293 li t0,2
+ 80000360: fe5216e3 bne tp,t0,8000034c <test_22+0x4>
+ 80000364: 00200e93 li t4,2
+ 80000368: 01600193 li gp,22
+ 8000036c: 25df1863 bne t5,t4,800005bc <fail>
+
+0000000080000370 <test_23>:
+ 80000370: 00000213 li tp,0
+ 80000374: 00e00093 li ra,14
+ 80000378: 00b00113 li sp,11
+ 8000037c: 00000013 nop
+ 80000380: 40208f3b subw t5,ra,sp
+ 80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000388: 00200293 li t0,2
+ 8000038c: fe5214e3 bne tp,t0,80000374 <test_23+0x4>
+ 80000390: 00300e93 li t4,3
+ 80000394: 01700193 li gp,23
+ 80000398: 23df1263 bne t5,t4,800005bc <fail>
+
+000000008000039c <test_24>:
+ 8000039c: 00000213 li tp,0
+ 800003a0: 00f00093 li ra,15
+ 800003a4: 00b00113 li sp,11
+ 800003a8: 00000013 nop
+ 800003ac: 00000013 nop
+ 800003b0: 40208f3b subw t5,ra,sp
+ 800003b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003b8: 00200293 li t0,2
+ 800003bc: fe5212e3 bne tp,t0,800003a0 <test_24+0x4>
+ 800003c0: 00400e93 li t4,4
+ 800003c4: 01800193 li gp,24
+ 800003c8: 1fdf1a63 bne t5,t4,800005bc <fail>
+
+00000000800003cc <test_25>:
+ 800003cc: 00000213 li tp,0
+ 800003d0: 00d00093 li ra,13
+ 800003d4: 00000013 nop
+ 800003d8: 00b00113 li sp,11
+ 800003dc: 40208f3b subw t5,ra,sp
+ 800003e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003e4: 00200293 li t0,2
+ 800003e8: fe5214e3 bne tp,t0,800003d0 <test_25+0x4>
+ 800003ec: 00200e93 li t4,2
+ 800003f0: 01900193 li gp,25
+ 800003f4: 1ddf1463 bne t5,t4,800005bc <fail>
+
+00000000800003f8 <test_26>:
+ 800003f8: 00000213 li tp,0
+ 800003fc: 00e00093 li ra,14
+ 80000400: 00000013 nop
+ 80000404: 00b00113 li sp,11
+ 80000408: 00000013 nop
+ 8000040c: 40208f3b subw t5,ra,sp
+ 80000410: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000414: 00200293 li t0,2
+ 80000418: fe5212e3 bne tp,t0,800003fc <test_26+0x4>
+ 8000041c: 00300e93 li t4,3
+ 80000420: 01a00193 li gp,26
+ 80000424: 19df1c63 bne t5,t4,800005bc <fail>
+
+0000000080000428 <test_27>:
+ 80000428: 00000213 li tp,0
+ 8000042c: 00f00093 li ra,15
+ 80000430: 00000013 nop
+ 80000434: 00000013 nop
+ 80000438: 00b00113 li sp,11
+ 8000043c: 40208f3b subw t5,ra,sp
+ 80000440: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000444: 00200293 li t0,2
+ 80000448: fe5212e3 bne tp,t0,8000042c <test_27+0x4>
+ 8000044c: 00400e93 li t4,4
+ 80000450: 01b00193 li gp,27
+ 80000454: 17df1463 bne t5,t4,800005bc <fail>
+
+0000000080000458 <test_28>:
+ 80000458: 00000213 li tp,0
+ 8000045c: 00b00113 li sp,11
+ 80000460: 00d00093 li ra,13
+ 80000464: 40208f3b subw t5,ra,sp
+ 80000468: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000046c: 00200293 li t0,2
+ 80000470: fe5216e3 bne tp,t0,8000045c <test_28+0x4>
+ 80000474: 00200e93 li t4,2
+ 80000478: 01c00193 li gp,28
+ 8000047c: 15df1063 bne t5,t4,800005bc <fail>
+
+0000000080000480 <test_29>:
+ 80000480: 00000213 li tp,0
+ 80000484: 00b00113 li sp,11
+ 80000488: 00e00093 li ra,14
+ 8000048c: 00000013 nop
+ 80000490: 40208f3b subw t5,ra,sp
+ 80000494: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000498: 00200293 li t0,2
+ 8000049c: fe5214e3 bne tp,t0,80000484 <test_29+0x4>
+ 800004a0: 00300e93 li t4,3
+ 800004a4: 01d00193 li gp,29
+ 800004a8: 11df1a63 bne t5,t4,800005bc <fail>
+
+00000000800004ac <test_30>:
+ 800004ac: 00000213 li tp,0
+ 800004b0: 00b00113 li sp,11
+ 800004b4: 00f00093 li ra,15
+ 800004b8: 00000013 nop
+ 800004bc: 00000013 nop
+ 800004c0: 40208f3b subw t5,ra,sp
+ 800004c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004c8: 00200293 li t0,2
+ 800004cc: fe5212e3 bne tp,t0,800004b0 <test_30+0x4>
+ 800004d0: 00400e93 li t4,4
+ 800004d4: 01e00193 li gp,30
+ 800004d8: 0fdf1263 bne t5,t4,800005bc <fail>
+
+00000000800004dc <test_31>:
+ 800004dc: 00000213 li tp,0
+ 800004e0: 00b00113 li sp,11
+ 800004e4: 00000013 nop
+ 800004e8: 00d00093 li ra,13
+ 800004ec: 40208f3b subw t5,ra,sp
+ 800004f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004f4: 00200293 li t0,2
+ 800004f8: fe5214e3 bne tp,t0,800004e0 <test_31+0x4>
+ 800004fc: 00200e93 li t4,2
+ 80000500: 01f00193 li gp,31
+ 80000504: 0bdf1c63 bne t5,t4,800005bc <fail>
+
+0000000080000508 <test_32>:
+ 80000508: 00000213 li tp,0
+ 8000050c: 00b00113 li sp,11
+ 80000510: 00000013 nop
+ 80000514: 00e00093 li ra,14
+ 80000518: 00000013 nop
+ 8000051c: 40208f3b subw t5,ra,sp
+ 80000520: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000524: 00200293 li t0,2
+ 80000528: fe5212e3 bne tp,t0,8000050c <test_32+0x4>
+ 8000052c: 00300e93 li t4,3
+ 80000530: 02000193 li gp,32
+ 80000534: 09df1463 bne t5,t4,800005bc <fail>
+
+0000000080000538 <test_33>:
+ 80000538: 00000213 li tp,0
+ 8000053c: 00b00113 li sp,11
+ 80000540: 00000013 nop
+ 80000544: 00000013 nop
+ 80000548: 00f00093 li ra,15
+ 8000054c: 40208f3b subw t5,ra,sp
+ 80000550: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000554: 00200293 li t0,2
+ 80000558: fe5212e3 bne tp,t0,8000053c <test_33+0x4>
+ 8000055c: 00400e93 li t4,4
+ 80000560: 02100193 li gp,33
+ 80000564: 05df1c63 bne t5,t4,800005bc <fail>
+
+0000000080000568 <test_34>:
+ 80000568: ff100093 li ra,-15
+ 8000056c: 4010013b negw sp,ra
+ 80000570: 00f00e93 li t4,15
+ 80000574: 02200193 li gp,34
+ 80000578: 05d11263 bne sp,t4,800005bc <fail>
+
+000000008000057c <test_35>:
+ 8000057c: 02000093 li ra,32
+ 80000580: 4000813b subw sp,ra,zero
+ 80000584: 02000e93 li t4,32
+ 80000588: 02300193 li gp,35
+ 8000058c: 03d11863 bne sp,t4,800005bc <fail>
+
+0000000080000590 <test_36>:
+ 80000590: 400000bb negw ra,zero
+ 80000594: 00000e93 li t4,0
+ 80000598: 02400193 li gp,36
+ 8000059c: 03d09063 bne ra,t4,800005bc <fail>
+
+00000000800005a0 <test_37>:
+ 800005a0: 01000093 li ra,16
+ 800005a4: 01e00113 li sp,30
+ 800005a8: 4020803b subw zero,ra,sp
+ 800005ac: 00000e93 li t4,0
+ 800005b0: 02500193 li gp,37
+ 800005b4: 01d01463 bne zero,t4,800005bc <fail>
+ 800005b8: 00301c63 bne zero,gp,800005d0 <pass>
+
+00000000800005bc <fail>:
+ 800005bc: 0ff0000f fence
+ 800005c0: 00018063 beqz gp,800005c0 <fail+0x4>
+ 800005c4: 00119193 slli gp,gp,0x1
+ 800005c8: 0011e193 ori gp,gp,1
+ 800005cc: 00000073 ecall
+
+00000000800005d0 <pass>:
+ 800005d0: 0ff0000f fence
+ 800005d4: 00100193 li gp,1
+ 800005d8: 00000073 ecall
+ 800005dc: c0001073 unimp
+ 800005e0: 0000 unimp
+ 800005e2: 0000 unimp
+ 800005e4: 0000 unimp
+ 800005e6: 0000 unimp
+ 800005e8: 0000 unimp
+ 800005ea: 0000 unimp
+ 800005ec: 0000 unimp
+ 800005ee: 0000 unimp
+ 800005f0: 0000 unimp
+ 800005f2: 0000 unimp
+ 800005f4: 0000 unimp
+ 800005f6: 0000 unimp
+ 800005f8: 0000 unimp
+ 800005fa: 0000 unimp
+ 800005fc: 0000 unimp
+ 800005fe: 0000 unimp
+ 80000600: 0000 unimp
+ 80000602: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-subw.elf b/test/riscv/tests/rv64ui-p-subw.elf
new file mode 100755
index 00000000..569998ee
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-subw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-sw.dump b/test/riscv/tests/rv64ui-p-sw.dump
new file mode 100644
index 00000000..a80b9958
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sw.dump
@@ -0,0 +1,476 @@
+
+rv64ui-p-sw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00002097 auipc ra,0x2
+ 80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature>
+ 80000104: 00aa0137 lui sp,0xaa0
+ 80000108: 0aa1011b addiw sp,sp,170
+ 8000010c: 0020a023 sw sp,0(ra)
+ 80000110: 0000af03 lw t5,0(ra)
+ 80000114: 00aa0eb7 lui t4,0xaa0
+ 80000118: 0aae8e9b addiw t4,t4,170
+ 8000011c: 00200193 li gp,2
+ 80000120: 47df1063 bne t5,t4,80000580 <fail>
+
+0000000080000124 <test_3>:
+ 80000124: 00002097 auipc ra,0x2
+ 80000128: edc08093 addi ra,ra,-292 # 80002000 <begin_signature>
+ 8000012c: aa00b137 lui sp,0xaa00b
+ 80000130: a001011b addiw sp,sp,-1536
+ 80000134: 0020a223 sw sp,4(ra)
+ 80000138: 0040af03 lw t5,4(ra)
+ 8000013c: aa00beb7 lui t4,0xaa00b
+ 80000140: a00e8e9b addiw t4,t4,-1536
+ 80000144: 00300193 li gp,3
+ 80000148: 43df1c63 bne t5,t4,80000580 <fail>
+
+000000008000014c <test_4>:
+ 8000014c: 00002097 auipc ra,0x2
+ 80000150: eb408093 addi ra,ra,-332 # 80002000 <begin_signature>
+ 80000154: 0aa01137 lui sp,0xaa01
+ 80000158: aa01011b addiw sp,sp,-1376
+ 8000015c: 0020a423 sw sp,8(ra)
+ 80000160: 0080af03 lw t5,8(ra)
+ 80000164: 0aa01eb7 lui t4,0xaa01
+ 80000168: aa0e8e9b addiw t4,t4,-1376
+ 8000016c: 00400193 li gp,4
+ 80000170: 41df1863 bne t5,t4,80000580 <fail>
+
+0000000080000174 <test_5>:
+ 80000174: 00002097 auipc ra,0x2
+ 80000178: e8c08093 addi ra,ra,-372 # 80002000 <begin_signature>
+ 8000017c: a00aa137 lui sp,0xa00aa
+ 80000180: 00a1011b addiw sp,sp,10
+ 80000184: 0020a623 sw sp,12(ra)
+ 80000188: 00c0af03 lw t5,12(ra)
+ 8000018c: a00aaeb7 lui t4,0xa00aa
+ 80000190: 00ae8e9b addiw t4,t4,10
+ 80000194: 00500193 li gp,5
+ 80000198: 3fdf1463 bne t5,t4,80000580 <fail>
+
+000000008000019c <test_6>:
+ 8000019c: 00002097 auipc ra,0x2
+ 800001a0: e8008093 addi ra,ra,-384 # 8000201c <tdat8>
+ 800001a4: 00aa0137 lui sp,0xaa0
+ 800001a8: 0aa1011b addiw sp,sp,170
+ 800001ac: fe20aa23 sw sp,-12(ra)
+ 800001b0: ff40af03 lw t5,-12(ra)
+ 800001b4: 00aa0eb7 lui t4,0xaa0
+ 800001b8: 0aae8e9b addiw t4,t4,170
+ 800001bc: 00600193 li gp,6
+ 800001c0: 3ddf1063 bne t5,t4,80000580 <fail>
+
+00000000800001c4 <test_7>:
+ 800001c4: 00002097 auipc ra,0x2
+ 800001c8: e5808093 addi ra,ra,-424 # 8000201c <tdat8>
+ 800001cc: aa00b137 lui sp,0xaa00b
+ 800001d0: a001011b addiw sp,sp,-1536
+ 800001d4: fe20ac23 sw sp,-8(ra)
+ 800001d8: ff80af03 lw t5,-8(ra)
+ 800001dc: aa00beb7 lui t4,0xaa00b
+ 800001e0: a00e8e9b addiw t4,t4,-1536
+ 800001e4: 00700193 li gp,7
+ 800001e8: 39df1c63 bne t5,t4,80000580 <fail>
+
+00000000800001ec <test_8>:
+ 800001ec: 00002097 auipc ra,0x2
+ 800001f0: e3008093 addi ra,ra,-464 # 8000201c <tdat8>
+ 800001f4: 0aa01137 lui sp,0xaa01
+ 800001f8: aa01011b addiw sp,sp,-1376
+ 800001fc: fe20ae23 sw sp,-4(ra)
+ 80000200: ffc0af03 lw t5,-4(ra)
+ 80000204: 0aa01eb7 lui t4,0xaa01
+ 80000208: aa0e8e9b addiw t4,t4,-1376
+ 8000020c: 00800193 li gp,8
+ 80000210: 37df1863 bne t5,t4,80000580 <fail>
+
+0000000080000214 <test_9>:
+ 80000214: 00002097 auipc ra,0x2
+ 80000218: e0808093 addi ra,ra,-504 # 8000201c <tdat8>
+ 8000021c: a00aa137 lui sp,0xa00aa
+ 80000220: 00a1011b addiw sp,sp,10
+ 80000224: 0020a023 sw sp,0(ra)
+ 80000228: 0000af03 lw t5,0(ra)
+ 8000022c: a00aaeb7 lui t4,0xa00aa
+ 80000230: 00ae8e9b addiw t4,t4,10
+ 80000234: 00900193 li gp,9
+ 80000238: 35df1463 bne t5,t4,80000580 <fail>
+
+000000008000023c <test_10>:
+ 8000023c: 00002097 auipc ra,0x2
+ 80000240: de408093 addi ra,ra,-540 # 80002020 <tdat9>
+ 80000244: 12345137 lui sp,0x12345
+ 80000248: 6781011b addiw sp,sp,1656
+ 8000024c: fe008213 addi tp,ra,-32
+ 80000250: 02222023 sw sp,32(tp) # 20 <_start-0x7fffffe0>
+ 80000254: 0000a283 lw t0,0(ra)
+ 80000258: 12345eb7 lui t4,0x12345
+ 8000025c: 678e8e9b addiw t4,t4,1656
+ 80000260: 00a00193 li gp,10
+ 80000264: 31d29e63 bne t0,t4,80000580 <fail>
+
+0000000080000268 <test_11>:
+ 80000268: 00002097 auipc ra,0x2
+ 8000026c: db808093 addi ra,ra,-584 # 80002020 <tdat9>
+ 80000270: 58213137 lui sp,0x58213
+ 80000274: 0981011b addiw sp,sp,152
+ 80000278: ffd08093 addi ra,ra,-3
+ 8000027c: 0020a3a3 sw sp,7(ra)
+ 80000280: 00002217 auipc tp,0x2
+ 80000284: da420213 addi tp,tp,-604 # 80002024 <tdat10>
+ 80000288: 00022283 lw t0,0(tp) # 0 <_start-0x80000000>
+ 8000028c: 58213eb7 lui t4,0x58213
+ 80000290: 098e8e9b addiw t4,t4,152
+ 80000294: 00b00193 li gp,11
+ 80000298: 2fd29463 bne t0,t4,80000580 <fail>
+
+000000008000029c <test_12>:
+ 8000029c: 00c00193 li gp,12
+ 800002a0: 00000213 li tp,0
+ 800002a4: aabbd0b7 lui ra,0xaabbd
+ 800002a8: cdd0809b addiw ra,ra,-803
+ 800002ac: 00002117 auipc sp,0x2
+ 800002b0: d5410113 addi sp,sp,-684 # 80002000 <begin_signature>
+ 800002b4: 00112023 sw ra,0(sp)
+ 800002b8: 00012f03 lw t5,0(sp)
+ 800002bc: aabbdeb7 lui t4,0xaabbd
+ 800002c0: cdde8e9b addiw t4,t4,-803
+ 800002c4: 2bdf1e63 bne t5,t4,80000580 <fail>
+ 800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002cc: 00200293 li t0,2
+ 800002d0: fc521ae3 bne tp,t0,800002a4 <test_12+0x8>
+
+00000000800002d4 <test_13>:
+ 800002d4: 00d00193 li gp,13
+ 800002d8: 00000213 li tp,0
+ 800002dc: daabc0b7 lui ra,0xdaabc
+ 800002e0: ccd0809b addiw ra,ra,-819
+ 800002e4: 00002117 auipc sp,0x2
+ 800002e8: d1c10113 addi sp,sp,-740 # 80002000 <begin_signature>
+ 800002ec: 00000013 nop
+ 800002f0: 00112223 sw ra,4(sp)
+ 800002f4: 00412f03 lw t5,4(sp)
+ 800002f8: daabceb7 lui t4,0xdaabc
+ 800002fc: ccde8e9b addiw t4,t4,-819
+ 80000300: 29df1063 bne t5,t4,80000580 <fail>
+ 80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000308: 00200293 li t0,2
+ 8000030c: fc5218e3 bne tp,t0,800002dc <test_13+0x8>
+
+0000000080000310 <test_14>:
+ 80000310: 00e00193 li gp,14
+ 80000314: 00000213 li tp,0
+ 80000318: ddaac0b7 lui ra,0xddaac
+ 8000031c: bcc0809b addiw ra,ra,-1076
+ 80000320: 00002117 auipc sp,0x2
+ 80000324: ce010113 addi sp,sp,-800 # 80002000 <begin_signature>
+ 80000328: 00000013 nop
+ 8000032c: 00000013 nop
+ 80000330: 00112423 sw ra,8(sp)
+ 80000334: 00812f03 lw t5,8(sp)
+ 80000338: ddaaceb7 lui t4,0xddaac
+ 8000033c: bcce8e9b addiw t4,t4,-1076
+ 80000340: 25df1063 bne t5,t4,80000580 <fail>
+ 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000348: 00200293 li t0,2
+ 8000034c: fc5216e3 bne tp,t0,80000318 <test_14+0x8>
+
+0000000080000350 <test_15>:
+ 80000350: 00f00193 li gp,15
+ 80000354: 00000213 li tp,0
+ 80000358: cddab0b7 lui ra,0xcddab
+ 8000035c: bbc0809b addiw ra,ra,-1092
+ 80000360: 00000013 nop
+ 80000364: 00002117 auipc sp,0x2
+ 80000368: c9c10113 addi sp,sp,-868 # 80002000 <begin_signature>
+ 8000036c: 00112623 sw ra,12(sp)
+ 80000370: 00c12f03 lw t5,12(sp)
+ 80000374: cddabeb7 lui t4,0xcddab
+ 80000378: bbce8e9b addiw t4,t4,-1092
+ 8000037c: 21df1263 bne t5,t4,80000580 <fail>
+ 80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000384: 00200293 li t0,2
+ 80000388: fc5218e3 bne tp,t0,80000358 <test_15+0x8>
+
+000000008000038c <test_16>:
+ 8000038c: 01000193 li gp,16
+ 80000390: 00000213 li tp,0
+ 80000394: ccddb0b7 lui ra,0xccddb
+ 80000398: abb0809b addiw ra,ra,-1349
+ 8000039c: 00000013 nop
+ 800003a0: 00002117 auipc sp,0x2
+ 800003a4: c6010113 addi sp,sp,-928 # 80002000 <begin_signature>
+ 800003a8: 00000013 nop
+ 800003ac: 00112823 sw ra,16(sp)
+ 800003b0: 01012f03 lw t5,16(sp)
+ 800003b4: ccddbeb7 lui t4,0xccddb
+ 800003b8: abbe8e9b addiw t4,t4,-1349
+ 800003bc: 1ddf1263 bne t5,t4,80000580 <fail>
+ 800003c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003c4: 00200293 li t0,2
+ 800003c8: fc5216e3 bne tp,t0,80000394 <test_16+0x8>
+
+00000000800003cc <test_17>:
+ 800003cc: 01100193 li gp,17
+ 800003d0: 00000213 li tp,0
+ 800003d4: bccde0b7 lui ra,0xbccde
+ 800003d8: aab0809b addiw ra,ra,-1365
+ 800003dc: 00000013 nop
+ 800003e0: 00000013 nop
+ 800003e4: 00002117 auipc sp,0x2
+ 800003e8: c1c10113 addi sp,sp,-996 # 80002000 <begin_signature>
+ 800003ec: 00112a23 sw ra,20(sp)
+ 800003f0: 01412f03 lw t5,20(sp)
+ 800003f4: bccdeeb7 lui t4,0xbccde
+ 800003f8: aabe8e9b addiw t4,t4,-1365
+ 800003fc: 19df1263 bne t5,t4,80000580 <fail>
+ 80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000404: 00200293 li t0,2
+ 80000408: fc5216e3 bne tp,t0,800003d4 <test_17+0x8>
+
+000000008000040c <test_18>:
+ 8000040c: 01200193 li gp,18
+ 80000410: 00000213 li tp,0
+ 80000414: 00002117 auipc sp,0x2
+ 80000418: bec10113 addi sp,sp,-1044 # 80002000 <begin_signature>
+ 8000041c: 001120b7 lui ra,0x112
+ 80000420: 2330809b addiw ra,ra,563
+ 80000424: 00112023 sw ra,0(sp)
+ 80000428: 00012f03 lw t5,0(sp)
+ 8000042c: 00112eb7 lui t4,0x112
+ 80000430: 233e8e9b addiw t4,t4,563
+ 80000434: 15df1663 bne t5,t4,80000580 <fail>
+ 80000438: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000043c: 00200293 li t0,2
+ 80000440: fc521ae3 bne tp,t0,80000414 <test_18+0x8>
+
+0000000080000444 <test_19>:
+ 80000444: 01300193 li gp,19
+ 80000448: 00000213 li tp,0
+ 8000044c: 00002117 auipc sp,0x2
+ 80000450: bb410113 addi sp,sp,-1100 # 80002000 <begin_signature>
+ 80000454: 300110b7 lui ra,0x30011
+ 80000458: 2230809b addiw ra,ra,547
+ 8000045c: 00000013 nop
+ 80000460: 00112223 sw ra,4(sp)
+ 80000464: 00412f03 lw t5,4(sp)
+ 80000468: 30011eb7 lui t4,0x30011
+ 8000046c: 223e8e9b addiw t4,t4,547
+ 80000470: 11df1863 bne t5,t4,80000580 <fail>
+ 80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000478: 00200293 li t0,2
+ 8000047c: fc5218e3 bne tp,t0,8000044c <test_19+0x8>
+
+0000000080000480 <test_20>:
+ 80000480: 01400193 li gp,20
+ 80000484: 00000213 li tp,0
+ 80000488: 00002117 auipc sp,0x2
+ 8000048c: b7810113 addi sp,sp,-1160 # 80002000 <begin_signature>
+ 80000490: 330010b7 lui ra,0x33001
+ 80000494: 1220809b addiw ra,ra,290
+ 80000498: 00000013 nop
+ 8000049c: 00000013 nop
+ 800004a0: 00112423 sw ra,8(sp)
+ 800004a4: 00812f03 lw t5,8(sp)
+ 800004a8: 33001eb7 lui t4,0x33001
+ 800004ac: 122e8e9b addiw t4,t4,290
+ 800004b0: 0ddf1863 bne t5,t4,80000580 <fail>
+ 800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004b8: 00200293 li t0,2
+ 800004bc: fc5216e3 bne tp,t0,80000488 <test_20+0x8>
+
+00000000800004c0 <test_21>:
+ 800004c0: 01500193 li gp,21
+ 800004c4: 00000213 li tp,0
+ 800004c8: 00002117 auipc sp,0x2
+ 800004cc: b3810113 addi sp,sp,-1224 # 80002000 <begin_signature>
+ 800004d0: 00000013 nop
+ 800004d4: 233000b7 lui ra,0x23300
+ 800004d8: 1120809b addiw ra,ra,274
+ 800004dc: 00112623 sw ra,12(sp)
+ 800004e0: 00c12f03 lw t5,12(sp)
+ 800004e4: 23300eb7 lui t4,0x23300
+ 800004e8: 112e8e9b addiw t4,t4,274
+ 800004ec: 09df1a63 bne t5,t4,80000580 <fail>
+ 800004f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004f4: 00200293 li t0,2
+ 800004f8: fc5218e3 bne tp,t0,800004c8 <test_21+0x8>
+
+00000000800004fc <test_22>:
+ 800004fc: 01600193 li gp,22
+ 80000500: 00000213 li tp,0
+ 80000504: 00002117 auipc sp,0x2
+ 80000508: afc10113 addi sp,sp,-1284 # 80002000 <begin_signature>
+ 8000050c: 00000013 nop
+ 80000510: 223300b7 lui ra,0x22330
+ 80000514: 0110809b addiw ra,ra,17
+ 80000518: 00000013 nop
+ 8000051c: 00112823 sw ra,16(sp)
+ 80000520: 01012f03 lw t5,16(sp)
+ 80000524: 22330eb7 lui t4,0x22330
+ 80000528: 011e8e9b addiw t4,t4,17
+ 8000052c: 05df1a63 bne t5,t4,80000580 <fail>
+ 80000530: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000534: 00200293 li t0,2
+ 80000538: fc5216e3 bne tp,t0,80000504 <test_22+0x8>
+
+000000008000053c <test_23>:
+ 8000053c: 01700193 li gp,23
+ 80000540: 00000213 li tp,0
+ 80000544: 00002117 auipc sp,0x2
+ 80000548: abc10113 addi sp,sp,-1348 # 80002000 <begin_signature>
+ 8000054c: 00000013 nop
+ 80000550: 00000013 nop
+ 80000554: 122330b7 lui ra,0x12233
+ 80000558: 0010809b addiw ra,ra,1
+ 8000055c: 00112a23 sw ra,20(sp)
+ 80000560: 01412f03 lw t5,20(sp)
+ 80000564: 12233eb7 lui t4,0x12233
+ 80000568: 001e8e9b addiw t4,t4,1
+ 8000056c: 01df1a63 bne t5,t4,80000580 <fail>
+ 80000570: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000574: 00200293 li t0,2
+ 80000578: fc5216e3 bne tp,t0,80000544 <test_23+0x8>
+ 8000057c: 00301c63 bne zero,gp,80000594 <pass>
+
+0000000080000580 <fail>:
+ 80000580: 0ff0000f fence
+ 80000584: 00018063 beqz gp,80000584 <fail+0x4>
+ 80000588: 00119193 slli gp,gp,0x1
+ 8000058c: 0011e193 ori gp,gp,1
+ 80000590: 00000073 ecall
+
+0000000080000594 <pass>:
+ 80000594: 0ff0000f fence
+ 80000598: 00100193 li gp,1
+ 8000059c: 00000073 ecall
+ 800005a0: c0001073 unimp
+ 800005a4: 0000 unimp
+ 800005a6: 0000 unimp
+ 800005a8: 0000 unimp
+ 800005aa: 0000 unimp
+ 800005ac: 0000 unimp
+ 800005ae: 0000 unimp
+ 800005b0: 0000 unimp
+ 800005b2: 0000 unimp
+ 800005b4: 0000 unimp
+ 800005b6: 0000 unimp
+ 800005b8: 0000 unimp
+ 800005ba: 0000 unimp
+ 800005bc: 0000 unimp
+ 800005be: 0000 unimp
+ 800005c0: 0000 unimp
+ 800005c2: 0000 unimp
+
+Disassembly of section .data:
+
+0000000080002000 <begin_signature>:
+ 80002000: deadbeef jal t4,7ffdd5ea <_start-0x22a16>
+
+0000000080002004 <tdat2>:
+ 80002004: deadbeef jal t4,7ffdd5ee <_start-0x22a12>
+
+0000000080002008 <tdat3>:
+ 80002008: deadbeef jal t4,7ffdd5f2 <_start-0x22a0e>
+
+000000008000200c <tdat4>:
+ 8000200c: deadbeef jal t4,7ffdd5f6 <_start-0x22a0a>
+
+0000000080002010 <tdat5>:
+ 80002010: deadbeef jal t4,7ffdd5fa <_start-0x22a06>
+
+0000000080002014 <tdat6>:
+ 80002014: deadbeef jal t4,7ffdd5fe <_start-0x22a02>
+
+0000000080002018 <tdat7>:
+ 80002018: deadbeef jal t4,7ffdd602 <_start-0x229fe>
+
+000000008000201c <tdat8>:
+ 8000201c: deadbeef jal t4,7ffdd606 <_start-0x229fa>
+
+0000000080002020 <tdat9>:
+ 80002020: deadbeef jal t4,7ffdd60a <_start-0x229f6>
+
+0000000080002024 <tdat10>:
+ 80002024: deadbeef jal t4,7ffdd60e <_start-0x229f2>
+ 80002028: 0000 unimp
+ 8000202a: 0000 unimp
+ 8000202c: 0000 unimp
+ 8000202e: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-sw.elf b/test/riscv/tests/rv64ui-p-sw.elf
new file mode 100755
index 00000000..0b7daaa8
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-sw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-xor.dump b/test/riscv/tests/rv64ui-p-xor.dump
new file mode 100644
index 00000000..2f6d21b3
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-xor.dump
@@ -0,0 +1,527 @@
+
+rv64ui-p-xor: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 000100b7 lui ra,0x10
+ 80000100: f010809b addiw ra,ra,-255
+ 80000104: 01009093 slli ra,ra,0x10
+ 80000108: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 8000010c: 0f0f1137 lui sp,0xf0f1
+ 80000110: f0f1011b addiw sp,sp,-241
+ 80000114: 0020cf33 xor t5,ra,sp
+ 80000118: 000f0eb7 lui t4,0xf0
+ 8000011c: 0ffe8e9b addiw t4,t4,255
+ 80000120: 00ce9e93 slli t4,t4,0xc
+ 80000124: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 80000128: 00200193 li gp,2
+ 8000012c: 59df1c63 bne t5,t4,800006c4 <fail>
+
+0000000080000130 <test_3>:
+ 80000130: 0ff010b7 lui ra,0xff01
+ 80000134: ff00809b addiw ra,ra,-16
+ 80000138: 000f1137 lui sp,0xf1
+ 8000013c: f0f1011b addiw sp,sp,-241
+ 80000140: 00c11113 slli sp,sp,0xc
+ 80000144: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 80000148: 0020cf33 xor t5,ra,sp
+ 8000014c: 00010eb7 lui t4,0x10
+ 80000150: f01e8e9b addiw t4,t4,-255
+ 80000154: 010e9e93 slli t4,t4,0x10
+ 80000158: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 8000015c: 00300193 li gp,3
+ 80000160: 57df1263 bne t5,t4,800006c4 <fail>
+
+0000000080000164 <test_4>:
+ 80000164: 00ff00b7 lui ra,0xff0
+ 80000168: 0ff0809b addiw ra,ra,255
+ 8000016c: 0f0f1137 lui sp,0xf0f1
+ 80000170: f0f1011b addiw sp,sp,-241
+ 80000174: 0020cf33 xor t5,ra,sp
+ 80000178: 0ff01eb7 lui t4,0xff01
+ 8000017c: ff0e8e9b addiw t4,t4,-16
+ 80000180: 00400193 li gp,4
+ 80000184: 55df1063 bne t5,t4,800006c4 <fail>
+
+0000000080000188 <test_5>:
+ 80000188: 000f00b7 lui ra,0xf0
+ 8000018c: 0ff0809b addiw ra,ra,255
+ 80000190: 00c09093 slli ra,ra,0xc
+ 80000194: 00f08093 addi ra,ra,15 # f000f <_start-0x7ff0fff1>
+ 80000198: 000f1137 lui sp,0xf1
+ 8000019c: f0f1011b addiw sp,sp,-241
+ 800001a0: 00c11113 slli sp,sp,0xc
+ 800001a4: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 800001a8: 0020cf33 xor t5,ra,sp
+ 800001ac: 00ff0eb7 lui t4,0xff0
+ 800001b0: 0ffe8e9b addiw t4,t4,255
+ 800001b4: 00500193 li gp,5
+ 800001b8: 51df1663 bne t5,t4,800006c4 <fail>
+
+00000000800001bc <test_6>:
+ 800001bc: 000100b7 lui ra,0x10
+ 800001c0: f010809b addiw ra,ra,-255
+ 800001c4: 01009093 slli ra,ra,0x10
+ 800001c8: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 800001cc: 0f0f1137 lui sp,0xf0f1
+ 800001d0: f0f1011b addiw sp,sp,-241
+ 800001d4: 0020c0b3 xor ra,ra,sp
+ 800001d8: 000f0eb7 lui t4,0xf0
+ 800001dc: 0ffe8e9b addiw t4,t4,255
+ 800001e0: 00ce9e93 slli t4,t4,0xc
+ 800001e4: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 800001e8: 00600193 li gp,6
+ 800001ec: 4dd09c63 bne ra,t4,800006c4 <fail>
+
+00000000800001f0 <test_7>:
+ 800001f0: 000100b7 lui ra,0x10
+ 800001f4: f010809b addiw ra,ra,-255
+ 800001f8: 01009093 slli ra,ra,0x10
+ 800001fc: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000200: 0f0f1137 lui sp,0xf0f1
+ 80000204: f0f1011b addiw sp,sp,-241
+ 80000208: 0020c133 xor sp,ra,sp
+ 8000020c: 000f0eb7 lui t4,0xf0
+ 80000210: 0ffe8e9b addiw t4,t4,255
+ 80000214: 00ce9e93 slli t4,t4,0xc
+ 80000218: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 8000021c: 00700193 li gp,7
+ 80000220: 4bd11263 bne sp,t4,800006c4 <fail>
+
+0000000080000224 <test_8>:
+ 80000224: 000100b7 lui ra,0x10
+ 80000228: f010809b addiw ra,ra,-255
+ 8000022c: 01009093 slli ra,ra,0x10
+ 80000230: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000234: 0010c0b3 xor ra,ra,ra
+ 80000238: 00000e93 li t4,0
+ 8000023c: 00800193 li gp,8
+ 80000240: 49d09263 bne ra,t4,800006c4 <fail>
+
+0000000080000244 <test_9>:
+ 80000244: 00000213 li tp,0
+ 80000248: 000100b7 lui ra,0x10
+ 8000024c: f010809b addiw ra,ra,-255
+ 80000250: 01009093 slli ra,ra,0x10
+ 80000254: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000258: 0f0f1137 lui sp,0xf0f1
+ 8000025c: f0f1011b addiw sp,sp,-241
+ 80000260: 0020cf33 xor t5,ra,sp
+ 80000264: 000f0313 mv t1,t5
+ 80000268: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000026c: 00200293 li t0,2
+ 80000270: fc521ce3 bne tp,t0,80000248 <test_9+0x4>
+ 80000274: 000f0eb7 lui t4,0xf0
+ 80000278: 0ffe8e9b addiw t4,t4,255
+ 8000027c: 00ce9e93 slli t4,t4,0xc
+ 80000280: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 80000284: 00900193 li gp,9
+ 80000288: 43d31e63 bne t1,t4,800006c4 <fail>
+
+000000008000028c <test_10>:
+ 8000028c: 00000213 li tp,0
+ 80000290: 0ff010b7 lui ra,0xff01
+ 80000294: ff00809b addiw ra,ra,-16
+ 80000298: 000f1137 lui sp,0xf1
+ 8000029c: f0f1011b addiw sp,sp,-241
+ 800002a0: 00c11113 slli sp,sp,0xc
+ 800002a4: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 800002a8: 0020cf33 xor t5,ra,sp
+ 800002ac: 00000013 nop
+ 800002b0: 000f0313 mv t1,t5
+ 800002b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002b8: 00200293 li t0,2
+ 800002bc: fc521ae3 bne tp,t0,80000290 <test_10+0x4>
+ 800002c0: 00010eb7 lui t4,0x10
+ 800002c4: f01e8e9b addiw t4,t4,-255
+ 800002c8: 010e9e93 slli t4,t4,0x10
+ 800002cc: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 800002d0: 00a00193 li gp,10
+ 800002d4: 3fd31863 bne t1,t4,800006c4 <fail>
+
+00000000800002d8 <test_11>:
+ 800002d8: 00000213 li tp,0
+ 800002dc: 00ff00b7 lui ra,0xff0
+ 800002e0: 0ff0809b addiw ra,ra,255
+ 800002e4: 0f0f1137 lui sp,0xf0f1
+ 800002e8: f0f1011b addiw sp,sp,-241
+ 800002ec: 0020cf33 xor t5,ra,sp
+ 800002f0: 00000013 nop
+ 800002f4: 00000013 nop
+ 800002f8: 000f0313 mv t1,t5
+ 800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000300: 00200293 li t0,2
+ 80000304: fc521ce3 bne tp,t0,800002dc <test_11+0x4>
+ 80000308: 0ff01eb7 lui t4,0xff01
+ 8000030c: ff0e8e9b addiw t4,t4,-16
+ 80000310: 00b00193 li gp,11
+ 80000314: 3bd31863 bne t1,t4,800006c4 <fail>
+
+0000000080000318 <test_12>:
+ 80000318: 00000213 li tp,0
+ 8000031c: 000100b7 lui ra,0x10
+ 80000320: f010809b addiw ra,ra,-255
+ 80000324: 01009093 slli ra,ra,0x10
+ 80000328: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 8000032c: 0f0f1137 lui sp,0xf0f1
+ 80000330: f0f1011b addiw sp,sp,-241
+ 80000334: 0020cf33 xor t5,ra,sp
+ 80000338: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000033c: 00200293 li t0,2
+ 80000340: fc521ee3 bne tp,t0,8000031c <test_12+0x4>
+ 80000344: 000f0eb7 lui t4,0xf0
+ 80000348: 0ffe8e9b addiw t4,t4,255
+ 8000034c: 00ce9e93 slli t4,t4,0xc
+ 80000350: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 80000354: 00c00193 li gp,12
+ 80000358: 37df1663 bne t5,t4,800006c4 <fail>
+
+000000008000035c <test_13>:
+ 8000035c: 00000213 li tp,0
+ 80000360: 0ff010b7 lui ra,0xff01
+ 80000364: ff00809b addiw ra,ra,-16
+ 80000368: 000f1137 lui sp,0xf1
+ 8000036c: f0f1011b addiw sp,sp,-241
+ 80000370: 00c11113 slli sp,sp,0xc
+ 80000374: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 80000378: 00000013 nop
+ 8000037c: 0020cf33 xor t5,ra,sp
+ 80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000384: 00200293 li t0,2
+ 80000388: fc521ce3 bne tp,t0,80000360 <test_13+0x4>
+ 8000038c: 00010eb7 lui t4,0x10
+ 80000390: f01e8e9b addiw t4,t4,-255
+ 80000394: 010e9e93 slli t4,t4,0x10
+ 80000398: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 8000039c: 00d00193 li gp,13
+ 800003a0: 33df1263 bne t5,t4,800006c4 <fail>
+
+00000000800003a4 <test_14>:
+ 800003a4: 00000213 li tp,0
+ 800003a8: 00ff00b7 lui ra,0xff0
+ 800003ac: 0ff0809b addiw ra,ra,255
+ 800003b0: 0f0f1137 lui sp,0xf0f1
+ 800003b4: f0f1011b addiw sp,sp,-241
+ 800003b8: 00000013 nop
+ 800003bc: 00000013 nop
+ 800003c0: 0020cf33 xor t5,ra,sp
+ 800003c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003c8: 00200293 li t0,2
+ 800003cc: fc521ee3 bne tp,t0,800003a8 <test_14+0x4>
+ 800003d0: 0ff01eb7 lui t4,0xff01
+ 800003d4: ff0e8e9b addiw t4,t4,-16
+ 800003d8: 00e00193 li gp,14
+ 800003dc: 2fdf1463 bne t5,t4,800006c4 <fail>
+
+00000000800003e0 <test_15>:
+ 800003e0: 00000213 li tp,0
+ 800003e4: 000100b7 lui ra,0x10
+ 800003e8: f010809b addiw ra,ra,-255
+ 800003ec: 01009093 slli ra,ra,0x10
+ 800003f0: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 800003f4: 00000013 nop
+ 800003f8: 0f0f1137 lui sp,0xf0f1
+ 800003fc: f0f1011b addiw sp,sp,-241
+ 80000400: 0020cf33 xor t5,ra,sp
+ 80000404: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000408: 00200293 li t0,2
+ 8000040c: fc521ce3 bne tp,t0,800003e4 <test_15+0x4>
+ 80000410: 000f0eb7 lui t4,0xf0
+ 80000414: 0ffe8e9b addiw t4,t4,255
+ 80000418: 00ce9e93 slli t4,t4,0xc
+ 8000041c: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 80000420: 00f00193 li gp,15
+ 80000424: 2bdf1063 bne t5,t4,800006c4 <fail>
+
+0000000080000428 <test_16>:
+ 80000428: 00000213 li tp,0
+ 8000042c: 0ff010b7 lui ra,0xff01
+ 80000430: ff00809b addiw ra,ra,-16
+ 80000434: 00000013 nop
+ 80000438: 000f1137 lui sp,0xf1
+ 8000043c: f0f1011b addiw sp,sp,-241
+ 80000440: 00c11113 slli sp,sp,0xc
+ 80000444: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 80000448: 00000013 nop
+ 8000044c: 0020cf33 xor t5,ra,sp
+ 80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000454: 00200293 li t0,2
+ 80000458: fc521ae3 bne tp,t0,8000042c <test_16+0x4>
+ 8000045c: 00010eb7 lui t4,0x10
+ 80000460: f01e8e9b addiw t4,t4,-255
+ 80000464: 010e9e93 slli t4,t4,0x10
+ 80000468: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 8000046c: 01000193 li gp,16
+ 80000470: 25df1a63 bne t5,t4,800006c4 <fail>
+
+0000000080000474 <test_17>:
+ 80000474: 00000213 li tp,0
+ 80000478: 00ff00b7 lui ra,0xff0
+ 8000047c: 0ff0809b addiw ra,ra,255
+ 80000480: 00000013 nop
+ 80000484: 00000013 nop
+ 80000488: 0f0f1137 lui sp,0xf0f1
+ 8000048c: f0f1011b addiw sp,sp,-241
+ 80000490: 0020cf33 xor t5,ra,sp
+ 80000494: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000498: 00200293 li t0,2
+ 8000049c: fc521ee3 bne tp,t0,80000478 <test_17+0x4>
+ 800004a0: 0ff01eb7 lui t4,0xff01
+ 800004a4: ff0e8e9b addiw t4,t4,-16
+ 800004a8: 01100193 li gp,17
+ 800004ac: 21df1c63 bne t5,t4,800006c4 <fail>
+
+00000000800004b0 <test_18>:
+ 800004b0: 00000213 li tp,0
+ 800004b4: 0f0f1137 lui sp,0xf0f1
+ 800004b8: f0f1011b addiw sp,sp,-241
+ 800004bc: 000100b7 lui ra,0x10
+ 800004c0: f010809b addiw ra,ra,-255
+ 800004c4: 01009093 slli ra,ra,0x10
+ 800004c8: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 800004cc: 0020cf33 xor t5,ra,sp
+ 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004d4: 00200293 li t0,2
+ 800004d8: fc521ee3 bne tp,t0,800004b4 <test_18+0x4>
+ 800004dc: 000f0eb7 lui t4,0xf0
+ 800004e0: 0ffe8e9b addiw t4,t4,255
+ 800004e4: 00ce9e93 slli t4,t4,0xc
+ 800004e8: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 800004ec: 01200193 li gp,18
+ 800004f0: 1ddf1a63 bne t5,t4,800006c4 <fail>
+
+00000000800004f4 <test_19>:
+ 800004f4: 00000213 li tp,0
+ 800004f8: 000f1137 lui sp,0xf1
+ 800004fc: f0f1011b addiw sp,sp,-241
+ 80000500: 00c11113 slli sp,sp,0xc
+ 80000504: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 80000508: 0ff010b7 lui ra,0xff01
+ 8000050c: ff00809b addiw ra,ra,-16
+ 80000510: 00000013 nop
+ 80000514: 0020cf33 xor t5,ra,sp
+ 80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000051c: 00200293 li t0,2
+ 80000520: fc521ce3 bne tp,t0,800004f8 <test_19+0x4>
+ 80000524: 00010eb7 lui t4,0x10
+ 80000528: f01e8e9b addiw t4,t4,-255
+ 8000052c: 010e9e93 slli t4,t4,0x10
+ 80000530: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 80000534: 01300193 li gp,19
+ 80000538: 19df1663 bne t5,t4,800006c4 <fail>
+
+000000008000053c <test_20>:
+ 8000053c: 00000213 li tp,0
+ 80000540: 0f0f1137 lui sp,0xf0f1
+ 80000544: f0f1011b addiw sp,sp,-241
+ 80000548: 00ff00b7 lui ra,0xff0
+ 8000054c: 0ff0809b addiw ra,ra,255
+ 80000550: 00000013 nop
+ 80000554: 00000013 nop
+ 80000558: 0020cf33 xor t5,ra,sp
+ 8000055c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000560: 00200293 li t0,2
+ 80000564: fc521ee3 bne tp,t0,80000540 <test_20+0x4>
+ 80000568: 0ff01eb7 lui t4,0xff01
+ 8000056c: ff0e8e9b addiw t4,t4,-16
+ 80000570: 01400193 li gp,20
+ 80000574: 15df1863 bne t5,t4,800006c4 <fail>
+
+0000000080000578 <test_21>:
+ 80000578: 00000213 li tp,0
+ 8000057c: 0f0f1137 lui sp,0xf0f1
+ 80000580: f0f1011b addiw sp,sp,-241
+ 80000584: 00000013 nop
+ 80000588: 000100b7 lui ra,0x10
+ 8000058c: f010809b addiw ra,ra,-255
+ 80000590: 01009093 slli ra,ra,0x10
+ 80000594: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000598: 0020cf33 xor t5,ra,sp
+ 8000059c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005a0: 00200293 li t0,2
+ 800005a4: fc521ce3 bne tp,t0,8000057c <test_21+0x4>
+ 800005a8: 000f0eb7 lui t4,0xf0
+ 800005ac: 0ffe8e9b addiw t4,t4,255
+ 800005b0: 00ce9e93 slli t4,t4,0xc
+ 800005b4: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1>
+ 800005b8: 01500193 li gp,21
+ 800005bc: 11df1463 bne t5,t4,800006c4 <fail>
+
+00000000800005c0 <test_22>:
+ 800005c0: 00000213 li tp,0
+ 800005c4: 000f1137 lui sp,0xf1
+ 800005c8: f0f1011b addiw sp,sp,-241
+ 800005cc: 00c11113 slli sp,sp,0xc
+ 800005d0: 0f010113 addi sp,sp,240 # f10f0 <_start-0x7ff0ef10>
+ 800005d4: 00000013 nop
+ 800005d8: 0ff010b7 lui ra,0xff01
+ 800005dc: ff00809b addiw ra,ra,-16
+ 800005e0: 00000013 nop
+ 800005e4: 0020cf33 xor t5,ra,sp
+ 800005e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800005ec: 00200293 li t0,2
+ 800005f0: fc521ae3 bne tp,t0,800005c4 <test_22+0x4>
+ 800005f4: 00010eb7 lui t4,0x10
+ 800005f8: f01e8e9b addiw t4,t4,-255
+ 800005fc: 010e9e93 slli t4,t4,0x10
+ 80000600: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 80000604: 01600193 li gp,22
+ 80000608: 0bdf1e63 bne t5,t4,800006c4 <fail>
+
+000000008000060c <test_23>:
+ 8000060c: 00000213 li tp,0
+ 80000610: 0f0f1137 lui sp,0xf0f1
+ 80000614: f0f1011b addiw sp,sp,-241
+ 80000618: 00000013 nop
+ 8000061c: 00000013 nop
+ 80000620: 00ff00b7 lui ra,0xff0
+ 80000624: 0ff0809b addiw ra,ra,255
+ 80000628: 0020cf33 xor t5,ra,sp
+ 8000062c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000630: 00200293 li t0,2
+ 80000634: fc521ee3 bne tp,t0,80000610 <test_23+0x4>
+ 80000638: 0ff01eb7 lui t4,0xff01
+ 8000063c: ff0e8e9b addiw t4,t4,-16
+ 80000640: 01700193 li gp,23
+ 80000644: 09df1063 bne t5,t4,800006c4 <fail>
+
+0000000080000648 <test_24>:
+ 80000648: 000100b7 lui ra,0x10
+ 8000064c: f010809b addiw ra,ra,-255
+ 80000650: 01009093 slli ra,ra,0x10
+ 80000654: f0008093 addi ra,ra,-256 # ff00 <_start-0x7fff0100>
+ 80000658: 00104133 xor sp,zero,ra
+ 8000065c: 00010eb7 lui t4,0x10
+ 80000660: f01e8e9b addiw t4,t4,-255
+ 80000664: 010e9e93 slli t4,t4,0x10
+ 80000668: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100>
+ 8000066c: 01800193 li gp,24
+ 80000670: 05d11a63 bne sp,t4,800006c4 <fail>
+
+0000000080000674 <test_25>:
+ 80000674: 00ff00b7 lui ra,0xff0
+ 80000678: 0ff0809b addiw ra,ra,255
+ 8000067c: 0000c133 xor sp,ra,zero
+ 80000680: 00ff0eb7 lui t4,0xff0
+ 80000684: 0ffe8e9b addiw t4,t4,255
+ 80000688: 01900193 li gp,25
+ 8000068c: 03d11c63 bne sp,t4,800006c4 <fail>
+
+0000000080000690 <test_26>:
+ 80000690: 000040b3 xor ra,zero,zero
+ 80000694: 00000e93 li t4,0
+ 80000698: 01a00193 li gp,26
+ 8000069c: 03d09463 bne ra,t4,800006c4 <fail>
+
+00000000800006a0 <test_27>:
+ 800006a0: 111110b7 lui ra,0x11111
+ 800006a4: 1110809b addiw ra,ra,273
+ 800006a8: 22222137 lui sp,0x22222
+ 800006ac: 2221011b addiw sp,sp,546
+ 800006b0: 0020c033 xor zero,ra,sp
+ 800006b4: 00000e93 li t4,0
+ 800006b8: 01b00193 li gp,27
+ 800006bc: 01d01463 bne zero,t4,800006c4 <fail>
+ 800006c0: 00301c63 bne zero,gp,800006d8 <pass>
+
+00000000800006c4 <fail>:
+ 800006c4: 0ff0000f fence
+ 800006c8: 00018063 beqz gp,800006c8 <fail+0x4>
+ 800006cc: 00119193 slli gp,gp,0x1
+ 800006d0: 0011e193 ori gp,gp,1
+ 800006d4: 00000073 ecall
+
+00000000800006d8 <pass>:
+ 800006d8: 0ff0000f fence
+ 800006dc: 00100193 li gp,1
+ 800006e0: 00000073 ecall
+ 800006e4: c0001073 unimp
+ 800006e8: 0000 unimp
+ 800006ea: 0000 unimp
+ 800006ec: 0000 unimp
+ 800006ee: 0000 unimp
+ 800006f0: 0000 unimp
+ 800006f2: 0000 unimp
+ 800006f4: 0000 unimp
+ 800006f6: 0000 unimp
+ 800006f8: 0000 unimp
+ 800006fa: 0000 unimp
+ 800006fc: 0000 unimp
+ 800006fe: 0000 unimp
+ 80000700: 0000 unimp
+ 80000702: 0000 unimp
diff --git a/test/riscv/tests/rv64ui-p-xor.elf b/test/riscv/tests/rv64ui-p-xor.elf
new file mode 100755
index 00000000..e610fc9c
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-xor.elf
Binary files differ
diff --git a/test/riscv/tests/rv64ui-p-xori.dump b/test/riscv/tests/rv64ui-p-xori.dump
new file mode 100644
index 00000000..12f6997d
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-xori.dump
@@ -0,0 +1,238 @@
+
+rv64ui-p-xori: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00ff10b7 lui ra,0xff1
+ 80000100: f000809b addiw ra,ra,-256
+ 80000104: f0f0cf13 xori t5,ra,-241
+ 80000108: ff00feb7 lui t4,0xff00f
+ 8000010c: 00fe8e9b addiw t4,t4,15
+ 80000110: 00200193 li gp,2
+ 80000114: 1ddf1663 bne t5,t4,800002e0 <fail>
+
+0000000080000118 <test_3>:
+ 80000118: 0ff010b7 lui ra,0xff01
+ 8000011c: ff00809b addiw ra,ra,-16
+ 80000120: 0f00cf13 xori t5,ra,240
+ 80000124: 0ff01eb7 lui t4,0xff01
+ 80000128: f00e8e9b addiw t4,t4,-256
+ 8000012c: 00300193 li gp,3
+ 80000130: 1bdf1863 bne t5,t4,800002e0 <fail>
+
+0000000080000134 <test_4>:
+ 80000134: 00ff10b7 lui ra,0xff1
+ 80000138: 8ff0809b addiw ra,ra,-1793
+ 8000013c: 70f0cf13 xori t5,ra,1807
+ 80000140: 00ff1eb7 lui t4,0xff1
+ 80000144: ff0e8e9b addiw t4,t4,-16
+ 80000148: 00400193 li gp,4
+ 8000014c: 19df1a63 bne t5,t4,800002e0 <fail>
+
+0000000080000150 <test_5>:
+ 80000150: f00ff0b7 lui ra,0xf00ff
+ 80000154: 00f0809b addiw ra,ra,15
+ 80000158: 0f00cf13 xori t5,ra,240
+ 8000015c: f00ffeb7 lui t4,0xf00ff
+ 80000160: 0ffe8e9b addiw t4,t4,255
+ 80000164: 00500193 li gp,5
+ 80000168: 17df1c63 bne t5,t4,800002e0 <fail>
+
+000000008000016c <test_6>:
+ 8000016c: ff00f0b7 lui ra,0xff00f
+ 80000170: 7000809b addiw ra,ra,1792
+ 80000174: 70f0c093 xori ra,ra,1807
+ 80000178: ff00feb7 lui t4,0xff00f
+ 8000017c: 00fe8e9b addiw t4,t4,15
+ 80000180: 00600193 li gp,6
+ 80000184: 15d09e63 bne ra,t4,800002e0 <fail>
+
+0000000080000188 <test_7>:
+ 80000188: 00000213 li tp,0
+ 8000018c: 0ff010b7 lui ra,0xff01
+ 80000190: ff00809b addiw ra,ra,-16
+ 80000194: 0f00cf13 xori t5,ra,240
+ 80000198: 000f0313 mv t1,t5
+ 8000019c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800001a0: 00200293 li t0,2
+ 800001a4: fe5214e3 bne tp,t0,8000018c <test_7+0x4>
+ 800001a8: 0ff01eb7 lui t4,0xff01
+ 800001ac: f00e8e9b addiw t4,t4,-256
+ 800001b0: 00700193 li gp,7
+ 800001b4: 13d31663 bne t1,t4,800002e0 <fail>
+
+00000000800001b8 <test_8>:
+ 800001b8: 00000213 li tp,0
+ 800001bc: 00ff10b7 lui ra,0xff1
+ 800001c0: 8ff0809b addiw ra,ra,-1793
+ 800001c4: 70f0cf13 xori t5,ra,1807
+ 800001c8: 00000013 nop
+ 800001cc: 000f0313 mv t1,t5
+ 800001d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800001d4: 00200293 li t0,2
+ 800001d8: fe5212e3 bne tp,t0,800001bc <test_8+0x4>
+ 800001dc: 00ff1eb7 lui t4,0xff1
+ 800001e0: ff0e8e9b addiw t4,t4,-16
+ 800001e4: 00800193 li gp,8
+ 800001e8: 0fd31c63 bne t1,t4,800002e0 <fail>
+
+00000000800001ec <test_9>:
+ 800001ec: 00000213 li tp,0
+ 800001f0: f00ff0b7 lui ra,0xf00ff
+ 800001f4: 00f0809b addiw ra,ra,15
+ 800001f8: 0f00cf13 xori t5,ra,240
+ 800001fc: 00000013 nop
+ 80000200: 00000013 nop
+ 80000204: 000f0313 mv t1,t5
+ 80000208: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000020c: 00200293 li t0,2
+ 80000210: fe5210e3 bne tp,t0,800001f0 <test_9+0x4>
+ 80000214: f00ffeb7 lui t4,0xf00ff
+ 80000218: 0ffe8e9b addiw t4,t4,255
+ 8000021c: 00900193 li gp,9
+ 80000220: 0dd31063 bne t1,t4,800002e0 <fail>
+
+0000000080000224 <test_10>:
+ 80000224: 00000213 li tp,0
+ 80000228: 0ff010b7 lui ra,0xff01
+ 8000022c: ff00809b addiw ra,ra,-16
+ 80000230: 0f00cf13 xori t5,ra,240
+ 80000234: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000238: 00200293 li t0,2
+ 8000023c: fe5216e3 bne tp,t0,80000228 <test_10+0x4>
+ 80000240: 0ff01eb7 lui t4,0xff01
+ 80000244: f00e8e9b addiw t4,t4,-256
+ 80000248: 00a00193 li gp,10
+ 8000024c: 09df1a63 bne t5,t4,800002e0 <fail>
+
+0000000080000250 <test_11>:
+ 80000250: 00000213 li tp,0
+ 80000254: 00ff10b7 lui ra,0xff1
+ 80000258: fff0809b addiw ra,ra,-1
+ 8000025c: 00000013 nop
+ 80000260: 00f0cf13 xori t5,ra,15
+ 80000264: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000268: 00200293 li t0,2
+ 8000026c: fe5214e3 bne tp,t0,80000254 <test_11+0x4>
+ 80000270: 00ff1eb7 lui t4,0xff1
+ 80000274: ff0e8e9b addiw t4,t4,-16
+ 80000278: 00b00193 li gp,11
+ 8000027c: 07df1263 bne t5,t4,800002e0 <fail>
+
+0000000080000280 <test_12>:
+ 80000280: 00000213 li tp,0
+ 80000284: f00ff0b7 lui ra,0xf00ff
+ 80000288: 00f0809b addiw ra,ra,15
+ 8000028c: 00000013 nop
+ 80000290: 00000013 nop
+ 80000294: 0f00cf13 xori t5,ra,240
+ 80000298: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000029c: 00200293 li t0,2
+ 800002a0: fe5212e3 bne tp,t0,80000284 <test_12+0x4>
+ 800002a4: f00ffeb7 lui t4,0xf00ff
+ 800002a8: 0ffe8e9b addiw t4,t4,255
+ 800002ac: 00c00193 li gp,12
+ 800002b0: 03df1863 bne t5,t4,800002e0 <fail>
+
+00000000800002b4 <test_13>:
+ 800002b4: 0f004093 xori ra,zero,240
+ 800002b8: 0f000e93 li t4,240
+ 800002bc: 00d00193 li gp,13
+ 800002c0: 03d09063 bne ra,t4,800002e0 <fail>
+
+00000000800002c4 <test_14>:
+ 800002c4: 00ff00b7 lui ra,0xff0
+ 800002c8: 0ff0809b addiw ra,ra,255
+ 800002cc: 70f0c013 xori zero,ra,1807
+ 800002d0: 00000e93 li t4,0
+ 800002d4: 00e00193 li gp,14
+ 800002d8: 01d01463 bne zero,t4,800002e0 <fail>
+ 800002dc: 00301c63 bne zero,gp,800002f4 <pass>
+
+00000000800002e0 <fail>:
+ 800002e0: 0ff0000f fence
+ 800002e4: 00018063 beqz gp,800002e4 <fail+0x4>
+ 800002e8: 00119193 slli gp,gp,0x1
+ 800002ec: 0011e193 ori gp,gp,1
+ 800002f0: 00000073 ecall
+
+00000000800002f4 <pass>:
+ 800002f4: 0ff0000f fence
+ 800002f8: 00100193 li gp,1
+ 800002fc: 00000073 ecall
+ 80000300: c0001073 unimp
diff --git a/test/riscv/tests/rv64ui-p-xori.elf b/test/riscv/tests/rv64ui-p-xori.elf
new file mode 100755
index 00000000..4e8f1fd3
--- /dev/null
+++ b/test/riscv/tests/rv64ui-p-xori.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-div.dump b/test/riscv/tests/rv64um-p-div.dump
new file mode 100644
index 00000000..b117c5cd
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-div.dump
@@ -0,0 +1,195 @@
+
+rv64um-p-div: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 01400093 li ra,20
+ 80000100: 00600113 li sp,6
+ 80000104: 0220cf33 div t5,ra,sp
+ 80000108: 00300e93 li t4,3
+ 8000010c: 00200193 li gp,2
+ 80000110: 0ddf1e63 bne t5,t4,800001ec <fail>
+
+0000000080000114 <test_3>:
+ 80000114: fec00093 li ra,-20
+ 80000118: 00600113 li sp,6
+ 8000011c: 0220cf33 div t5,ra,sp
+ 80000120: ffd00e93 li t4,-3
+ 80000124: 00300193 li gp,3
+ 80000128: 0ddf1263 bne t5,t4,800001ec <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 01400093 li ra,20
+ 80000130: ffa00113 li sp,-6
+ 80000134: 0220cf33 div t5,ra,sp
+ 80000138: ffd00e93 li t4,-3
+ 8000013c: 00400193 li gp,4
+ 80000140: 0bdf1663 bne t5,t4,800001ec <fail>
+
+0000000080000144 <test_5>:
+ 80000144: fec00093 li ra,-20
+ 80000148: ffa00113 li sp,-6
+ 8000014c: 0220cf33 div t5,ra,sp
+ 80000150: 00300e93 li t4,3
+ 80000154: 00500193 li gp,5
+ 80000158: 09df1a63 bne t5,t4,800001ec <fail>
+
+000000008000015c <test_6>:
+ 8000015c: fff0009b addiw ra,zero,-1
+ 80000160: 03f09093 slli ra,ra,0x3f
+ 80000164: 00100113 li sp,1
+ 80000168: 0220cf33 div t5,ra,sp
+ 8000016c: fff00e9b addiw t4,zero,-1
+ 80000170: 03fe9e93 slli t4,t4,0x3f
+ 80000174: 00600193 li gp,6
+ 80000178: 07df1a63 bne t5,t4,800001ec <fail>
+
+000000008000017c <test_7>:
+ 8000017c: fff0009b addiw ra,zero,-1
+ 80000180: 03f09093 slli ra,ra,0x3f
+ 80000184: fff00113 li sp,-1
+ 80000188: 0220cf33 div t5,ra,sp
+ 8000018c: fff00e9b addiw t4,zero,-1
+ 80000190: 03fe9e93 slli t4,t4,0x3f
+ 80000194: 00700193 li gp,7
+ 80000198: 05df1a63 bne t5,t4,800001ec <fail>
+
+000000008000019c <test_8>:
+ 8000019c: fff0009b addiw ra,zero,-1
+ 800001a0: 03f09093 slli ra,ra,0x3f
+ 800001a4: 00000113 li sp,0
+ 800001a8: 0220cf33 div t5,ra,sp
+ 800001ac: fff00e93 li t4,-1
+ 800001b0: 00800193 li gp,8
+ 800001b4: 03df1c63 bne t5,t4,800001ec <fail>
+
+00000000800001b8 <test_9>:
+ 800001b8: 00100093 li ra,1
+ 800001bc: 00000113 li sp,0
+ 800001c0: 0220cf33 div t5,ra,sp
+ 800001c4: fff00e93 li t4,-1
+ 800001c8: 00900193 li gp,9
+ 800001cc: 03df1063 bne t5,t4,800001ec <fail>
+
+00000000800001d0 <test_10>:
+ 800001d0: 00000093 li ra,0
+ 800001d4: 00000113 li sp,0
+ 800001d8: 0220cf33 div t5,ra,sp
+ 800001dc: fff00e93 li t4,-1
+ 800001e0: 00a00193 li gp,10
+ 800001e4: 01df1463 bne t5,t4,800001ec <fail>
+ 800001e8: 00301c63 bne zero,gp,80000200 <pass>
+
+00000000800001ec <fail>:
+ 800001ec: 0ff0000f fence
+ 800001f0: 00018063 beqz gp,800001f0 <fail+0x4>
+ 800001f4: 00119193 slli gp,gp,0x1
+ 800001f8: 0011e193 ori gp,gp,1
+ 800001fc: 00000073 ecall
+
+0000000080000200 <pass>:
+ 80000200: 0ff0000f fence
+ 80000204: 00100193 li gp,1
+ 80000208: 00000073 ecall
+ 8000020c: c0001073 unimp
+ 80000210: 0000 unimp
+ 80000212: 0000 unimp
+ 80000214: 0000 unimp
+ 80000216: 0000 unimp
+ 80000218: 0000 unimp
+ 8000021a: 0000 unimp
+ 8000021c: 0000 unimp
+ 8000021e: 0000 unimp
+ 80000220: 0000 unimp
+ 80000222: 0000 unimp
+ 80000224: 0000 unimp
+ 80000226: 0000 unimp
+ 80000228: 0000 unimp
+ 8000022a: 0000 unimp
+ 8000022c: 0000 unimp
+ 8000022e: 0000 unimp
+ 80000230: 0000 unimp
+ 80000232: 0000 unimp
+ 80000234: 0000 unimp
+ 80000236: 0000 unimp
+ 80000238: 0000 unimp
+ 8000023a: 0000 unimp
+ 8000023c: 0000 unimp
+ 8000023e: 0000 unimp
+ 80000240: 0000 unimp
+ 80000242: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-div.elf b/test/riscv/tests/rv64um-p-div.elf
new file mode 100755
index 00000000..f8df5452
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-div.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-divu.dump b/test/riscv/tests/rv64um-p-divu.dump
new file mode 100644
index 00000000..f987025d
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-divu.dump
@@ -0,0 +1,189 @@
+
+rv64um-p-divu: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 01400093 li ra,20
+ 80000100: 00600113 li sp,6
+ 80000104: 0220df33 divu t5,ra,sp
+ 80000108: 00300e93 li t4,3
+ 8000010c: 00200193 li gp,2
+ 80000110: 0fdf1a63 bne t5,t4,80000204 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: fec00093 li ra,-20
+ 80000118: 00600113 li sp,6
+ 8000011c: 0220df33 divu t5,ra,sp
+ 80000120: 02aabeb7 lui t4,0x2aab
+ 80000124: aabe8e9b addiw t4,t4,-1365
+ 80000128: 00ce9e93 slli t4,t4,0xc
+ 8000012c: aabe8e93 addi t4,t4,-1365 # 2aaaaab <_start-0x7d555555>
+ 80000130: 00ce9e93 slli t4,t4,0xc
+ 80000134: aabe8e93 addi t4,t4,-1365
+ 80000138: 00ce9e93 slli t4,t4,0xc
+ 8000013c: aa7e8e93 addi t4,t4,-1369
+ 80000140: 00300193 li gp,3
+ 80000144: 0ddf1063 bne t5,t4,80000204 <fail>
+
+0000000080000148 <test_4>:
+ 80000148: 01400093 li ra,20
+ 8000014c: ffa00113 li sp,-6
+ 80000150: 0220df33 divu t5,ra,sp
+ 80000154: 00000e93 li t4,0
+ 80000158: 00400193 li gp,4
+ 8000015c: 0bdf1463 bne t5,t4,80000204 <fail>
+
+0000000080000160 <test_5>:
+ 80000160: fec00093 li ra,-20
+ 80000164: ffa00113 li sp,-6
+ 80000168: 0220df33 divu t5,ra,sp
+ 8000016c: 00000e93 li t4,0
+ 80000170: 00500193 li gp,5
+ 80000174: 09df1863 bne t5,t4,80000204 <fail>
+
+0000000080000178 <test_6>:
+ 80000178: fff0009b addiw ra,zero,-1
+ 8000017c: 03f09093 slli ra,ra,0x3f
+ 80000180: 00100113 li sp,1
+ 80000184: 0220df33 divu t5,ra,sp
+ 80000188: fff00e9b addiw t4,zero,-1
+ 8000018c: 03fe9e93 slli t4,t4,0x3f
+ 80000190: 00600193 li gp,6
+ 80000194: 07df1863 bne t5,t4,80000204 <fail>
+
+0000000080000198 <test_7>:
+ 80000198: fff0009b addiw ra,zero,-1
+ 8000019c: 03f09093 slli ra,ra,0x3f
+ 800001a0: fff00113 li sp,-1
+ 800001a4: 0220df33 divu t5,ra,sp
+ 800001a8: 00000e93 li t4,0
+ 800001ac: 00700193 li gp,7
+ 800001b0: 05df1a63 bne t5,t4,80000204 <fail>
+
+00000000800001b4 <test_8>:
+ 800001b4: fff0009b addiw ra,zero,-1
+ 800001b8: 03f09093 slli ra,ra,0x3f
+ 800001bc: 00000113 li sp,0
+ 800001c0: 0220df33 divu t5,ra,sp
+ 800001c4: fff00e93 li t4,-1
+ 800001c8: 00800193 li gp,8
+ 800001cc: 03df1c63 bne t5,t4,80000204 <fail>
+
+00000000800001d0 <test_9>:
+ 800001d0: 00100093 li ra,1
+ 800001d4: 00000113 li sp,0
+ 800001d8: 0220df33 divu t5,ra,sp
+ 800001dc: fff00e93 li t4,-1
+ 800001e0: 00900193 li gp,9
+ 800001e4: 03df1063 bne t5,t4,80000204 <fail>
+
+00000000800001e8 <test_10>:
+ 800001e8: 00000093 li ra,0
+ 800001ec: 00000113 li sp,0
+ 800001f0: 0220df33 divu t5,ra,sp
+ 800001f4: fff00e93 li t4,-1
+ 800001f8: 00a00193 li gp,10
+ 800001fc: 01df1463 bne t5,t4,80000204 <fail>
+ 80000200: 00301c63 bne zero,gp,80000218 <pass>
+
+0000000080000204 <fail>:
+ 80000204: 0ff0000f fence
+ 80000208: 00018063 beqz gp,80000208 <fail+0x4>
+ 8000020c: 00119193 slli gp,gp,0x1
+ 80000210: 0011e193 ori gp,gp,1
+ 80000214: 00000073 ecall
+
+0000000080000218 <pass>:
+ 80000218: 0ff0000f fence
+ 8000021c: 00100193 li gp,1
+ 80000220: 00000073 ecall
+ 80000224: c0001073 unimp
+ 80000228: 0000 unimp
+ 8000022a: 0000 unimp
+ 8000022c: 0000 unimp
+ 8000022e: 0000 unimp
+ 80000230: 0000 unimp
+ 80000232: 0000 unimp
+ 80000234: 0000 unimp
+ 80000236: 0000 unimp
+ 80000238: 0000 unimp
+ 8000023a: 0000 unimp
+ 8000023c: 0000 unimp
+ 8000023e: 0000 unimp
+ 80000240: 0000 unimp
+ 80000242: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-divu.elf b/test/riscv/tests/rv64um-p-divu.elf
new file mode 100755
index 00000000..d02748e3
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-divu.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-divuw.dump b/test/riscv/tests/rv64um-p-divuw.dump
new file mode 100644
index 00000000..576f2638
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-divuw.dump
@@ -0,0 +1,197 @@
+
+rv64um-p-divuw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 01400093 li ra,20
+ 80000100: 00600113 li sp,6
+ 80000104: 0220df3b divuw t5,ra,sp
+ 80000108: 00300e93 li t4,3
+ 8000010c: 00200193 li gp,2
+ 80000110: 0ddf1a63 bne t5,t4,800001e4 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 0010009b addiw ra,zero,1
+ 80000118: 02009093 slli ra,ra,0x20
+ 8000011c: fec08093 addi ra,ra,-20
+ 80000120: 00600113 li sp,6
+ 80000124: 0220df3b divuw t5,ra,sp
+ 80000128: 2aaabeb7 lui t4,0x2aaab
+ 8000012c: aa7e8e9b addiw t4,t4,-1369
+ 80000130: 00300193 li gp,3
+ 80000134: 0bdf1863 bne t5,t4,800001e4 <fail>
+
+0000000080000138 <test_4>:
+ 80000138: 01400093 li ra,20
+ 8000013c: ffa00113 li sp,-6
+ 80000140: 0220df3b divuw t5,ra,sp
+ 80000144: 00000e93 li t4,0
+ 80000148: 00400193 li gp,4
+ 8000014c: 09df1c63 bne t5,t4,800001e4 <fail>
+
+0000000080000150 <test_5>:
+ 80000150: fec00093 li ra,-20
+ 80000154: ffa00113 li sp,-6
+ 80000158: 0220df3b divuw t5,ra,sp
+ 8000015c: 00000e93 li t4,0
+ 80000160: 00500193 li gp,5
+ 80000164: 09df1063 bne t5,t4,800001e4 <fail>
+
+0000000080000168 <test_6>:
+ 80000168: 800000b7 lui ra,0x80000
+ 8000016c: 00100113 li sp,1
+ 80000170: 0220df3b divuw t5,ra,sp
+ 80000174: 80000eb7 lui t4,0x80000
+ 80000178: 00600193 li gp,6
+ 8000017c: 07df1463 bne t5,t4,800001e4 <fail>
+
+0000000080000180 <test_7>:
+ 80000180: 800000b7 lui ra,0x80000
+ 80000184: fff00113 li sp,-1
+ 80000188: 0220df3b divuw t5,ra,sp
+ 8000018c: 00000e93 li t4,0
+ 80000190: 00700193 li gp,7
+ 80000194: 05df1863 bne t5,t4,800001e4 <fail>
+
+0000000080000198 <test_8>:
+ 80000198: 800000b7 lui ra,0x80000
+ 8000019c: 00000113 li sp,0
+ 800001a0: 0220df3b divuw t5,ra,sp
+ 800001a4: fff00e93 li t4,-1
+ 800001a8: 00800193 li gp,8
+ 800001ac: 03df1c63 bne t5,t4,800001e4 <fail>
+
+00000000800001b0 <test_9>:
+ 800001b0: 00100093 li ra,1
+ 800001b4: 00000113 li sp,0
+ 800001b8: 0220df3b divuw t5,ra,sp
+ 800001bc: fff00e93 li t4,-1
+ 800001c0: 00900193 li gp,9
+ 800001c4: 03df1063 bne t5,t4,800001e4 <fail>
+
+00000000800001c8 <test_10>:
+ 800001c8: 00000093 li ra,0
+ 800001cc: 00000113 li sp,0
+ 800001d0: 0220df3b divuw t5,ra,sp
+ 800001d4: fff00e93 li t4,-1
+ 800001d8: 00a00193 li gp,10
+ 800001dc: 01df1463 bne t5,t4,800001e4 <fail>
+ 800001e0: 00301c63 bne zero,gp,800001f8 <pass>
+
+00000000800001e4 <fail>:
+ 800001e4: 0ff0000f fence
+ 800001e8: 00018063 beqz gp,800001e8 <fail+0x4>
+ 800001ec: 00119193 slli gp,gp,0x1
+ 800001f0: 0011e193 ori gp,gp,1
+ 800001f4: 00000073 ecall
+
+00000000800001f8 <pass>:
+ 800001f8: 0ff0000f fence
+ 800001fc: 00100193 li gp,1
+ 80000200: 00000073 ecall
+ 80000204: c0001073 unimp
+ 80000208: 0000 unimp
+ 8000020a: 0000 unimp
+ 8000020c: 0000 unimp
+ 8000020e: 0000 unimp
+ 80000210: 0000 unimp
+ 80000212: 0000 unimp
+ 80000214: 0000 unimp
+ 80000216: 0000 unimp
+ 80000218: 0000 unimp
+ 8000021a: 0000 unimp
+ 8000021c: 0000 unimp
+ 8000021e: 0000 unimp
+ 80000220: 0000 unimp
+ 80000222: 0000 unimp
+ 80000224: 0000 unimp
+ 80000226: 0000 unimp
+ 80000228: 0000 unimp
+ 8000022a: 0000 unimp
+ 8000022c: 0000 unimp
+ 8000022e: 0000 unimp
+ 80000230: 0000 unimp
+ 80000232: 0000 unimp
+ 80000234: 0000 unimp
+ 80000236: 0000 unimp
+ 80000238: 0000 unimp
+ 8000023a: 0000 unimp
+ 8000023c: 0000 unimp
+ 8000023e: 0000 unimp
+ 80000240: 0000 unimp
+ 80000242: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-divuw.elf b/test/riscv/tests/rv64um-p-divuw.elf
new file mode 100755
index 00000000..b0da149b
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-divuw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-divw.dump b/test/riscv/tests/rv64um-p-divw.dump
new file mode 100644
index 00000000..2d331a94
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-divw.dump
@@ -0,0 +1,168 @@
+
+rv64um-p-divw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 01400093 li ra,20
+ 80000100: 00600113 li sp,6
+ 80000104: 0220cf3b divw t5,ra,sp
+ 80000108: 00300e93 li t4,3
+ 8000010c: 00200193 li gp,2
+ 80000110: 0ddf1463 bne t5,t4,800001d8 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: fec00093 li ra,-20
+ 80000118: 00600113 li sp,6
+ 8000011c: 0220cf3b divw t5,ra,sp
+ 80000120: ffd00e93 li t4,-3
+ 80000124: 00300193 li gp,3
+ 80000128: 0bdf1863 bne t5,t4,800001d8 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 01400093 li ra,20
+ 80000130: ffa00113 li sp,-6
+ 80000134: 0220cf3b divw t5,ra,sp
+ 80000138: ffd00e93 li t4,-3
+ 8000013c: 00400193 li gp,4
+ 80000140: 09df1c63 bne t5,t4,800001d8 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: fec00093 li ra,-20
+ 80000148: ffa00113 li sp,-6
+ 8000014c: 0220cf3b divw t5,ra,sp
+ 80000150: 00300e93 li t4,3
+ 80000154: 00500193 li gp,5
+ 80000158: 09df1063 bne t5,t4,800001d8 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00100113 li sp,1
+ 80000164: 0220cf3b divw t5,ra,sp
+ 80000168: 80000eb7 lui t4,0x80000
+ 8000016c: 00600193 li gp,6
+ 80000170: 07df1463 bne t5,t4,800001d8 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: fff00113 li sp,-1
+ 8000017c: 0220cf3b divw t5,ra,sp
+ 80000180: 80000eb7 lui t4,0x80000
+ 80000184: 00700193 li gp,7
+ 80000188: 05df1863 bne t5,t4,800001d8 <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 800000b7 lui ra,0x80000
+ 80000190: 00000113 li sp,0
+ 80000194: 0220cf3b divw t5,ra,sp
+ 80000198: fff00e93 li t4,-1
+ 8000019c: 00800193 li gp,8
+ 800001a0: 03df1c63 bne t5,t4,800001d8 <fail>
+
+00000000800001a4 <test_9>:
+ 800001a4: 00100093 li ra,1
+ 800001a8: 00000113 li sp,0
+ 800001ac: 0220cf3b divw t5,ra,sp
+ 800001b0: fff00e93 li t4,-1
+ 800001b4: 00900193 li gp,9
+ 800001b8: 03df1063 bne t5,t4,800001d8 <fail>
+
+00000000800001bc <test_10>:
+ 800001bc: 00000093 li ra,0
+ 800001c0: 00000113 li sp,0
+ 800001c4: 0220cf3b divw t5,ra,sp
+ 800001c8: fff00e93 li t4,-1
+ 800001cc: 00a00193 li gp,10
+ 800001d0: 01df1463 bne t5,t4,800001d8 <fail>
+ 800001d4: 00301c63 bne zero,gp,800001ec <pass>
+
+00000000800001d8 <fail>:
+ 800001d8: 0ff0000f fence
+ 800001dc: 00018063 beqz gp,800001dc <fail+0x4>
+ 800001e0: 00119193 slli gp,gp,0x1
+ 800001e4: 0011e193 ori gp,gp,1
+ 800001e8: 00000073 ecall
+
+00000000800001ec <pass>:
+ 800001ec: 0ff0000f fence
+ 800001f0: 00100193 li gp,1
+ 800001f4: 00000073 ecall
+ 800001f8: c0001073 unimp
+ 800001fc: 0000 unimp
+ 800001fe: 0000 unimp
+ 80000200: 0000 unimp
+ 80000202: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-divw.elf b/test/riscv/tests/rv64um-p-divw.elf
new file mode 100755
index 00000000..eb2e0f58
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-divw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-mul.dump b/test/riscv/tests/rv64um-p-mul.dump
new file mode 100644
index 00000000..b546f6c9
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-mul.dump
@@ -0,0 +1,474 @@
+
+rv64um-p-mul: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_32>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_32>:
+ 800000fc: 000080b7 lui ra,0x8
+ 80000100: e000809b addiw ra,ra,-512
+ 80000104: 06db7137 lui sp,0x6db7
+ 80000108: db71011b addiw sp,sp,-585
+ 8000010c: 00c11113 slli sp,sp,0xc
+ 80000110: db710113 addi sp,sp,-585 # 6db6db7 <_start-0x79249249>
+ 80000114: 00c11113 slli sp,sp,0xc
+ 80000118: db710113 addi sp,sp,-585
+ 8000011c: 00c11113 slli sp,sp,0xc
+ 80000120: db710113 addi sp,sp,-585
+ 80000124: 02208f33 mul t5,ra,sp
+ 80000128: 00001eb7 lui t4,0x1
+ 8000012c: 200e8e9b addiw t4,t4,512
+ 80000130: 02000193 li gp,32
+ 80000134: 49df1a63 bne t5,t4,800005c8 <fail>
+
+0000000080000138 <test_33>:
+ 80000138: 000080b7 lui ra,0x8
+ 8000013c: fc00809b addiw ra,ra,-64
+ 80000140: 06db7137 lui sp,0x6db7
+ 80000144: db71011b addiw sp,sp,-585
+ 80000148: 00c11113 slli sp,sp,0xc
+ 8000014c: db710113 addi sp,sp,-585 # 6db6db7 <_start-0x79249249>
+ 80000150: 00c11113 slli sp,sp,0xc
+ 80000154: db710113 addi sp,sp,-585
+ 80000158: 00c11113 slli sp,sp,0xc
+ 8000015c: db710113 addi sp,sp,-585
+ 80000160: 02208f33 mul t5,ra,sp
+ 80000164: 00001eb7 lui t4,0x1
+ 80000168: 240e8e9b addiw t4,t4,576
+ 8000016c: 02100193 li gp,33
+ 80000170: 45df1c63 bne t5,t4,800005c8 <fail>
+
+0000000080000174 <test_2>:
+ 80000174: 00000093 li ra,0
+ 80000178: 00000113 li sp,0
+ 8000017c: 02208f33 mul t5,ra,sp
+ 80000180: 00000e93 li t4,0
+ 80000184: 00200193 li gp,2
+ 80000188: 45df1063 bne t5,t4,800005c8 <fail>
+
+000000008000018c <test_3>:
+ 8000018c: 00100093 li ra,1
+ 80000190: 00100113 li sp,1
+ 80000194: 02208f33 mul t5,ra,sp
+ 80000198: 00100e93 li t4,1
+ 8000019c: 00300193 li gp,3
+ 800001a0: 43df1463 bne t5,t4,800005c8 <fail>
+
+00000000800001a4 <test_4>:
+ 800001a4: 00300093 li ra,3
+ 800001a8: 00700113 li sp,7
+ 800001ac: 02208f33 mul t5,ra,sp
+ 800001b0: 01500e93 li t4,21
+ 800001b4: 00400193 li gp,4
+ 800001b8: 41df1863 bne t5,t4,800005c8 <fail>
+
+00000000800001bc <test_5>:
+ 800001bc: 00000093 li ra,0
+ 800001c0: ffff8137 lui sp,0xffff8
+ 800001c4: 02208f33 mul t5,ra,sp
+ 800001c8: 00000e93 li t4,0
+ 800001cc: 00500193 li gp,5
+ 800001d0: 3fdf1c63 bne t5,t4,800005c8 <fail>
+
+00000000800001d4 <test_6>:
+ 800001d4: 800000b7 lui ra,0x80000
+ 800001d8: 00000113 li sp,0
+ 800001dc: 02208f33 mul t5,ra,sp
+ 800001e0: 00000e93 li t4,0
+ 800001e4: 00600193 li gp,6
+ 800001e8: 3fdf1063 bne t5,t4,800005c8 <fail>
+
+00000000800001ec <test_7>:
+ 800001ec: 800000b7 lui ra,0x80000
+ 800001f0: ffff8137 lui sp,0xffff8
+ 800001f4: 02208f33 mul t5,ra,sp
+ 800001f8: 00100e9b addiw t4,zero,1
+ 800001fc: 02ee9e93 slli t4,t4,0x2e
+ 80000200: 00700193 li gp,7
+ 80000204: 3ddf1263 bne t5,t4,800005c8 <fail>
+
+0000000080000208 <test_30>:
+ 80000208: faaab0b7 lui ra,0xfaaab
+ 8000020c: aab0809b addiw ra,ra,-1365
+ 80000210: 00c09093 slli ra,ra,0xc
+ 80000214: aab08093 addi ra,ra,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab>
+ 80000218: 00c09093 slli ra,ra,0xc
+ 8000021c: aab08093 addi ra,ra,-1365
+ 80000220: 00c09093 slli ra,ra,0xc
+ 80000224: aab08093 addi ra,ra,-1365
+ 80000228: 00030137 lui sp,0x30
+ 8000022c: e7d1011b addiw sp,sp,-387
+ 80000230: 02208f33 mul t5,ra,sp
+ 80000234: 00010eb7 lui t4,0x10
+ 80000238: f7fe8e9b addiw t4,t4,-129
+ 8000023c: 01e00193 li gp,30
+ 80000240: 39df1463 bne t5,t4,800005c8 <fail>
+
+0000000080000244 <test_31>:
+ 80000244: 000300b7 lui ra,0x30
+ 80000248: e7d0809b addiw ra,ra,-387
+ 8000024c: faaab137 lui sp,0xfaaab
+ 80000250: aab1011b addiw sp,sp,-1365
+ 80000254: 00c11113 slli sp,sp,0xc
+ 80000258: aab10113 addi sp,sp,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab>
+ 8000025c: 00c11113 slli sp,sp,0xc
+ 80000260: aab10113 addi sp,sp,-1365
+ 80000264: 00c11113 slli sp,sp,0xc
+ 80000268: aab10113 addi sp,sp,-1365
+ 8000026c: 02208f33 mul t5,ra,sp
+ 80000270: 00010eb7 lui t4,0x10
+ 80000274: f7fe8e9b addiw t4,t4,-129
+ 80000278: 01f00193 li gp,31
+ 8000027c: 35df1663 bne t5,t4,800005c8 <fail>
+
+0000000080000280 <test_8>:
+ 80000280: 00d00093 li ra,13
+ 80000284: 00b00113 li sp,11
+ 80000288: 022080b3 mul ra,ra,sp
+ 8000028c: 08f00e93 li t4,143
+ 80000290: 00800193 li gp,8
+ 80000294: 33d09a63 bne ra,t4,800005c8 <fail>
+
+0000000080000298 <test_9>:
+ 80000298: 00e00093 li ra,14
+ 8000029c: 00b00113 li sp,11
+ 800002a0: 02208133 mul sp,ra,sp
+ 800002a4: 09a00e93 li t4,154
+ 800002a8: 00900193 li gp,9
+ 800002ac: 31d11e63 bne sp,t4,800005c8 <fail>
+
+00000000800002b0 <test_10>:
+ 800002b0: 00d00093 li ra,13
+ 800002b4: 021080b3 mul ra,ra,ra
+ 800002b8: 0a900e93 li t4,169
+ 800002bc: 00a00193 li gp,10
+ 800002c0: 31d09463 bne ra,t4,800005c8 <fail>
+
+00000000800002c4 <test_11>:
+ 800002c4: 00000213 li tp,0
+ 800002c8: 00d00093 li ra,13
+ 800002cc: 00b00113 li sp,11
+ 800002d0: 02208f33 mul t5,ra,sp
+ 800002d4: 000f0313 mv t1,t5
+ 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002dc: 00200293 li t0,2
+ 800002e0: fe5214e3 bne tp,t0,800002c8 <test_11+0x4>
+ 800002e4: 08f00e93 li t4,143
+ 800002e8: 00b00193 li gp,11
+ 800002ec: 2dd31e63 bne t1,t4,800005c8 <fail>
+
+00000000800002f0 <test_12>:
+ 800002f0: 00000213 li tp,0
+ 800002f4: 00e00093 li ra,14
+ 800002f8: 00b00113 li sp,11
+ 800002fc: 02208f33 mul t5,ra,sp
+ 80000300: 00000013 nop
+ 80000304: 000f0313 mv t1,t5
+ 80000308: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000030c: 00200293 li t0,2
+ 80000310: fe5212e3 bne tp,t0,800002f4 <test_12+0x4>
+ 80000314: 09a00e93 li t4,154
+ 80000318: 00c00193 li gp,12
+ 8000031c: 2bd31663 bne t1,t4,800005c8 <fail>
+
+0000000080000320 <test_13>:
+ 80000320: 00000213 li tp,0
+ 80000324: 00f00093 li ra,15
+ 80000328: 00b00113 li sp,11
+ 8000032c: 02208f33 mul t5,ra,sp
+ 80000330: 00000013 nop
+ 80000334: 00000013 nop
+ 80000338: 000f0313 mv t1,t5
+ 8000033c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000340: 00200293 li t0,2
+ 80000344: fe5210e3 bne tp,t0,80000324 <test_13+0x4>
+ 80000348: 0a500e93 li t4,165
+ 8000034c: 00d00193 li gp,13
+ 80000350: 27d31c63 bne t1,t4,800005c8 <fail>
+
+0000000080000354 <test_14>:
+ 80000354: 00000213 li tp,0
+ 80000358: 00d00093 li ra,13
+ 8000035c: 00b00113 li sp,11
+ 80000360: 02208f33 mul t5,ra,sp
+ 80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000368: 00200293 li t0,2
+ 8000036c: fe5216e3 bne tp,t0,80000358 <test_14+0x4>
+ 80000370: 08f00e93 li t4,143
+ 80000374: 00e00193 li gp,14
+ 80000378: 25df1863 bne t5,t4,800005c8 <fail>
+
+000000008000037c <test_15>:
+ 8000037c: 00000213 li tp,0
+ 80000380: 00e00093 li ra,14
+ 80000384: 00b00113 li sp,11
+ 80000388: 00000013 nop
+ 8000038c: 02208f33 mul t5,ra,sp
+ 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000394: 00200293 li t0,2
+ 80000398: fe5214e3 bne tp,t0,80000380 <test_15+0x4>
+ 8000039c: 09a00e93 li t4,154
+ 800003a0: 00f00193 li gp,15
+ 800003a4: 23df1263 bne t5,t4,800005c8 <fail>
+
+00000000800003a8 <test_16>:
+ 800003a8: 00000213 li tp,0
+ 800003ac: 00f00093 li ra,15
+ 800003b0: 00b00113 li sp,11
+ 800003b4: 00000013 nop
+ 800003b8: 00000013 nop
+ 800003bc: 02208f33 mul t5,ra,sp
+ 800003c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003c4: 00200293 li t0,2
+ 800003c8: fe5212e3 bne tp,t0,800003ac <test_16+0x4>
+ 800003cc: 0a500e93 li t4,165
+ 800003d0: 01000193 li gp,16
+ 800003d4: 1fdf1a63 bne t5,t4,800005c8 <fail>
+
+00000000800003d8 <test_17>:
+ 800003d8: 00000213 li tp,0
+ 800003dc: 00d00093 li ra,13
+ 800003e0: 00000013 nop
+ 800003e4: 00b00113 li sp,11
+ 800003e8: 02208f33 mul t5,ra,sp
+ 800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003f0: 00200293 li t0,2
+ 800003f4: fe5214e3 bne tp,t0,800003dc <test_17+0x4>
+ 800003f8: 08f00e93 li t4,143
+ 800003fc: 01100193 li gp,17
+ 80000400: 1ddf1463 bne t5,t4,800005c8 <fail>
+
+0000000080000404 <test_18>:
+ 80000404: 00000213 li tp,0
+ 80000408: 00e00093 li ra,14
+ 8000040c: 00000013 nop
+ 80000410: 00b00113 li sp,11
+ 80000414: 00000013 nop
+ 80000418: 02208f33 mul t5,ra,sp
+ 8000041c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000420: 00200293 li t0,2
+ 80000424: fe5212e3 bne tp,t0,80000408 <test_18+0x4>
+ 80000428: 09a00e93 li t4,154
+ 8000042c: 01200193 li gp,18
+ 80000430: 19df1c63 bne t5,t4,800005c8 <fail>
+
+0000000080000434 <test_19>:
+ 80000434: 00000213 li tp,0
+ 80000438: 00f00093 li ra,15
+ 8000043c: 00000013 nop
+ 80000440: 00000013 nop
+ 80000444: 00b00113 li sp,11
+ 80000448: 02208f33 mul t5,ra,sp
+ 8000044c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000450: 00200293 li t0,2
+ 80000454: fe5212e3 bne tp,t0,80000438 <test_19+0x4>
+ 80000458: 0a500e93 li t4,165
+ 8000045c: 01300193 li gp,19
+ 80000460: 17df1463 bne t5,t4,800005c8 <fail>
+
+0000000080000464 <test_20>:
+ 80000464: 00000213 li tp,0
+ 80000468: 00b00113 li sp,11
+ 8000046c: 00d00093 li ra,13
+ 80000470: 02208f33 mul t5,ra,sp
+ 80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000478: 00200293 li t0,2
+ 8000047c: fe5216e3 bne tp,t0,80000468 <test_20+0x4>
+ 80000480: 08f00e93 li t4,143
+ 80000484: 01400193 li gp,20
+ 80000488: 15df1063 bne t5,t4,800005c8 <fail>
+
+000000008000048c <test_21>:
+ 8000048c: 00000213 li tp,0
+ 80000490: 00b00113 li sp,11
+ 80000494: 00e00093 li ra,14
+ 80000498: 00000013 nop
+ 8000049c: 02208f33 mul t5,ra,sp
+ 800004a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004a4: 00200293 li t0,2
+ 800004a8: fe5214e3 bne tp,t0,80000490 <test_21+0x4>
+ 800004ac: 09a00e93 li t4,154
+ 800004b0: 01500193 li gp,21
+ 800004b4: 11df1a63 bne t5,t4,800005c8 <fail>
+
+00000000800004b8 <test_22>:
+ 800004b8: 00000213 li tp,0
+ 800004bc: 00b00113 li sp,11
+ 800004c0: 00f00093 li ra,15
+ 800004c4: 00000013 nop
+ 800004c8: 00000013 nop
+ 800004cc: 02208f33 mul t5,ra,sp
+ 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004d4: 00200293 li t0,2
+ 800004d8: fe5212e3 bne tp,t0,800004bc <test_22+0x4>
+ 800004dc: 0a500e93 li t4,165
+ 800004e0: 01600193 li gp,22
+ 800004e4: 0fdf1263 bne t5,t4,800005c8 <fail>
+
+00000000800004e8 <test_23>:
+ 800004e8: 00000213 li tp,0
+ 800004ec: 00b00113 li sp,11
+ 800004f0: 00000013 nop
+ 800004f4: 00d00093 li ra,13
+ 800004f8: 02208f33 mul t5,ra,sp
+ 800004fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000500: 00200293 li t0,2
+ 80000504: fe5214e3 bne tp,t0,800004ec <test_23+0x4>
+ 80000508: 08f00e93 li t4,143
+ 8000050c: 01700193 li gp,23
+ 80000510: 0bdf1c63 bne t5,t4,800005c8 <fail>
+
+0000000080000514 <test_24>:
+ 80000514: 00000213 li tp,0
+ 80000518: 00b00113 li sp,11
+ 8000051c: 00000013 nop
+ 80000520: 00e00093 li ra,14
+ 80000524: 00000013 nop
+ 80000528: 02208f33 mul t5,ra,sp
+ 8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000530: 00200293 li t0,2
+ 80000534: fe5212e3 bne tp,t0,80000518 <test_24+0x4>
+ 80000538: 09a00e93 li t4,154
+ 8000053c: 01800193 li gp,24
+ 80000540: 09df1463 bne t5,t4,800005c8 <fail>
+
+0000000080000544 <test_25>:
+ 80000544: 00000213 li tp,0
+ 80000548: 00b00113 li sp,11
+ 8000054c: 00000013 nop
+ 80000550: 00000013 nop
+ 80000554: 00f00093 li ra,15
+ 80000558: 02208f33 mul t5,ra,sp
+ 8000055c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000560: 00200293 li t0,2
+ 80000564: fe5212e3 bne tp,t0,80000548 <test_25+0x4>
+ 80000568: 0a500e93 li t4,165
+ 8000056c: 01900193 li gp,25
+ 80000570: 05df1c63 bne t5,t4,800005c8 <fail>
+
+0000000080000574 <test_26>:
+ 80000574: 01f00093 li ra,31
+ 80000578: 02100133 mul sp,zero,ra
+ 8000057c: 00000e93 li t4,0
+ 80000580: 01a00193 li gp,26
+ 80000584: 05d11263 bne sp,t4,800005c8 <fail>
+
+0000000080000588 <test_27>:
+ 80000588: 02000093 li ra,32
+ 8000058c: 02008133 mul sp,ra,zero
+ 80000590: 00000e93 li t4,0
+ 80000594: 01b00193 li gp,27
+ 80000598: 03d11863 bne sp,t4,800005c8 <fail>
+
+000000008000059c <test_28>:
+ 8000059c: 020000b3 mul ra,zero,zero
+ 800005a0: 00000e93 li t4,0
+ 800005a4: 01c00193 li gp,28
+ 800005a8: 03d09063 bne ra,t4,800005c8 <fail>
+
+00000000800005ac <test_29>:
+ 800005ac: 02100093 li ra,33
+ 800005b0: 02200113 li sp,34
+ 800005b4: 02208033 mul zero,ra,sp
+ 800005b8: 00000e93 li t4,0
+ 800005bc: 01d00193 li gp,29
+ 800005c0: 01d01463 bne zero,t4,800005c8 <fail>
+ 800005c4: 00301c63 bne zero,gp,800005dc <pass>
+
+00000000800005c8 <fail>:
+ 800005c8: 0ff0000f fence
+ 800005cc: 00018063 beqz gp,800005cc <fail+0x4>
+ 800005d0: 00119193 slli gp,gp,0x1
+ 800005d4: 0011e193 ori gp,gp,1
+ 800005d8: 00000073 ecall
+
+00000000800005dc <pass>:
+ 800005dc: 0ff0000f fence
+ 800005e0: 00100193 li gp,1
+ 800005e4: 00000073 ecall
+ 800005e8: c0001073 unimp
+ 800005ec: 0000 unimp
+ 800005ee: 0000 unimp
+ 800005f0: 0000 unimp
+ 800005f2: 0000 unimp
+ 800005f4: 0000 unimp
+ 800005f6: 0000 unimp
+ 800005f8: 0000 unimp
+ 800005fa: 0000 unimp
+ 800005fc: 0000 unimp
+ 800005fe: 0000 unimp
+ 80000600: 0000 unimp
+ 80000602: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-mul.elf b/test/riscv/tests/rv64um-p-mul.elf
new file mode 100755
index 00000000..7107505a
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-mul.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-mulh.dump b/test/riscv/tests/rv64um-p-mulh.dump
new file mode 100644
index 00000000..59475e6d
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-mulh.dump
@@ -0,0 +1,456 @@
+
+rv64um-p-mulh: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00000113 li sp,0
+ 80000104: 02209f33 mulh t5,ra,sp
+ 80000108: 00000e93 li t4,0
+ 8000010c: 00200193 li gp,2
+ 80000110: 47df1063 bne t5,t4,80000570 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 02209f33 mulh t5,ra,sp
+ 80000120: 00000e93 li t4,0
+ 80000124: 00300193 li gp,3
+ 80000128: 45df1463 bne t5,t4,80000570 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00300093 li ra,3
+ 80000130: 00700113 li sp,7
+ 80000134: 02209f33 mulh t5,ra,sp
+ 80000138: 00000e93 li t4,0
+ 8000013c: 00400193 li gp,4
+ 80000140: 43df1863 bne t5,t4,80000570 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00000093 li ra,0
+ 80000148: ffff8137 lui sp,0xffff8
+ 8000014c: 02209f33 mulh t5,ra,sp
+ 80000150: 00000e93 li t4,0
+ 80000154: 00500193 li gp,5
+ 80000158: 41df1c63 bne t5,t4,80000570 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00000113 li sp,0
+ 80000164: 02209f33 mulh t5,ra,sp
+ 80000168: 00000e93 li t4,0
+ 8000016c: 00600193 li gp,6
+ 80000170: 41df1063 bne t5,t4,80000570 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: ffff8137 lui sp,0xffff8
+ 8000017c: 02209f33 mulh t5,ra,sp
+ 80000180: 00000e93 li t4,0
+ 80000184: 00700193 li gp,7
+ 80000188: 3fdf1463 bne t5,t4,80000570 <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 00d0009b addiw ra,zero,13
+ 80000190: 02009093 slli ra,ra,0x20
+ 80000194: 00b0011b addiw sp,zero,11
+ 80000198: 02011113 slli sp,sp,0x20
+ 8000019c: 022090b3 mulh ra,ra,sp
+ 800001a0: 08f00e93 li t4,143
+ 800001a4: 00800193 li gp,8
+ 800001a8: 3dd09463 bne ra,t4,80000570 <fail>
+
+00000000800001ac <test_9>:
+ 800001ac: 0070009b addiw ra,zero,7
+ 800001b0: 02109093 slli ra,ra,0x21
+ 800001b4: 00b0011b addiw sp,zero,11
+ 800001b8: 02011113 slli sp,sp,0x20
+ 800001bc: 02209133 mulh sp,ra,sp
+ 800001c0: 09a00e93 li t4,154
+ 800001c4: 00900193 li gp,9
+ 800001c8: 3bd11463 bne sp,t4,80000570 <fail>
+
+00000000800001cc <test_10>:
+ 800001cc: 00d0009b addiw ra,zero,13
+ 800001d0: 02009093 slli ra,ra,0x20
+ 800001d4: 021090b3 mulh ra,ra,ra
+ 800001d8: 0a900e93 li t4,169
+ 800001dc: 00a00193 li gp,10
+ 800001e0: 39d09863 bne ra,t4,80000570 <fail>
+
+00000000800001e4 <test_11>:
+ 800001e4: 00000213 li tp,0
+ 800001e8: 00d0009b addiw ra,zero,13
+ 800001ec: 02009093 slli ra,ra,0x20
+ 800001f0: 00b0011b addiw sp,zero,11
+ 800001f4: 02011113 slli sp,sp,0x20
+ 800001f8: 02209f33 mulh t5,ra,sp
+ 800001fc: 000f0313 mv t1,t5
+ 80000200: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000204: 00200293 li t0,2
+ 80000208: fe5210e3 bne tp,t0,800001e8 <test_11+0x4>
+ 8000020c: 08f00e93 li t4,143
+ 80000210: 00b00193 li gp,11
+ 80000214: 35d31e63 bne t1,t4,80000570 <fail>
+
+0000000080000218 <test_12>:
+ 80000218: 00000213 li tp,0
+ 8000021c: 0070009b addiw ra,zero,7
+ 80000220: 02109093 slli ra,ra,0x21
+ 80000224: 00b0011b addiw sp,zero,11
+ 80000228: 02011113 slli sp,sp,0x20
+ 8000022c: 02209f33 mulh t5,ra,sp
+ 80000230: 00000013 nop
+ 80000234: 000f0313 mv t1,t5
+ 80000238: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000023c: 00200293 li t0,2
+ 80000240: fc521ee3 bne tp,t0,8000021c <test_12+0x4>
+ 80000244: 09a00e93 li t4,154
+ 80000248: 00c00193 li gp,12
+ 8000024c: 33d31263 bne t1,t4,80000570 <fail>
+
+0000000080000250 <test_13>:
+ 80000250: 00000213 li tp,0
+ 80000254: 00f0009b addiw ra,zero,15
+ 80000258: 02009093 slli ra,ra,0x20
+ 8000025c: 00b0011b addiw sp,zero,11
+ 80000260: 02011113 slli sp,sp,0x20
+ 80000264: 02209f33 mulh t5,ra,sp
+ 80000268: 00000013 nop
+ 8000026c: 00000013 nop
+ 80000270: 000f0313 mv t1,t5
+ 80000274: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000278: 00200293 li t0,2
+ 8000027c: fc521ce3 bne tp,t0,80000254 <test_13+0x4>
+ 80000280: 0a500e93 li t4,165
+ 80000284: 00d00193 li gp,13
+ 80000288: 2fd31463 bne t1,t4,80000570 <fail>
+
+000000008000028c <test_14>:
+ 8000028c: 00000213 li tp,0
+ 80000290: 00d0009b addiw ra,zero,13
+ 80000294: 02009093 slli ra,ra,0x20
+ 80000298: 00b0011b addiw sp,zero,11
+ 8000029c: 02011113 slli sp,sp,0x20
+ 800002a0: 02209f33 mulh t5,ra,sp
+ 800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a8: 00200293 li t0,2
+ 800002ac: fe5212e3 bne tp,t0,80000290 <test_14+0x4>
+ 800002b0: 08f00e93 li t4,143
+ 800002b4: 00e00193 li gp,14
+ 800002b8: 2bdf1c63 bne t5,t4,80000570 <fail>
+
+00000000800002bc <test_15>:
+ 800002bc: 00000213 li tp,0
+ 800002c0: 0070009b addiw ra,zero,7
+ 800002c4: 02109093 slli ra,ra,0x21
+ 800002c8: 00b0011b addiw sp,zero,11
+ 800002cc: 02011113 slli sp,sp,0x20
+ 800002d0: 00000013 nop
+ 800002d4: 02209f33 mulh t5,ra,sp
+ 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002dc: 00200293 li t0,2
+ 800002e0: fe5210e3 bne tp,t0,800002c0 <test_15+0x4>
+ 800002e4: 09a00e93 li t4,154
+ 800002e8: 00f00193 li gp,15
+ 800002ec: 29df1263 bne t5,t4,80000570 <fail>
+
+00000000800002f0 <test_16>:
+ 800002f0: 00000213 li tp,0
+ 800002f4: 00f0009b addiw ra,zero,15
+ 800002f8: 02009093 slli ra,ra,0x20
+ 800002fc: 00b0011b addiw sp,zero,11
+ 80000300: 02011113 slli sp,sp,0x20
+ 80000304: 00000013 nop
+ 80000308: 00000013 nop
+ 8000030c: 02209f33 mulh t5,ra,sp
+ 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000314: 00200293 li t0,2
+ 80000318: fc521ee3 bne tp,t0,800002f4 <test_16+0x4>
+ 8000031c: 0a500e93 li t4,165
+ 80000320: 01000193 li gp,16
+ 80000324: 25df1663 bne t5,t4,80000570 <fail>
+
+0000000080000328 <test_17>:
+ 80000328: 00000213 li tp,0
+ 8000032c: 00d0009b addiw ra,zero,13
+ 80000330: 02009093 slli ra,ra,0x20
+ 80000334: 00000013 nop
+ 80000338: 00b0011b addiw sp,zero,11
+ 8000033c: 02011113 slli sp,sp,0x20
+ 80000340: 02209f33 mulh t5,ra,sp
+ 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000348: 00200293 li t0,2
+ 8000034c: fe5210e3 bne tp,t0,8000032c <test_17+0x4>
+ 80000350: 08f00e93 li t4,143
+ 80000354: 01100193 li gp,17
+ 80000358: 21df1c63 bne t5,t4,80000570 <fail>
+
+000000008000035c <test_18>:
+ 8000035c: 00000213 li tp,0
+ 80000360: 0070009b addiw ra,zero,7
+ 80000364: 02109093 slli ra,ra,0x21
+ 80000368: 00000013 nop
+ 8000036c: 00b0011b addiw sp,zero,11
+ 80000370: 02011113 slli sp,sp,0x20
+ 80000374: 00000013 nop
+ 80000378: 02209f33 mulh t5,ra,sp
+ 8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000380: 00200293 li t0,2
+ 80000384: fc521ee3 bne tp,t0,80000360 <test_18+0x4>
+ 80000388: 09a00e93 li t4,154
+ 8000038c: 01200193 li gp,18
+ 80000390: 1fdf1063 bne t5,t4,80000570 <fail>
+
+0000000080000394 <test_19>:
+ 80000394: 00000213 li tp,0
+ 80000398: 00f0009b addiw ra,zero,15
+ 8000039c: 02009093 slli ra,ra,0x20
+ 800003a0: 00000013 nop
+ 800003a4: 00000013 nop
+ 800003a8: 00b0011b addiw sp,zero,11
+ 800003ac: 02011113 slli sp,sp,0x20
+ 800003b0: 02209f33 mulh t5,ra,sp
+ 800003b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003b8: 00200293 li t0,2
+ 800003bc: fc521ee3 bne tp,t0,80000398 <test_19+0x4>
+ 800003c0: 0a500e93 li t4,165
+ 800003c4: 01300193 li gp,19
+ 800003c8: 1bdf1463 bne t5,t4,80000570 <fail>
+
+00000000800003cc <test_20>:
+ 800003cc: 00000213 li tp,0
+ 800003d0: 00b0011b addiw sp,zero,11
+ 800003d4: 02011113 slli sp,sp,0x20
+ 800003d8: 00d0009b addiw ra,zero,13
+ 800003dc: 02009093 slli ra,ra,0x20
+ 800003e0: 02209f33 mulh t5,ra,sp
+ 800003e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003e8: 00200293 li t0,2
+ 800003ec: fe5212e3 bne tp,t0,800003d0 <test_20+0x4>
+ 800003f0: 08f00e93 li t4,143
+ 800003f4: 01400193 li gp,20
+ 800003f8: 17df1c63 bne t5,t4,80000570 <fail>
+
+00000000800003fc <test_21>:
+ 800003fc: 00000213 li tp,0
+ 80000400: 00b0011b addiw sp,zero,11
+ 80000404: 02011113 slli sp,sp,0x20
+ 80000408: 0070009b addiw ra,zero,7
+ 8000040c: 02109093 slli ra,ra,0x21
+ 80000410: 00000013 nop
+ 80000414: 02209f33 mulh t5,ra,sp
+ 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000041c: 00200293 li t0,2
+ 80000420: fe5210e3 bne tp,t0,80000400 <test_21+0x4>
+ 80000424: 09a00e93 li t4,154
+ 80000428: 01500193 li gp,21
+ 8000042c: 15df1263 bne t5,t4,80000570 <fail>
+
+0000000080000430 <test_22>:
+ 80000430: 00000213 li tp,0
+ 80000434: 00b0011b addiw sp,zero,11
+ 80000438: 02011113 slli sp,sp,0x20
+ 8000043c: 00f0009b addiw ra,zero,15
+ 80000440: 02009093 slli ra,ra,0x20
+ 80000444: 00000013 nop
+ 80000448: 00000013 nop
+ 8000044c: 02209f33 mulh t5,ra,sp
+ 80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000454: 00200293 li t0,2
+ 80000458: fc521ee3 bne tp,t0,80000434 <test_22+0x4>
+ 8000045c: 0a500e93 li t4,165
+ 80000460: 01600193 li gp,22
+ 80000464: 11df1663 bne t5,t4,80000570 <fail>
+
+0000000080000468 <test_23>:
+ 80000468: 00000213 li tp,0
+ 8000046c: 00b0011b addiw sp,zero,11
+ 80000470: 02011113 slli sp,sp,0x20
+ 80000474: 00000013 nop
+ 80000478: 00d0009b addiw ra,zero,13
+ 8000047c: 02009093 slli ra,ra,0x20
+ 80000480: 02209f33 mulh t5,ra,sp
+ 80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000488: 00200293 li t0,2
+ 8000048c: fe5210e3 bne tp,t0,8000046c <test_23+0x4>
+ 80000490: 08f00e93 li t4,143
+ 80000494: 01700193 li gp,23
+ 80000498: 0ddf1c63 bne t5,t4,80000570 <fail>
+
+000000008000049c <test_24>:
+ 8000049c: 00000213 li tp,0
+ 800004a0: 00b0011b addiw sp,zero,11
+ 800004a4: 02011113 slli sp,sp,0x20
+ 800004a8: 00000013 nop
+ 800004ac: 0070009b addiw ra,zero,7
+ 800004b0: 02109093 slli ra,ra,0x21
+ 800004b4: 00000013 nop
+ 800004b8: 02209f33 mulh t5,ra,sp
+ 800004bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004c0: 00200293 li t0,2
+ 800004c4: fc521ee3 bne tp,t0,800004a0 <test_24+0x4>
+ 800004c8: 09a00e93 li t4,154
+ 800004cc: 01800193 li gp,24
+ 800004d0: 0bdf1063 bne t5,t4,80000570 <fail>
+
+00000000800004d4 <test_25>:
+ 800004d4: 00000213 li tp,0
+ 800004d8: 00b0011b addiw sp,zero,11
+ 800004dc: 02011113 slli sp,sp,0x20
+ 800004e0: 00000013 nop
+ 800004e4: 00000013 nop
+ 800004e8: 00f0009b addiw ra,zero,15
+ 800004ec: 02009093 slli ra,ra,0x20
+ 800004f0: 02209f33 mulh t5,ra,sp
+ 800004f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004f8: 00200293 li t0,2
+ 800004fc: fc521ee3 bne tp,t0,800004d8 <test_25+0x4>
+ 80000500: 0a500e93 li t4,165
+ 80000504: 01900193 li gp,25
+ 80000508: 07df1463 bne t5,t4,80000570 <fail>
+
+000000008000050c <test_26>:
+ 8000050c: 01f0009b addiw ra,zero,31
+ 80000510: 02009093 slli ra,ra,0x20
+ 80000514: 02101133 mulh sp,zero,ra
+ 80000518: 00000e93 li t4,0
+ 8000051c: 01a00193 li gp,26
+ 80000520: 05d11863 bne sp,t4,80000570 <fail>
+
+0000000080000524 <test_27>:
+ 80000524: 0010009b addiw ra,zero,1
+ 80000528: 02509093 slli ra,ra,0x25
+ 8000052c: 02009133 mulh sp,ra,zero
+ 80000530: 00000e93 li t4,0
+ 80000534: 01b00193 li gp,27
+ 80000538: 03d11c63 bne sp,t4,80000570 <fail>
+
+000000008000053c <test_28>:
+ 8000053c: 020010b3 mulh ra,zero,zero
+ 80000540: 00000e93 li t4,0
+ 80000544: 01c00193 li gp,28
+ 80000548: 03d09463 bne ra,t4,80000570 <fail>
+
+000000008000054c <test_29>:
+ 8000054c: 0210009b addiw ra,zero,33
+ 80000550: 02009093 slli ra,ra,0x20
+ 80000554: 0110011b addiw sp,zero,17
+ 80000558: 02111113 slli sp,sp,0x21
+ 8000055c: 02209033 mulh zero,ra,sp
+ 80000560: 00000e93 li t4,0
+ 80000564: 01d00193 li gp,29
+ 80000568: 01d01463 bne zero,t4,80000570 <fail>
+ 8000056c: 00301c63 bne zero,gp,80000584 <pass>
+
+0000000080000570 <fail>:
+ 80000570: 0ff0000f fence
+ 80000574: 00018063 beqz gp,80000574 <fail+0x4>
+ 80000578: 00119193 slli gp,gp,0x1
+ 8000057c: 0011e193 ori gp,gp,1
+ 80000580: 00000073 ecall
+
+0000000080000584 <pass>:
+ 80000584: 0ff0000f fence
+ 80000588: 00100193 li gp,1
+ 8000058c: 00000073 ecall
+ 80000590: c0001073 unimp
+ 80000594: 0000 unimp
+ 80000596: 0000 unimp
+ 80000598: 0000 unimp
+ 8000059a: 0000 unimp
+ 8000059c: 0000 unimp
+ 8000059e: 0000 unimp
+ 800005a0: 0000 unimp
+ 800005a2: 0000 unimp
+ 800005a4: 0000 unimp
+ 800005a6: 0000 unimp
+ 800005a8: 0000 unimp
+ 800005aa: 0000 unimp
+ 800005ac: 0000 unimp
+ 800005ae: 0000 unimp
+ 800005b0: 0000 unimp
+ 800005b2: 0000 unimp
+ 800005b4: 0000 unimp
+ 800005b6: 0000 unimp
+ 800005b8: 0000 unimp
+ 800005ba: 0000 unimp
+ 800005bc: 0000 unimp
+ 800005be: 0000 unimp
+ 800005c0: 0000 unimp
+ 800005c2: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-mulh.elf b/test/riscv/tests/rv64um-p-mulh.elf
new file mode 100755
index 00000000..f44264b4
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-mulh.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-mulhsu.dump b/test/riscv/tests/rv64um-p-mulhsu.dump
new file mode 100644
index 00000000..56d5b6da
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-mulhsu.dump
@@ -0,0 +1,456 @@
+
+rv64um-p-mulhsu: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00000113 li sp,0
+ 80000104: 0220af33 mulhsu t5,ra,sp
+ 80000108: 00000e93 li t4,0
+ 8000010c: 00200193 li gp,2
+ 80000110: 47df1063 bne t5,t4,80000570 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 0220af33 mulhsu t5,ra,sp
+ 80000120: 00000e93 li t4,0
+ 80000124: 00300193 li gp,3
+ 80000128: 45df1463 bne t5,t4,80000570 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00300093 li ra,3
+ 80000130: 00700113 li sp,7
+ 80000134: 0220af33 mulhsu t5,ra,sp
+ 80000138: 00000e93 li t4,0
+ 8000013c: 00400193 li gp,4
+ 80000140: 43df1863 bne t5,t4,80000570 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00000093 li ra,0
+ 80000148: ffff8137 lui sp,0xffff8
+ 8000014c: 0220af33 mulhsu t5,ra,sp
+ 80000150: 00000e93 li t4,0
+ 80000154: 00500193 li gp,5
+ 80000158: 41df1c63 bne t5,t4,80000570 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00000113 li sp,0
+ 80000164: 0220af33 mulhsu t5,ra,sp
+ 80000168: 00000e93 li t4,0
+ 8000016c: 00600193 li gp,6
+ 80000170: 41df1063 bne t5,t4,80000570 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: ffff8137 lui sp,0xffff8
+ 8000017c: 0220af33 mulhsu t5,ra,sp
+ 80000180: 80000eb7 lui t4,0x80000
+ 80000184: 00700193 li gp,7
+ 80000188: 3fdf1463 bne t5,t4,80000570 <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 00d0009b addiw ra,zero,13
+ 80000190: 02009093 slli ra,ra,0x20
+ 80000194: 00b0011b addiw sp,zero,11
+ 80000198: 02011113 slli sp,sp,0x20
+ 8000019c: 0220a0b3 mulhsu ra,ra,sp
+ 800001a0: 08f00e93 li t4,143
+ 800001a4: 00800193 li gp,8
+ 800001a8: 3dd09463 bne ra,t4,80000570 <fail>
+
+00000000800001ac <test_9>:
+ 800001ac: 0070009b addiw ra,zero,7
+ 800001b0: 02109093 slli ra,ra,0x21
+ 800001b4: 00b0011b addiw sp,zero,11
+ 800001b8: 02011113 slli sp,sp,0x20
+ 800001bc: 0220a133 mulhsu sp,ra,sp
+ 800001c0: 09a00e93 li t4,154
+ 800001c4: 00900193 li gp,9
+ 800001c8: 3bd11463 bne sp,t4,80000570 <fail>
+
+00000000800001cc <test_10>:
+ 800001cc: 00d0009b addiw ra,zero,13
+ 800001d0: 02009093 slli ra,ra,0x20
+ 800001d4: 0210a0b3 mulhsu ra,ra,ra
+ 800001d8: 0a900e93 li t4,169
+ 800001dc: 00a00193 li gp,10
+ 800001e0: 39d09863 bne ra,t4,80000570 <fail>
+
+00000000800001e4 <test_11>:
+ 800001e4: 00000213 li tp,0
+ 800001e8: 00d0009b addiw ra,zero,13
+ 800001ec: 02009093 slli ra,ra,0x20
+ 800001f0: 00b0011b addiw sp,zero,11
+ 800001f4: 02011113 slli sp,sp,0x20
+ 800001f8: 0220af33 mulhsu t5,ra,sp
+ 800001fc: 000f0313 mv t1,t5
+ 80000200: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000204: 00200293 li t0,2
+ 80000208: fe5210e3 bne tp,t0,800001e8 <test_11+0x4>
+ 8000020c: 08f00e93 li t4,143
+ 80000210: 00b00193 li gp,11
+ 80000214: 35d31e63 bne t1,t4,80000570 <fail>
+
+0000000080000218 <test_12>:
+ 80000218: 00000213 li tp,0
+ 8000021c: 0070009b addiw ra,zero,7
+ 80000220: 02109093 slli ra,ra,0x21
+ 80000224: 00b0011b addiw sp,zero,11
+ 80000228: 02011113 slli sp,sp,0x20
+ 8000022c: 0220af33 mulhsu t5,ra,sp
+ 80000230: 00000013 nop
+ 80000234: 000f0313 mv t1,t5
+ 80000238: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000023c: 00200293 li t0,2
+ 80000240: fc521ee3 bne tp,t0,8000021c <test_12+0x4>
+ 80000244: 09a00e93 li t4,154
+ 80000248: 00c00193 li gp,12
+ 8000024c: 33d31263 bne t1,t4,80000570 <fail>
+
+0000000080000250 <test_13>:
+ 80000250: 00000213 li tp,0
+ 80000254: 00f0009b addiw ra,zero,15
+ 80000258: 02009093 slli ra,ra,0x20
+ 8000025c: 00b0011b addiw sp,zero,11
+ 80000260: 02011113 slli sp,sp,0x20
+ 80000264: 0220af33 mulhsu t5,ra,sp
+ 80000268: 00000013 nop
+ 8000026c: 00000013 nop
+ 80000270: 000f0313 mv t1,t5
+ 80000274: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000278: 00200293 li t0,2
+ 8000027c: fc521ce3 bne tp,t0,80000254 <test_13+0x4>
+ 80000280: 0a500e93 li t4,165
+ 80000284: 00d00193 li gp,13
+ 80000288: 2fd31463 bne t1,t4,80000570 <fail>
+
+000000008000028c <test_14>:
+ 8000028c: 00000213 li tp,0
+ 80000290: 00d0009b addiw ra,zero,13
+ 80000294: 02009093 slli ra,ra,0x20
+ 80000298: 00b0011b addiw sp,zero,11
+ 8000029c: 02011113 slli sp,sp,0x20
+ 800002a0: 0220af33 mulhsu t5,ra,sp
+ 800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a8: 00200293 li t0,2
+ 800002ac: fe5212e3 bne tp,t0,80000290 <test_14+0x4>
+ 800002b0: 08f00e93 li t4,143
+ 800002b4: 00e00193 li gp,14
+ 800002b8: 2bdf1c63 bne t5,t4,80000570 <fail>
+
+00000000800002bc <test_15>:
+ 800002bc: 00000213 li tp,0
+ 800002c0: 0070009b addiw ra,zero,7
+ 800002c4: 02109093 slli ra,ra,0x21
+ 800002c8: 00b0011b addiw sp,zero,11
+ 800002cc: 02011113 slli sp,sp,0x20
+ 800002d0: 00000013 nop
+ 800002d4: 0220af33 mulhsu t5,ra,sp
+ 800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002dc: 00200293 li t0,2
+ 800002e0: fe5210e3 bne tp,t0,800002c0 <test_15+0x4>
+ 800002e4: 09a00e93 li t4,154
+ 800002e8: 00f00193 li gp,15
+ 800002ec: 29df1263 bne t5,t4,80000570 <fail>
+
+00000000800002f0 <test_16>:
+ 800002f0: 00000213 li tp,0
+ 800002f4: 00f0009b addiw ra,zero,15
+ 800002f8: 02009093 slli ra,ra,0x20
+ 800002fc: 00b0011b addiw sp,zero,11
+ 80000300: 02011113 slli sp,sp,0x20
+ 80000304: 00000013 nop
+ 80000308: 00000013 nop
+ 8000030c: 0220af33 mulhsu t5,ra,sp
+ 80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000314: 00200293 li t0,2
+ 80000318: fc521ee3 bne tp,t0,800002f4 <test_16+0x4>
+ 8000031c: 0a500e93 li t4,165
+ 80000320: 01000193 li gp,16
+ 80000324: 25df1663 bne t5,t4,80000570 <fail>
+
+0000000080000328 <test_17>:
+ 80000328: 00000213 li tp,0
+ 8000032c: 00d0009b addiw ra,zero,13
+ 80000330: 02009093 slli ra,ra,0x20
+ 80000334: 00000013 nop
+ 80000338: 00b0011b addiw sp,zero,11
+ 8000033c: 02011113 slli sp,sp,0x20
+ 80000340: 0220af33 mulhsu t5,ra,sp
+ 80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000348: 00200293 li t0,2
+ 8000034c: fe5210e3 bne tp,t0,8000032c <test_17+0x4>
+ 80000350: 08f00e93 li t4,143
+ 80000354: 01100193 li gp,17
+ 80000358: 21df1c63 bne t5,t4,80000570 <fail>
+
+000000008000035c <test_18>:
+ 8000035c: 00000213 li tp,0
+ 80000360: 0070009b addiw ra,zero,7
+ 80000364: 02109093 slli ra,ra,0x21
+ 80000368: 00000013 nop
+ 8000036c: 00b0011b addiw sp,zero,11
+ 80000370: 02011113 slli sp,sp,0x20
+ 80000374: 00000013 nop
+ 80000378: 0220af33 mulhsu t5,ra,sp
+ 8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000380: 00200293 li t0,2
+ 80000384: fc521ee3 bne tp,t0,80000360 <test_18+0x4>
+ 80000388: 09a00e93 li t4,154
+ 8000038c: 01200193 li gp,18
+ 80000390: 1fdf1063 bne t5,t4,80000570 <fail>
+
+0000000080000394 <test_19>:
+ 80000394: 00000213 li tp,0
+ 80000398: 00f0009b addiw ra,zero,15
+ 8000039c: 02009093 slli ra,ra,0x20
+ 800003a0: 00000013 nop
+ 800003a4: 00000013 nop
+ 800003a8: 00b0011b addiw sp,zero,11
+ 800003ac: 02011113 slli sp,sp,0x20
+ 800003b0: 0220af33 mulhsu t5,ra,sp
+ 800003b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003b8: 00200293 li t0,2
+ 800003bc: fc521ee3 bne tp,t0,80000398 <test_19+0x4>
+ 800003c0: 0a500e93 li t4,165
+ 800003c4: 01300193 li gp,19
+ 800003c8: 1bdf1463 bne t5,t4,80000570 <fail>
+
+00000000800003cc <test_20>:
+ 800003cc: 00000213 li tp,0
+ 800003d0: 00b0011b addiw sp,zero,11
+ 800003d4: 02011113 slli sp,sp,0x20
+ 800003d8: 00d0009b addiw ra,zero,13
+ 800003dc: 02009093 slli ra,ra,0x20
+ 800003e0: 0220af33 mulhsu t5,ra,sp
+ 800003e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003e8: 00200293 li t0,2
+ 800003ec: fe5212e3 bne tp,t0,800003d0 <test_20+0x4>
+ 800003f0: 08f00e93 li t4,143
+ 800003f4: 01400193 li gp,20
+ 800003f8: 17df1c63 bne t5,t4,80000570 <fail>
+
+00000000800003fc <test_21>:
+ 800003fc: 00000213 li tp,0
+ 80000400: 00b0011b addiw sp,zero,11
+ 80000404: 02011113 slli sp,sp,0x20
+ 80000408: 0070009b addiw ra,zero,7
+ 8000040c: 02109093 slli ra,ra,0x21
+ 80000410: 00000013 nop
+ 80000414: 0220af33 mulhsu t5,ra,sp
+ 80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000041c: 00200293 li t0,2
+ 80000420: fe5210e3 bne tp,t0,80000400 <test_21+0x4>
+ 80000424: 09a00e93 li t4,154
+ 80000428: 01500193 li gp,21
+ 8000042c: 15df1263 bne t5,t4,80000570 <fail>
+
+0000000080000430 <test_22>:
+ 80000430: 00000213 li tp,0
+ 80000434: 00b0011b addiw sp,zero,11
+ 80000438: 02011113 slli sp,sp,0x20
+ 8000043c: 00f0009b addiw ra,zero,15
+ 80000440: 02009093 slli ra,ra,0x20
+ 80000444: 00000013 nop
+ 80000448: 00000013 nop
+ 8000044c: 0220af33 mulhsu t5,ra,sp
+ 80000450: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000454: 00200293 li t0,2
+ 80000458: fc521ee3 bne tp,t0,80000434 <test_22+0x4>
+ 8000045c: 0a500e93 li t4,165
+ 80000460: 01600193 li gp,22
+ 80000464: 11df1663 bne t5,t4,80000570 <fail>
+
+0000000080000468 <test_23>:
+ 80000468: 00000213 li tp,0
+ 8000046c: 00b0011b addiw sp,zero,11
+ 80000470: 02011113 slli sp,sp,0x20
+ 80000474: 00000013 nop
+ 80000478: 00d0009b addiw ra,zero,13
+ 8000047c: 02009093 slli ra,ra,0x20
+ 80000480: 0220af33 mulhsu t5,ra,sp
+ 80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000488: 00200293 li t0,2
+ 8000048c: fe5210e3 bne tp,t0,8000046c <test_23+0x4>
+ 80000490: 08f00e93 li t4,143
+ 80000494: 01700193 li gp,23
+ 80000498: 0ddf1c63 bne t5,t4,80000570 <fail>
+
+000000008000049c <test_24>:
+ 8000049c: 00000213 li tp,0
+ 800004a0: 00b0011b addiw sp,zero,11
+ 800004a4: 02011113 slli sp,sp,0x20
+ 800004a8: 00000013 nop
+ 800004ac: 0070009b addiw ra,zero,7
+ 800004b0: 02109093 slli ra,ra,0x21
+ 800004b4: 00000013 nop
+ 800004b8: 0220af33 mulhsu t5,ra,sp
+ 800004bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004c0: 00200293 li t0,2
+ 800004c4: fc521ee3 bne tp,t0,800004a0 <test_24+0x4>
+ 800004c8: 09a00e93 li t4,154
+ 800004cc: 01800193 li gp,24
+ 800004d0: 0bdf1063 bne t5,t4,80000570 <fail>
+
+00000000800004d4 <test_25>:
+ 800004d4: 00000213 li tp,0
+ 800004d8: 00b0011b addiw sp,zero,11
+ 800004dc: 02011113 slli sp,sp,0x20
+ 800004e0: 00000013 nop
+ 800004e4: 00000013 nop
+ 800004e8: 00f0009b addiw ra,zero,15
+ 800004ec: 02009093 slli ra,ra,0x20
+ 800004f0: 0220af33 mulhsu t5,ra,sp
+ 800004f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004f8: 00200293 li t0,2
+ 800004fc: fc521ee3 bne tp,t0,800004d8 <test_25+0x4>
+ 80000500: 0a500e93 li t4,165
+ 80000504: 01900193 li gp,25
+ 80000508: 07df1463 bne t5,t4,80000570 <fail>
+
+000000008000050c <test_26>:
+ 8000050c: 01f0009b addiw ra,zero,31
+ 80000510: 02009093 slli ra,ra,0x20
+ 80000514: 02102133 mulhsu sp,zero,ra
+ 80000518: 00000e93 li t4,0
+ 8000051c: 01a00193 li gp,26
+ 80000520: 05d11863 bne sp,t4,80000570 <fail>
+
+0000000080000524 <test_27>:
+ 80000524: 0010009b addiw ra,zero,1
+ 80000528: 02509093 slli ra,ra,0x25
+ 8000052c: 0200a133 mulhsu sp,ra,zero
+ 80000530: 00000e93 li t4,0
+ 80000534: 01b00193 li gp,27
+ 80000538: 03d11c63 bne sp,t4,80000570 <fail>
+
+000000008000053c <test_28>:
+ 8000053c: 020020b3 mulhsu ra,zero,zero
+ 80000540: 00000e93 li t4,0
+ 80000544: 01c00193 li gp,28
+ 80000548: 03d09463 bne ra,t4,80000570 <fail>
+
+000000008000054c <test_29>:
+ 8000054c: 0210009b addiw ra,zero,33
+ 80000550: 02009093 slli ra,ra,0x20
+ 80000554: 0110011b addiw sp,zero,17
+ 80000558: 02111113 slli sp,sp,0x21
+ 8000055c: 0220a033 mulhsu zero,ra,sp
+ 80000560: 00000e93 li t4,0
+ 80000564: 01d00193 li gp,29
+ 80000568: 01d01463 bne zero,t4,80000570 <fail>
+ 8000056c: 00301c63 bne zero,gp,80000584 <pass>
+
+0000000080000570 <fail>:
+ 80000570: 0ff0000f fence
+ 80000574: 00018063 beqz gp,80000574 <fail+0x4>
+ 80000578: 00119193 slli gp,gp,0x1
+ 8000057c: 0011e193 ori gp,gp,1
+ 80000580: 00000073 ecall
+
+0000000080000584 <pass>:
+ 80000584: 0ff0000f fence
+ 80000588: 00100193 li gp,1
+ 8000058c: 00000073 ecall
+ 80000590: c0001073 unimp
+ 80000594: 0000 unimp
+ 80000596: 0000 unimp
+ 80000598: 0000 unimp
+ 8000059a: 0000 unimp
+ 8000059c: 0000 unimp
+ 8000059e: 0000 unimp
+ 800005a0: 0000 unimp
+ 800005a2: 0000 unimp
+ 800005a4: 0000 unimp
+ 800005a6: 0000 unimp
+ 800005a8: 0000 unimp
+ 800005aa: 0000 unimp
+ 800005ac: 0000 unimp
+ 800005ae: 0000 unimp
+ 800005b0: 0000 unimp
+ 800005b2: 0000 unimp
+ 800005b4: 0000 unimp
+ 800005b6: 0000 unimp
+ 800005b8: 0000 unimp
+ 800005ba: 0000 unimp
+ 800005bc: 0000 unimp
+ 800005be: 0000 unimp
+ 800005c0: 0000 unimp
+ 800005c2: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-mulhsu.elf b/test/riscv/tests/rv64um-p-mulhsu.elf
new file mode 100755
index 00000000..93efb0b3
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-mulhsu.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-mulhu.dump b/test/riscv/tests/rv64um-p-mulhu.dump
new file mode 100644
index 00000000..82860e14
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-mulhu.dump
@@ -0,0 +1,492 @@
+
+rv64um-p-mulhu: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00000113 li sp,0
+ 80000104: 0220bf33 mulhu t5,ra,sp
+ 80000108: 00000e93 li t4,0
+ 8000010c: 00200193 li gp,2
+ 80000110: 4fdf1063 bne t5,t4,800005f0 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 0220bf33 mulhu t5,ra,sp
+ 80000120: 00000e93 li t4,0
+ 80000124: 00300193 li gp,3
+ 80000128: 4ddf1463 bne t5,t4,800005f0 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00300093 li ra,3
+ 80000130: 00700113 li sp,7
+ 80000134: 0220bf33 mulhu t5,ra,sp
+ 80000138: 00000e93 li t4,0
+ 8000013c: 00400193 li gp,4
+ 80000140: 4bdf1863 bne t5,t4,800005f0 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00000093 li ra,0
+ 80000148: ffff8137 lui sp,0xffff8
+ 8000014c: 0220bf33 mulhu t5,ra,sp
+ 80000150: 00000e93 li t4,0
+ 80000154: 00500193 li gp,5
+ 80000158: 49df1c63 bne t5,t4,800005f0 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00000113 li sp,0
+ 80000164: 0220bf33 mulhu t5,ra,sp
+ 80000168: 00000e93 li t4,0
+ 8000016c: 00600193 li gp,6
+ 80000170: 49df1063 bne t5,t4,800005f0 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: ffff8137 lui sp,0xffff8
+ 8000017c: 0220bf33 mulhu t5,ra,sp
+ 80000180: ffff0eb7 lui t4,0xffff0
+ 80000184: fffe8e9b addiw t4,t4,-1
+ 80000188: 00fe9e93 slli t4,t4,0xf
+ 8000018c: 00700193 li gp,7
+ 80000190: 47df1063 bne t5,t4,800005f0 <fail>
+
+0000000080000194 <test_30>:
+ 80000194: faaab0b7 lui ra,0xfaaab
+ 80000198: aab0809b addiw ra,ra,-1365
+ 8000019c: 00c09093 slli ra,ra,0xc
+ 800001a0: aab08093 addi ra,ra,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab>
+ 800001a4: 00c09093 slli ra,ra,0xc
+ 800001a8: aab08093 addi ra,ra,-1365
+ 800001ac: 00c09093 slli ra,ra,0xc
+ 800001b0: aab08093 addi ra,ra,-1365
+ 800001b4: 00030137 lui sp,0x30
+ 800001b8: e7d1011b addiw sp,sp,-387
+ 800001bc: 0220bf33 mulhu t5,ra,sp
+ 800001c0: 00020eb7 lui t4,0x20
+ 800001c4: efee8e9b addiw t4,t4,-258
+ 800001c8: 01e00193 li gp,30
+ 800001cc: 43df1263 bne t5,t4,800005f0 <fail>
+
+00000000800001d0 <test_31>:
+ 800001d0: 000300b7 lui ra,0x30
+ 800001d4: e7d0809b addiw ra,ra,-387
+ 800001d8: faaab137 lui sp,0xfaaab
+ 800001dc: aab1011b addiw sp,sp,-1365
+ 800001e0: 00c11113 slli sp,sp,0xc
+ 800001e4: aab10113 addi sp,sp,-1365 # fffffffffaaaaaab <_end+0xffffffff7aaa8aab>
+ 800001e8: 00c11113 slli sp,sp,0xc
+ 800001ec: aab10113 addi sp,sp,-1365
+ 800001f0: 00c11113 slli sp,sp,0xc
+ 800001f4: aab10113 addi sp,sp,-1365
+ 800001f8: 0220bf33 mulhu t5,ra,sp
+ 800001fc: 00020eb7 lui t4,0x20
+ 80000200: efee8e9b addiw t4,t4,-258
+ 80000204: 01f00193 li gp,31
+ 80000208: 3fdf1463 bne t5,t4,800005f0 <fail>
+
+000000008000020c <test_8>:
+ 8000020c: 00d0009b addiw ra,zero,13
+ 80000210: 02009093 slli ra,ra,0x20
+ 80000214: 00b0011b addiw sp,zero,11
+ 80000218: 02011113 slli sp,sp,0x20
+ 8000021c: 0220b0b3 mulhu ra,ra,sp
+ 80000220: 08f00e93 li t4,143
+ 80000224: 00800193 li gp,8
+ 80000228: 3dd09463 bne ra,t4,800005f0 <fail>
+
+000000008000022c <test_9>:
+ 8000022c: 0070009b addiw ra,zero,7
+ 80000230: 02109093 slli ra,ra,0x21
+ 80000234: 00b0011b addiw sp,zero,11
+ 80000238: 02011113 slli sp,sp,0x20
+ 8000023c: 0220b133 mulhu sp,ra,sp
+ 80000240: 09a00e93 li t4,154
+ 80000244: 00900193 li gp,9
+ 80000248: 3bd11463 bne sp,t4,800005f0 <fail>
+
+000000008000024c <test_10>:
+ 8000024c: 00d0009b addiw ra,zero,13
+ 80000250: 02009093 slli ra,ra,0x20
+ 80000254: 0210b0b3 mulhu ra,ra,ra
+ 80000258: 0a900e93 li t4,169
+ 8000025c: 00a00193 li gp,10
+ 80000260: 39d09863 bne ra,t4,800005f0 <fail>
+
+0000000080000264 <test_11>:
+ 80000264: 00000213 li tp,0
+ 80000268: 00d0009b addiw ra,zero,13
+ 8000026c: 02009093 slli ra,ra,0x20
+ 80000270: 00b0011b addiw sp,zero,11
+ 80000274: 02011113 slli sp,sp,0x20
+ 80000278: 0220bf33 mulhu t5,ra,sp
+ 8000027c: 000f0313 mv t1,t5
+ 80000280: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000284: 00200293 li t0,2
+ 80000288: fe5210e3 bne tp,t0,80000268 <test_11+0x4>
+ 8000028c: 08f00e93 li t4,143
+ 80000290: 00b00193 li gp,11
+ 80000294: 35d31e63 bne t1,t4,800005f0 <fail>
+
+0000000080000298 <test_12>:
+ 80000298: 00000213 li tp,0
+ 8000029c: 0070009b addiw ra,zero,7
+ 800002a0: 02109093 slli ra,ra,0x21
+ 800002a4: 00b0011b addiw sp,zero,11
+ 800002a8: 02011113 slli sp,sp,0x20
+ 800002ac: 0220bf33 mulhu t5,ra,sp
+ 800002b0: 00000013 nop
+ 800002b4: 000f0313 mv t1,t5
+ 800002b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002bc: 00200293 li t0,2
+ 800002c0: fc521ee3 bne tp,t0,8000029c <test_12+0x4>
+ 800002c4: 09a00e93 li t4,154
+ 800002c8: 00c00193 li gp,12
+ 800002cc: 33d31263 bne t1,t4,800005f0 <fail>
+
+00000000800002d0 <test_13>:
+ 800002d0: 00000213 li tp,0
+ 800002d4: 00f0009b addiw ra,zero,15
+ 800002d8: 02009093 slli ra,ra,0x20
+ 800002dc: 00b0011b addiw sp,zero,11
+ 800002e0: 02011113 slli sp,sp,0x20
+ 800002e4: 0220bf33 mulhu t5,ra,sp
+ 800002e8: 00000013 nop
+ 800002ec: 00000013 nop
+ 800002f0: 000f0313 mv t1,t5
+ 800002f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002f8: 00200293 li t0,2
+ 800002fc: fc521ce3 bne tp,t0,800002d4 <test_13+0x4>
+ 80000300: 0a500e93 li t4,165
+ 80000304: 00d00193 li gp,13
+ 80000308: 2fd31463 bne t1,t4,800005f0 <fail>
+
+000000008000030c <test_14>:
+ 8000030c: 00000213 li tp,0
+ 80000310: 00d0009b addiw ra,zero,13
+ 80000314: 02009093 slli ra,ra,0x20
+ 80000318: 00b0011b addiw sp,zero,11
+ 8000031c: 02011113 slli sp,sp,0x20
+ 80000320: 0220bf33 mulhu t5,ra,sp
+ 80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000328: 00200293 li t0,2
+ 8000032c: fe5212e3 bne tp,t0,80000310 <test_14+0x4>
+ 80000330: 08f00e93 li t4,143
+ 80000334: 00e00193 li gp,14
+ 80000338: 2bdf1c63 bne t5,t4,800005f0 <fail>
+
+000000008000033c <test_15>:
+ 8000033c: 00000213 li tp,0
+ 80000340: 0070009b addiw ra,zero,7
+ 80000344: 02109093 slli ra,ra,0x21
+ 80000348: 00b0011b addiw sp,zero,11
+ 8000034c: 02011113 slli sp,sp,0x20
+ 80000350: 00000013 nop
+ 80000354: 0220bf33 mulhu t5,ra,sp
+ 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000035c: 00200293 li t0,2
+ 80000360: fe5210e3 bne tp,t0,80000340 <test_15+0x4>
+ 80000364: 09a00e93 li t4,154
+ 80000368: 00f00193 li gp,15
+ 8000036c: 29df1263 bne t5,t4,800005f0 <fail>
+
+0000000080000370 <test_16>:
+ 80000370: 00000213 li tp,0
+ 80000374: 00f0009b addiw ra,zero,15
+ 80000378: 02009093 slli ra,ra,0x20
+ 8000037c: 00b0011b addiw sp,zero,11
+ 80000380: 02011113 slli sp,sp,0x20
+ 80000384: 00000013 nop
+ 80000388: 00000013 nop
+ 8000038c: 0220bf33 mulhu t5,ra,sp
+ 80000390: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000394: 00200293 li t0,2
+ 80000398: fc521ee3 bne tp,t0,80000374 <test_16+0x4>
+ 8000039c: 0a500e93 li t4,165
+ 800003a0: 01000193 li gp,16
+ 800003a4: 25df1663 bne t5,t4,800005f0 <fail>
+
+00000000800003a8 <test_17>:
+ 800003a8: 00000213 li tp,0
+ 800003ac: 00d0009b addiw ra,zero,13
+ 800003b0: 02009093 slli ra,ra,0x20
+ 800003b4: 00000013 nop
+ 800003b8: 00b0011b addiw sp,zero,11
+ 800003bc: 02011113 slli sp,sp,0x20
+ 800003c0: 0220bf33 mulhu t5,ra,sp
+ 800003c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003c8: 00200293 li t0,2
+ 800003cc: fe5210e3 bne tp,t0,800003ac <test_17+0x4>
+ 800003d0: 08f00e93 li t4,143
+ 800003d4: 01100193 li gp,17
+ 800003d8: 21df1c63 bne t5,t4,800005f0 <fail>
+
+00000000800003dc <test_18>:
+ 800003dc: 00000213 li tp,0
+ 800003e0: 0070009b addiw ra,zero,7
+ 800003e4: 02109093 slli ra,ra,0x21
+ 800003e8: 00000013 nop
+ 800003ec: 00b0011b addiw sp,zero,11
+ 800003f0: 02011113 slli sp,sp,0x20
+ 800003f4: 00000013 nop
+ 800003f8: 0220bf33 mulhu t5,ra,sp
+ 800003fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000400: 00200293 li t0,2
+ 80000404: fc521ee3 bne tp,t0,800003e0 <test_18+0x4>
+ 80000408: 09a00e93 li t4,154
+ 8000040c: 01200193 li gp,18
+ 80000410: 1fdf1063 bne t5,t4,800005f0 <fail>
+
+0000000080000414 <test_19>:
+ 80000414: 00000213 li tp,0
+ 80000418: 00f0009b addiw ra,zero,15
+ 8000041c: 02009093 slli ra,ra,0x20
+ 80000420: 00000013 nop
+ 80000424: 00000013 nop
+ 80000428: 00b0011b addiw sp,zero,11
+ 8000042c: 02011113 slli sp,sp,0x20
+ 80000430: 0220bf33 mulhu t5,ra,sp
+ 80000434: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000438: 00200293 li t0,2
+ 8000043c: fc521ee3 bne tp,t0,80000418 <test_19+0x4>
+ 80000440: 0a500e93 li t4,165
+ 80000444: 01300193 li gp,19
+ 80000448: 1bdf1463 bne t5,t4,800005f0 <fail>
+
+000000008000044c <test_20>:
+ 8000044c: 00000213 li tp,0
+ 80000450: 00b0011b addiw sp,zero,11
+ 80000454: 02011113 slli sp,sp,0x20
+ 80000458: 00d0009b addiw ra,zero,13
+ 8000045c: 02009093 slli ra,ra,0x20
+ 80000460: 0220bf33 mulhu t5,ra,sp
+ 80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000468: 00200293 li t0,2
+ 8000046c: fe5212e3 bne tp,t0,80000450 <test_20+0x4>
+ 80000470: 08f00e93 li t4,143
+ 80000474: 01400193 li gp,20
+ 80000478: 17df1c63 bne t5,t4,800005f0 <fail>
+
+000000008000047c <test_21>:
+ 8000047c: 00000213 li tp,0
+ 80000480: 00b0011b addiw sp,zero,11
+ 80000484: 02011113 slli sp,sp,0x20
+ 80000488: 0070009b addiw ra,zero,7
+ 8000048c: 02109093 slli ra,ra,0x21
+ 80000490: 00000013 nop
+ 80000494: 0220bf33 mulhu t5,ra,sp
+ 80000498: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000049c: 00200293 li t0,2
+ 800004a0: fe5210e3 bne tp,t0,80000480 <test_21+0x4>
+ 800004a4: 09a00e93 li t4,154
+ 800004a8: 01500193 li gp,21
+ 800004ac: 15df1263 bne t5,t4,800005f0 <fail>
+
+00000000800004b0 <test_22>:
+ 800004b0: 00000213 li tp,0
+ 800004b4: 00b0011b addiw sp,zero,11
+ 800004b8: 02011113 slli sp,sp,0x20
+ 800004bc: 00f0009b addiw ra,zero,15
+ 800004c0: 02009093 slli ra,ra,0x20
+ 800004c4: 00000013 nop
+ 800004c8: 00000013 nop
+ 800004cc: 0220bf33 mulhu t5,ra,sp
+ 800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800004d4: 00200293 li t0,2
+ 800004d8: fc521ee3 bne tp,t0,800004b4 <test_22+0x4>
+ 800004dc: 0a500e93 li t4,165
+ 800004e0: 01600193 li gp,22
+ 800004e4: 11df1663 bne t5,t4,800005f0 <fail>
+
+00000000800004e8 <test_23>:
+ 800004e8: 00000213 li tp,0
+ 800004ec: 00b0011b addiw sp,zero,11
+ 800004f0: 02011113 slli sp,sp,0x20
+ 800004f4: 00000013 nop
+ 800004f8: 00d0009b addiw ra,zero,13
+ 800004fc: 02009093 slli ra,ra,0x20
+ 80000500: 0220bf33 mulhu t5,ra,sp
+ 80000504: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000508: 00200293 li t0,2
+ 8000050c: fe5210e3 bne tp,t0,800004ec <test_23+0x4>
+ 80000510: 08f00e93 li t4,143
+ 80000514: 01700193 li gp,23
+ 80000518: 0ddf1c63 bne t5,t4,800005f0 <fail>
+
+000000008000051c <test_24>:
+ 8000051c: 00000213 li tp,0
+ 80000520: 00b0011b addiw sp,zero,11
+ 80000524: 02011113 slli sp,sp,0x20
+ 80000528: 00000013 nop
+ 8000052c: 0070009b addiw ra,zero,7
+ 80000530: 02109093 slli ra,ra,0x21
+ 80000534: 00000013 nop
+ 80000538: 0220bf33 mulhu t5,ra,sp
+ 8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000540: 00200293 li t0,2
+ 80000544: fc521ee3 bne tp,t0,80000520 <test_24+0x4>
+ 80000548: 09a00e93 li t4,154
+ 8000054c: 01800193 li gp,24
+ 80000550: 0bdf1063 bne t5,t4,800005f0 <fail>
+
+0000000080000554 <test_25>:
+ 80000554: 00000213 li tp,0
+ 80000558: 00b0011b addiw sp,zero,11
+ 8000055c: 02011113 slli sp,sp,0x20
+ 80000560: 00000013 nop
+ 80000564: 00000013 nop
+ 80000568: 00f0009b addiw ra,zero,15
+ 8000056c: 02009093 slli ra,ra,0x20
+ 80000570: 0220bf33 mulhu t5,ra,sp
+ 80000574: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000578: 00200293 li t0,2
+ 8000057c: fc521ee3 bne tp,t0,80000558 <test_25+0x4>
+ 80000580: 0a500e93 li t4,165
+ 80000584: 01900193 li gp,25
+ 80000588: 07df1463 bne t5,t4,800005f0 <fail>
+
+000000008000058c <test_26>:
+ 8000058c: 01f0009b addiw ra,zero,31
+ 80000590: 02009093 slli ra,ra,0x20
+ 80000594: 02103133 mulhu sp,zero,ra
+ 80000598: 00000e93 li t4,0
+ 8000059c: 01a00193 li gp,26
+ 800005a0: 05d11863 bne sp,t4,800005f0 <fail>
+
+00000000800005a4 <test_27>:
+ 800005a4: 0010009b addiw ra,zero,1
+ 800005a8: 02509093 slli ra,ra,0x25
+ 800005ac: 0200b133 mulhu sp,ra,zero
+ 800005b0: 00000e93 li t4,0
+ 800005b4: 01b00193 li gp,27
+ 800005b8: 03d11c63 bne sp,t4,800005f0 <fail>
+
+00000000800005bc <test_28>:
+ 800005bc: 020030b3 mulhu ra,zero,zero
+ 800005c0: 00000e93 li t4,0
+ 800005c4: 01c00193 li gp,28
+ 800005c8: 03d09463 bne ra,t4,800005f0 <fail>
+
+00000000800005cc <test_29>:
+ 800005cc: 0210009b addiw ra,zero,33
+ 800005d0: 02009093 slli ra,ra,0x20
+ 800005d4: 0110011b addiw sp,zero,17
+ 800005d8: 02111113 slli sp,sp,0x21
+ 800005dc: 0220b033 mulhu zero,ra,sp
+ 800005e0: 00000e93 li t4,0
+ 800005e4: 01d00193 li gp,29
+ 800005e8: 01d01463 bne zero,t4,800005f0 <fail>
+ 800005ec: 00301c63 bne zero,gp,80000604 <pass>
+
+00000000800005f0 <fail>:
+ 800005f0: 0ff0000f fence
+ 800005f4: 00018063 beqz gp,800005f4 <fail+0x4>
+ 800005f8: 00119193 slli gp,gp,0x1
+ 800005fc: 0011e193 ori gp,gp,1
+ 80000600: 00000073 ecall
+
+0000000080000604 <pass>:
+ 80000604: 0ff0000f fence
+ 80000608: 00100193 li gp,1
+ 8000060c: 00000073 ecall
+ 80000610: c0001073 unimp
+ 80000614: 0000 unimp
+ 80000616: 0000 unimp
+ 80000618: 0000 unimp
+ 8000061a: 0000 unimp
+ 8000061c: 0000 unimp
+ 8000061e: 0000 unimp
+ 80000620: 0000 unimp
+ 80000622: 0000 unimp
+ 80000624: 0000 unimp
+ 80000626: 0000 unimp
+ 80000628: 0000 unimp
+ 8000062a: 0000 unimp
+ 8000062c: 0000 unimp
+ 8000062e: 0000 unimp
+ 80000630: 0000 unimp
+ 80000632: 0000 unimp
+ 80000634: 0000 unimp
+ 80000636: 0000 unimp
+ 80000638: 0000 unimp
+ 8000063a: 0000 unimp
+ 8000063c: 0000 unimp
+ 8000063e: 0000 unimp
+ 80000640: 0000 unimp
+ 80000642: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-mulhu.elf b/test/riscv/tests/rv64um-p-mulhu.elf
new file mode 100755
index 00000000..f2b74120
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-mulhu.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-mulw.dump b/test/riscv/tests/rv64um-p-mulw.dump
new file mode 100644
index 00000000..c9c2d8de
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-mulw.dump
@@ -0,0 +1,399 @@
+
+rv64um-p-mulw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 00000093 li ra,0
+ 80000100: 00000113 li sp,0
+ 80000104: 02208f3b mulw t5,ra,sp
+ 80000108: 00000e93 li t4,0
+ 8000010c: 00200193 li gp,2
+ 80000110: 3ddf1263 bne t5,t4,800004d4 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: 00100093 li ra,1
+ 80000118: 00100113 li sp,1
+ 8000011c: 02208f3b mulw t5,ra,sp
+ 80000120: 00100e93 li t4,1
+ 80000124: 00300193 li gp,3
+ 80000128: 3bdf1663 bne t5,t4,800004d4 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 00300093 li ra,3
+ 80000130: 00700113 li sp,7
+ 80000134: 02208f3b mulw t5,ra,sp
+ 80000138: 01500e93 li t4,21
+ 8000013c: 00400193 li gp,4
+ 80000140: 39df1a63 bne t5,t4,800004d4 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: 00000093 li ra,0
+ 80000148: ffff8137 lui sp,0xffff8
+ 8000014c: 02208f3b mulw t5,ra,sp
+ 80000150: 00000e93 li t4,0
+ 80000154: 00500193 li gp,5
+ 80000158: 37df1e63 bne t5,t4,800004d4 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00000113 li sp,0
+ 80000164: 02208f3b mulw t5,ra,sp
+ 80000168: 00000e93 li t4,0
+ 8000016c: 00600193 li gp,6
+ 80000170: 37df1263 bne t5,t4,800004d4 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: ffff8137 lui sp,0xffff8
+ 8000017c: 02208f3b mulw t5,ra,sp
+ 80000180: 00000e93 li t4,0
+ 80000184: 00700193 li gp,7
+ 80000188: 35df1663 bne t5,t4,800004d4 <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 00d00093 li ra,13
+ 80000190: 00b00113 li sp,11
+ 80000194: 022080bb mulw ra,ra,sp
+ 80000198: 08f00e93 li t4,143
+ 8000019c: 00800193 li gp,8
+ 800001a0: 33d09a63 bne ra,t4,800004d4 <fail>
+
+00000000800001a4 <test_9>:
+ 800001a4: 00e00093 li ra,14
+ 800001a8: 00b00113 li sp,11
+ 800001ac: 0220813b mulw sp,ra,sp
+ 800001b0: 09a00e93 li t4,154
+ 800001b4: 00900193 li gp,9
+ 800001b8: 31d11e63 bne sp,t4,800004d4 <fail>
+
+00000000800001bc <test_10>:
+ 800001bc: 00d00093 li ra,13
+ 800001c0: 021080bb mulw ra,ra,ra
+ 800001c4: 0a900e93 li t4,169
+ 800001c8: 00a00193 li gp,10
+ 800001cc: 31d09463 bne ra,t4,800004d4 <fail>
+
+00000000800001d0 <test_11>:
+ 800001d0: 00000213 li tp,0
+ 800001d4: 00d00093 li ra,13
+ 800001d8: 00b00113 li sp,11
+ 800001dc: 02208f3b mulw t5,ra,sp
+ 800001e0: 000f0313 mv t1,t5
+ 800001e4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800001e8: 00200293 li t0,2
+ 800001ec: fe5214e3 bne tp,t0,800001d4 <test_11+0x4>
+ 800001f0: 08f00e93 li t4,143
+ 800001f4: 00b00193 li gp,11
+ 800001f8: 2dd31e63 bne t1,t4,800004d4 <fail>
+
+00000000800001fc <test_12>:
+ 800001fc: 00000213 li tp,0
+ 80000200: 00e00093 li ra,14
+ 80000204: 00b00113 li sp,11
+ 80000208: 02208f3b mulw t5,ra,sp
+ 8000020c: 00000013 nop
+ 80000210: 000f0313 mv t1,t5
+ 80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000218: 00200293 li t0,2
+ 8000021c: fe5212e3 bne tp,t0,80000200 <test_12+0x4>
+ 80000220: 09a00e93 li t4,154
+ 80000224: 00c00193 li gp,12
+ 80000228: 2bd31663 bne t1,t4,800004d4 <fail>
+
+000000008000022c <test_13>:
+ 8000022c: 00000213 li tp,0
+ 80000230: 00f00093 li ra,15
+ 80000234: 00b00113 li sp,11
+ 80000238: 02208f3b mulw t5,ra,sp
+ 8000023c: 00000013 nop
+ 80000240: 00000013 nop
+ 80000244: 000f0313 mv t1,t5
+ 80000248: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000024c: 00200293 li t0,2
+ 80000250: fe5210e3 bne tp,t0,80000230 <test_13+0x4>
+ 80000254: 0a500e93 li t4,165
+ 80000258: 00d00193 li gp,13
+ 8000025c: 27d31c63 bne t1,t4,800004d4 <fail>
+
+0000000080000260 <test_14>:
+ 80000260: 00000213 li tp,0
+ 80000264: 00d00093 li ra,13
+ 80000268: 00b00113 li sp,11
+ 8000026c: 02208f3b mulw t5,ra,sp
+ 80000270: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000274: 00200293 li t0,2
+ 80000278: fe5216e3 bne tp,t0,80000264 <test_14+0x4>
+ 8000027c: 08f00e93 li t4,143
+ 80000280: 00e00193 li gp,14
+ 80000284: 25df1863 bne t5,t4,800004d4 <fail>
+
+0000000080000288 <test_15>:
+ 80000288: 00000213 li tp,0
+ 8000028c: 00e00093 li ra,14
+ 80000290: 00b00113 li sp,11
+ 80000294: 00000013 nop
+ 80000298: 02208f3b mulw t5,ra,sp
+ 8000029c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002a0: 00200293 li t0,2
+ 800002a4: fe5214e3 bne tp,t0,8000028c <test_15+0x4>
+ 800002a8: 09a00e93 li t4,154
+ 800002ac: 00f00193 li gp,15
+ 800002b0: 23df1263 bne t5,t4,800004d4 <fail>
+
+00000000800002b4 <test_16>:
+ 800002b4: 00000213 li tp,0
+ 800002b8: 00f00093 li ra,15
+ 800002bc: 00b00113 li sp,11
+ 800002c0: 00000013 nop
+ 800002c4: 00000013 nop
+ 800002c8: 02208f3b mulw t5,ra,sp
+ 800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002d0: 00200293 li t0,2
+ 800002d4: fe5212e3 bne tp,t0,800002b8 <test_16+0x4>
+ 800002d8: 0a500e93 li t4,165
+ 800002dc: 01000193 li gp,16
+ 800002e0: 1fdf1a63 bne t5,t4,800004d4 <fail>
+
+00000000800002e4 <test_17>:
+ 800002e4: 00000213 li tp,0
+ 800002e8: 00d00093 li ra,13
+ 800002ec: 00000013 nop
+ 800002f0: 00b00113 li sp,11
+ 800002f4: 02208f3b mulw t5,ra,sp
+ 800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800002fc: 00200293 li t0,2
+ 80000300: fe5214e3 bne tp,t0,800002e8 <test_17+0x4>
+ 80000304: 08f00e93 li t4,143
+ 80000308: 01100193 li gp,17
+ 8000030c: 1ddf1463 bne t5,t4,800004d4 <fail>
+
+0000000080000310 <test_18>:
+ 80000310: 00000213 li tp,0
+ 80000314: 00e00093 li ra,14
+ 80000318: 00000013 nop
+ 8000031c: 00b00113 li sp,11
+ 80000320: 00000013 nop
+ 80000324: 02208f3b mulw t5,ra,sp
+ 80000328: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000032c: 00200293 li t0,2
+ 80000330: fe5212e3 bne tp,t0,80000314 <test_18+0x4>
+ 80000334: 09a00e93 li t4,154
+ 80000338: 01200193 li gp,18
+ 8000033c: 19df1c63 bne t5,t4,800004d4 <fail>
+
+0000000080000340 <test_19>:
+ 80000340: 00000213 li tp,0
+ 80000344: 00f00093 li ra,15
+ 80000348: 00000013 nop
+ 8000034c: 00000013 nop
+ 80000350: 00b00113 li sp,11
+ 80000354: 02208f3b mulw t5,ra,sp
+ 80000358: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000035c: 00200293 li t0,2
+ 80000360: fe5212e3 bne tp,t0,80000344 <test_19+0x4>
+ 80000364: 0a500e93 li t4,165
+ 80000368: 01300193 li gp,19
+ 8000036c: 17df1463 bne t5,t4,800004d4 <fail>
+
+0000000080000370 <test_20>:
+ 80000370: 00000213 li tp,0
+ 80000374: 00b00113 li sp,11
+ 80000378: 00d00093 li ra,13
+ 8000037c: 02208f3b mulw t5,ra,sp
+ 80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 80000384: 00200293 li t0,2
+ 80000388: fe5216e3 bne tp,t0,80000374 <test_20+0x4>
+ 8000038c: 08f00e93 li t4,143
+ 80000390: 01400193 li gp,20
+ 80000394: 15df1063 bne t5,t4,800004d4 <fail>
+
+0000000080000398 <test_21>:
+ 80000398: 00000213 li tp,0
+ 8000039c: 00b00113 li sp,11
+ 800003a0: 00e00093 li ra,14
+ 800003a4: 00000013 nop
+ 800003a8: 02208f3b mulw t5,ra,sp
+ 800003ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003b0: 00200293 li t0,2
+ 800003b4: fe5214e3 bne tp,t0,8000039c <test_21+0x4>
+ 800003b8: 09a00e93 li t4,154
+ 800003bc: 01500193 li gp,21
+ 800003c0: 11df1a63 bne t5,t4,800004d4 <fail>
+
+00000000800003c4 <test_22>:
+ 800003c4: 00000213 li tp,0
+ 800003c8: 00b00113 li sp,11
+ 800003cc: 00f00093 li ra,15
+ 800003d0: 00000013 nop
+ 800003d4: 00000013 nop
+ 800003d8: 02208f3b mulw t5,ra,sp
+ 800003dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 800003e0: 00200293 li t0,2
+ 800003e4: fe5212e3 bne tp,t0,800003c8 <test_22+0x4>
+ 800003e8: 0a500e93 li t4,165
+ 800003ec: 01600193 li gp,22
+ 800003f0: 0fdf1263 bne t5,t4,800004d4 <fail>
+
+00000000800003f4 <test_23>:
+ 800003f4: 00000213 li tp,0
+ 800003f8: 00b00113 li sp,11
+ 800003fc: 00000013 nop
+ 80000400: 00d00093 li ra,13
+ 80000404: 02208f3b mulw t5,ra,sp
+ 80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000040c: 00200293 li t0,2
+ 80000410: fe5214e3 bne tp,t0,800003f8 <test_23+0x4>
+ 80000414: 08f00e93 li t4,143
+ 80000418: 01700193 li gp,23
+ 8000041c: 0bdf1c63 bne t5,t4,800004d4 <fail>
+
+0000000080000420 <test_24>:
+ 80000420: 00000213 li tp,0
+ 80000424: 00b00113 li sp,11
+ 80000428: 00000013 nop
+ 8000042c: 00e00093 li ra,14
+ 80000430: 00000013 nop
+ 80000434: 02208f3b mulw t5,ra,sp
+ 80000438: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000043c: 00200293 li t0,2
+ 80000440: fe5212e3 bne tp,t0,80000424 <test_24+0x4>
+ 80000444: 09a00e93 li t4,154
+ 80000448: 01800193 li gp,24
+ 8000044c: 09df1463 bne t5,t4,800004d4 <fail>
+
+0000000080000450 <test_25>:
+ 80000450: 00000213 li tp,0
+ 80000454: 00b00113 li sp,11
+ 80000458: 00000013 nop
+ 8000045c: 00000013 nop
+ 80000460: 00f00093 li ra,15
+ 80000464: 02208f3b mulw t5,ra,sp
+ 80000468: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff>
+ 8000046c: 00200293 li t0,2
+ 80000470: fe5212e3 bne tp,t0,80000454 <test_25+0x4>
+ 80000474: 0a500e93 li t4,165
+ 80000478: 01900193 li gp,25
+ 8000047c: 05df1c63 bne t5,t4,800004d4 <fail>
+
+0000000080000480 <test_26>:
+ 80000480: 01f00093 li ra,31
+ 80000484: 0210013b mulw sp,zero,ra
+ 80000488: 00000e93 li t4,0
+ 8000048c: 01a00193 li gp,26
+ 80000490: 05d11263 bne sp,t4,800004d4 <fail>
+
+0000000080000494 <test_27>:
+ 80000494: 02000093 li ra,32
+ 80000498: 0200813b mulw sp,ra,zero
+ 8000049c: 00000e93 li t4,0
+ 800004a0: 01b00193 li gp,27
+ 800004a4: 03d11863 bne sp,t4,800004d4 <fail>
+
+00000000800004a8 <test_28>:
+ 800004a8: 020000bb mulw ra,zero,zero
+ 800004ac: 00000e93 li t4,0
+ 800004b0: 01c00193 li gp,28
+ 800004b4: 03d09063 bne ra,t4,800004d4 <fail>
+
+00000000800004b8 <test_29>:
+ 800004b8: 02100093 li ra,33
+ 800004bc: 02200113 li sp,34
+ 800004c0: 0220803b mulw zero,ra,sp
+ 800004c4: 00000e93 li t4,0
+ 800004c8: 01d00193 li gp,29
+ 800004cc: 01d01463 bne zero,t4,800004d4 <fail>
+ 800004d0: 00301c63 bne zero,gp,800004e8 <pass>
+
+00000000800004d4 <fail>:
+ 800004d4: 0ff0000f fence
+ 800004d8: 00018063 beqz gp,800004d8 <fail+0x4>
+ 800004dc: 00119193 slli gp,gp,0x1
+ 800004e0: 0011e193 ori gp,gp,1
+ 800004e4: 00000073 ecall
+
+00000000800004e8 <pass>:
+ 800004e8: 0ff0000f fence
+ 800004ec: 00100193 li gp,1
+ 800004f0: 00000073 ecall
+ 800004f4: c0001073 unimp
+ 800004f8: 0000 unimp
+ 800004fa: 0000 unimp
+ 800004fc: 0000 unimp
+ 800004fe: 0000 unimp
+ 80000500: 0000 unimp
+ 80000502: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-mulw.elf b/test/riscv/tests/rv64um-p-mulw.elf
new file mode 100755
index 00000000..7b1242fd
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-mulw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-rem.dump b/test/riscv/tests/rv64um-p-rem.dump
new file mode 100644
index 00000000..a3676862
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-rem.dump
@@ -0,0 +1,196 @@
+
+rv64um-p-rem: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 01400093 li ra,20
+ 80000100: 00600113 li sp,6
+ 80000104: 0220ef33 rem t5,ra,sp
+ 80000108: 00200e93 li t4,2
+ 8000010c: 00200193 li gp,2
+ 80000110: 0ddf1c63 bne t5,t4,800001e8 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: fec00093 li ra,-20
+ 80000118: 00600113 li sp,6
+ 8000011c: 0220ef33 rem t5,ra,sp
+ 80000120: ffe00e93 li t4,-2
+ 80000124: 00300193 li gp,3
+ 80000128: 0ddf1063 bne t5,t4,800001e8 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 01400093 li ra,20
+ 80000130: ffa00113 li sp,-6
+ 80000134: 0220ef33 rem t5,ra,sp
+ 80000138: 00200e93 li t4,2
+ 8000013c: 00400193 li gp,4
+ 80000140: 0bdf1463 bne t5,t4,800001e8 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: fec00093 li ra,-20
+ 80000148: ffa00113 li sp,-6
+ 8000014c: 0220ef33 rem t5,ra,sp
+ 80000150: ffe00e93 li t4,-2
+ 80000154: 00500193 li gp,5
+ 80000158: 09df1863 bne t5,t4,800001e8 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: fff0009b addiw ra,zero,-1
+ 80000160: 03f09093 slli ra,ra,0x3f
+ 80000164: 00100113 li sp,1
+ 80000168: 0220ef33 rem t5,ra,sp
+ 8000016c: 00000e93 li t4,0
+ 80000170: 00600193 li gp,6
+ 80000174: 07df1a63 bne t5,t4,800001e8 <fail>
+
+0000000080000178 <test_7>:
+ 80000178: fff0009b addiw ra,zero,-1
+ 8000017c: 03f09093 slli ra,ra,0x3f
+ 80000180: fff00113 li sp,-1
+ 80000184: 0220ef33 rem t5,ra,sp
+ 80000188: 00000e93 li t4,0
+ 8000018c: 00700193 li gp,7
+ 80000190: 05df1c63 bne t5,t4,800001e8 <fail>
+
+0000000080000194 <test_8>:
+ 80000194: fff0009b addiw ra,zero,-1
+ 80000198: 03f09093 slli ra,ra,0x3f
+ 8000019c: 00000113 li sp,0
+ 800001a0: 0220ef33 rem t5,ra,sp
+ 800001a4: fff00e9b addiw t4,zero,-1
+ 800001a8: 03fe9e93 slli t4,t4,0x3f
+ 800001ac: 00800193 li gp,8
+ 800001b0: 03df1c63 bne t5,t4,800001e8 <fail>
+
+00000000800001b4 <test_9>:
+ 800001b4: 00100093 li ra,1
+ 800001b8: 00000113 li sp,0
+ 800001bc: 0220ef33 rem t5,ra,sp
+ 800001c0: 00100e93 li t4,1
+ 800001c4: 00900193 li gp,9
+ 800001c8: 03df1063 bne t5,t4,800001e8 <fail>
+
+00000000800001cc <test_10>:
+ 800001cc: 00000093 li ra,0
+ 800001d0: 00000113 li sp,0
+ 800001d4: 0220ef33 rem t5,ra,sp
+ 800001d8: 00000e93 li t4,0
+ 800001dc: 00a00193 li gp,10
+ 800001e0: 01df1463 bne t5,t4,800001e8 <fail>
+ 800001e4: 00301c63 bne zero,gp,800001fc <pass>
+
+00000000800001e8 <fail>:
+ 800001e8: 0ff0000f fence
+ 800001ec: 00018063 beqz gp,800001ec <fail+0x4>
+ 800001f0: 00119193 slli gp,gp,0x1
+ 800001f4: 0011e193 ori gp,gp,1
+ 800001f8: 00000073 ecall
+
+00000000800001fc <pass>:
+ 800001fc: 0ff0000f fence
+ 80000200: 00100193 li gp,1
+ 80000204: 00000073 ecall
+ 80000208: c0001073 unimp
+ 8000020c: 0000 unimp
+ 8000020e: 0000 unimp
+ 80000210: 0000 unimp
+ 80000212: 0000 unimp
+ 80000214: 0000 unimp
+ 80000216: 0000 unimp
+ 80000218: 0000 unimp
+ 8000021a: 0000 unimp
+ 8000021c: 0000 unimp
+ 8000021e: 0000 unimp
+ 80000220: 0000 unimp
+ 80000222: 0000 unimp
+ 80000224: 0000 unimp
+ 80000226: 0000 unimp
+ 80000228: 0000 unimp
+ 8000022a: 0000 unimp
+ 8000022c: 0000 unimp
+ 8000022e: 0000 unimp
+ 80000230: 0000 unimp
+ 80000232: 0000 unimp
+ 80000234: 0000 unimp
+ 80000236: 0000 unimp
+ 80000238: 0000 unimp
+ 8000023a: 0000 unimp
+ 8000023c: 0000 unimp
+ 8000023e: 0000 unimp
+ 80000240: 0000 unimp
+ 80000242: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-rem.elf b/test/riscv/tests/rv64um-p-rem.elf
new file mode 100755
index 00000000..55cc62b8
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-rem.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-remu.dump b/test/riscv/tests/rv64um-p-remu.dump
new file mode 100644
index 00000000..f33af39a
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-remu.dump
@@ -0,0 +1,195 @@
+
+rv64um-p-remu: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 01400093 li ra,20
+ 80000100: 00600113 li sp,6
+ 80000104: 0220ff33 remu t5,ra,sp
+ 80000108: 00200e93 li t4,2
+ 8000010c: 00200193 li gp,2
+ 80000110: 0ddf1e63 bne t5,t4,800001ec <fail>
+
+0000000080000114 <test_3>:
+ 80000114: fec00093 li ra,-20
+ 80000118: 00600113 li sp,6
+ 8000011c: 0220ff33 remu t5,ra,sp
+ 80000120: 00200e93 li t4,2
+ 80000124: 00300193 li gp,3
+ 80000128: 0ddf1263 bne t5,t4,800001ec <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 01400093 li ra,20
+ 80000130: ffa00113 li sp,-6
+ 80000134: 0220ff33 remu t5,ra,sp
+ 80000138: 01400e93 li t4,20
+ 8000013c: 00400193 li gp,4
+ 80000140: 0bdf1663 bne t5,t4,800001ec <fail>
+
+0000000080000144 <test_5>:
+ 80000144: fec00093 li ra,-20
+ 80000148: ffa00113 li sp,-6
+ 8000014c: 0220ff33 remu t5,ra,sp
+ 80000150: fec00e93 li t4,-20
+ 80000154: 00500193 li gp,5
+ 80000158: 09df1a63 bne t5,t4,800001ec <fail>
+
+000000008000015c <test_6>:
+ 8000015c: fff0009b addiw ra,zero,-1
+ 80000160: 03f09093 slli ra,ra,0x3f
+ 80000164: 00100113 li sp,1
+ 80000168: 0220ff33 remu t5,ra,sp
+ 8000016c: 00000e93 li t4,0
+ 80000170: 00600193 li gp,6
+ 80000174: 07df1c63 bne t5,t4,800001ec <fail>
+
+0000000080000178 <test_7>:
+ 80000178: fff0009b addiw ra,zero,-1
+ 8000017c: 03f09093 slli ra,ra,0x3f
+ 80000180: fff00113 li sp,-1
+ 80000184: 0220ff33 remu t5,ra,sp
+ 80000188: fff00e9b addiw t4,zero,-1
+ 8000018c: 03fe9e93 slli t4,t4,0x3f
+ 80000190: 00700193 li gp,7
+ 80000194: 05df1c63 bne t5,t4,800001ec <fail>
+
+0000000080000198 <test_8>:
+ 80000198: fff0009b addiw ra,zero,-1
+ 8000019c: 03f09093 slli ra,ra,0x3f
+ 800001a0: 00000113 li sp,0
+ 800001a4: 0220ff33 remu t5,ra,sp
+ 800001a8: fff00e9b addiw t4,zero,-1
+ 800001ac: 03fe9e93 slli t4,t4,0x3f
+ 800001b0: 00800193 li gp,8
+ 800001b4: 03df1c63 bne t5,t4,800001ec <fail>
+
+00000000800001b8 <test_9>:
+ 800001b8: 00100093 li ra,1
+ 800001bc: 00000113 li sp,0
+ 800001c0: 0220ff33 remu t5,ra,sp
+ 800001c4: 00100e93 li t4,1
+ 800001c8: 00900193 li gp,9
+ 800001cc: 03df1063 bne t5,t4,800001ec <fail>
+
+00000000800001d0 <test_10>:
+ 800001d0: 00000093 li ra,0
+ 800001d4: 00000113 li sp,0
+ 800001d8: 0220ff33 remu t5,ra,sp
+ 800001dc: 00000e93 li t4,0
+ 800001e0: 00a00193 li gp,10
+ 800001e4: 01df1463 bne t5,t4,800001ec <fail>
+ 800001e8: 00301c63 bne zero,gp,80000200 <pass>
+
+00000000800001ec <fail>:
+ 800001ec: 0ff0000f fence
+ 800001f0: 00018063 beqz gp,800001f0 <fail+0x4>
+ 800001f4: 00119193 slli gp,gp,0x1
+ 800001f8: 0011e193 ori gp,gp,1
+ 800001fc: 00000073 ecall
+
+0000000080000200 <pass>:
+ 80000200: 0ff0000f fence
+ 80000204: 00100193 li gp,1
+ 80000208: 00000073 ecall
+ 8000020c: c0001073 unimp
+ 80000210: 0000 unimp
+ 80000212: 0000 unimp
+ 80000214: 0000 unimp
+ 80000216: 0000 unimp
+ 80000218: 0000 unimp
+ 8000021a: 0000 unimp
+ 8000021c: 0000 unimp
+ 8000021e: 0000 unimp
+ 80000220: 0000 unimp
+ 80000222: 0000 unimp
+ 80000224: 0000 unimp
+ 80000226: 0000 unimp
+ 80000228: 0000 unimp
+ 8000022a: 0000 unimp
+ 8000022c: 0000 unimp
+ 8000022e: 0000 unimp
+ 80000230: 0000 unimp
+ 80000232: 0000 unimp
+ 80000234: 0000 unimp
+ 80000236: 0000 unimp
+ 80000238: 0000 unimp
+ 8000023a: 0000 unimp
+ 8000023c: 0000 unimp
+ 8000023e: 0000 unimp
+ 80000240: 0000 unimp
+ 80000242: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-remu.elf b/test/riscv/tests/rv64um-p-remu.elf
new file mode 100755
index 00000000..ba6c64ac
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-remu.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-remuw.dump b/test/riscv/tests/rv64um-p-remuw.dump
new file mode 100644
index 00000000..43ddd98a
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-remuw.dump
@@ -0,0 +1,168 @@
+
+rv64um-p-remuw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 01400093 li ra,20
+ 80000100: 00600113 li sp,6
+ 80000104: 0220ff3b remuw t5,ra,sp
+ 80000108: 00200e93 li t4,2
+ 8000010c: 00200193 li gp,2
+ 80000110: 0ddf1463 bne t5,t4,800001d8 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: fec00093 li ra,-20
+ 80000118: 00600113 li sp,6
+ 8000011c: 0220ff3b remuw t5,ra,sp
+ 80000120: 00200e93 li t4,2
+ 80000124: 00300193 li gp,3
+ 80000128: 0bdf1863 bne t5,t4,800001d8 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 01400093 li ra,20
+ 80000130: ffa00113 li sp,-6
+ 80000134: 0220ff3b remuw t5,ra,sp
+ 80000138: 01400e93 li t4,20
+ 8000013c: 00400193 li gp,4
+ 80000140: 09df1c63 bne t5,t4,800001d8 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: fec00093 li ra,-20
+ 80000148: ffa00113 li sp,-6
+ 8000014c: 0220ff3b remuw t5,ra,sp
+ 80000150: fec00e93 li t4,-20
+ 80000154: 00500193 li gp,5
+ 80000158: 09df1063 bne t5,t4,800001d8 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00100113 li sp,1
+ 80000164: 0220ff3b remuw t5,ra,sp
+ 80000168: 00000e93 li t4,0
+ 8000016c: 00600193 li gp,6
+ 80000170: 07df1463 bne t5,t4,800001d8 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: fff00113 li sp,-1
+ 8000017c: 0220ff3b remuw t5,ra,sp
+ 80000180: 80000eb7 lui t4,0x80000
+ 80000184: 00700193 li gp,7
+ 80000188: 05df1863 bne t5,t4,800001d8 <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 800000b7 lui ra,0x80000
+ 80000190: 00000113 li sp,0
+ 80000194: 0220ff3b remuw t5,ra,sp
+ 80000198: 80000eb7 lui t4,0x80000
+ 8000019c: 00800193 li gp,8
+ 800001a0: 03df1c63 bne t5,t4,800001d8 <fail>
+
+00000000800001a4 <test_9>:
+ 800001a4: 00100093 li ra,1
+ 800001a8: 00000113 li sp,0
+ 800001ac: 0220ff3b remuw t5,ra,sp
+ 800001b0: 00100e93 li t4,1
+ 800001b4: 00900193 li gp,9
+ 800001b8: 03df1063 bne t5,t4,800001d8 <fail>
+
+00000000800001bc <test_10>:
+ 800001bc: 00000093 li ra,0
+ 800001c0: 00000113 li sp,0
+ 800001c4: 0220ff3b remuw t5,ra,sp
+ 800001c8: 00000e93 li t4,0
+ 800001cc: 00a00193 li gp,10
+ 800001d0: 01df1463 bne t5,t4,800001d8 <fail>
+ 800001d4: 00301c63 bne zero,gp,800001ec <pass>
+
+00000000800001d8 <fail>:
+ 800001d8: 0ff0000f fence
+ 800001dc: 00018063 beqz gp,800001dc <fail+0x4>
+ 800001e0: 00119193 slli gp,gp,0x1
+ 800001e4: 0011e193 ori gp,gp,1
+ 800001e8: 00000073 ecall
+
+00000000800001ec <pass>:
+ 800001ec: 0ff0000f fence
+ 800001f0: 00100193 li gp,1
+ 800001f4: 00000073 ecall
+ 800001f8: c0001073 unimp
+ 800001fc: 0000 unimp
+ 800001fe: 0000 unimp
+ 80000200: 0000 unimp
+ 80000202: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-remuw.elf b/test/riscv/tests/rv64um-p-remuw.elf
new file mode 100755
index 00000000..86cf837c
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-remuw.elf
Binary files differ
diff --git a/test/riscv/tests/rv64um-p-remw.dump b/test/riscv/tests/rv64um-p-remw.dump
new file mode 100644
index 00000000..48fcac9f
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-remw.dump
@@ -0,0 +1,196 @@
+
+rv64um-p-remw: file format elf64-littleriscv
+
+
+Disassembly of section .text.init:
+
+0000000080000000 <_start>:
+ 80000000: 04c0006f j 8000004c <reset_vector>
+
+0000000080000004 <trap_vector>:
+ 80000004: 34202f73 csrr t5,mcause
+ 80000008: 00800f93 li t6,8
+ 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost>
+ 80000010: 00900f93 li t6,9
+ 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost>
+ 80000018: 00b00f93 li t6,11
+ 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost>
+ 80000020: 80000f17 auipc t5,0x80000
+ 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000>
+ 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c>
+ 8000002c: 000f0067 jr t5
+ 80000030: 34202f73 csrr t5,mcause
+ 80000034: 000f5463 bgez t5,8000003c <handle_exception>
+ 80000038: 0040006f j 8000003c <handle_exception>
+
+000000008000003c <handle_exception>:
+ 8000003c: 5391e193 ori gp,gp,1337
+
+0000000080000040 <write_tohost>:
+ 80000040: 00001f17 auipc t5,0x1
+ 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost>
+ 80000048: ff9ff06f j 80000040 <write_tohost>
+
+000000008000004c <reset_vector>:
+ 8000004c: f1402573 csrr a0,mhartid
+ 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4>
+ 80000054: 00000297 auipc t0,0x0
+ 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18>
+ 8000005c: 30529073 csrw mtvec,t0
+ 80000060: 18005073 csrwi satp,0
+ 80000064: 00000297 auipc t0,0x0
+ 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34>
+ 8000006c: 30529073 csrw mtvec,t0
+ 80000070: fff00293 li t0,-1
+ 80000074: 3b029073 csrw pmpaddr0,t0
+ 80000078: 01f00293 li t0,31
+ 8000007c: 3a029073 csrw pmpcfg0,t0
+ 80000080: 00000297 auipc t0,0x0
+ 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c>
+ 80000088: 30529073 csrw mtvec,t0
+ 8000008c: 30205073 csrwi medeleg,0
+ 80000090: 30305073 csrwi mideleg,0
+ 80000094: 30405073 csrwi mie,0
+ 80000098: 00000193 li gp,0
+ 8000009c: 00000297 auipc t0,0x0
+ 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector>
+ 800000a4: 30529073 csrw mtvec,t0
+ 800000a8: 00100513 li a0,1
+ 800000ac: 01f51513 slli a0,a0,0x1f
+ 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74>
+ 800000b4: 0ff0000f fence
+ 800000b8: 00100193 li gp,1
+ 800000bc: 00000073 ecall
+ 800000c0: 80000297 auipc t0,0x80000
+ 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000>
+ 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98>
+ 800000cc: 10529073 csrw stvec,t0
+ 800000d0: 0000b2b7 lui t0,0xb
+ 800000d4: 1092829b addiw t0,t0,265
+ 800000d8: 30229073 csrw medeleg,t0
+ 800000dc: 30202373 csrr t1,medeleg
+ 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception>
+ 800000e4: 30005073 csrwi mstatus,0
+ 800000e8: 00000297 auipc t0,0x0
+ 800000ec: 01428293 addi t0,t0,20 # 800000fc <test_2>
+ 800000f0: 34129073 csrw mepc,t0
+ 800000f4: f1402573 csrr a0,mhartid
+ 800000f8: 30200073 mret
+
+00000000800000fc <test_2>:
+ 800000fc: 01400093 li ra,20
+ 80000100: 00600113 li sp,6
+ 80000104: 0220ef3b remw t5,ra,sp
+ 80000108: 00200e93 li t4,2
+ 8000010c: 00200193 li gp,2
+ 80000110: 0fdf1063 bne t5,t4,800001f0 <fail>
+
+0000000080000114 <test_3>:
+ 80000114: fec00093 li ra,-20
+ 80000118: 00600113 li sp,6
+ 8000011c: 0220ef3b remw t5,ra,sp
+ 80000120: ffe00e93 li t4,-2
+ 80000124: 00300193 li gp,3
+ 80000128: 0ddf1463 bne t5,t4,800001f0 <fail>
+
+000000008000012c <test_4>:
+ 8000012c: 01400093 li ra,20
+ 80000130: ffa00113 li sp,-6
+ 80000134: 0220ef3b remw t5,ra,sp
+ 80000138: 00200e93 li t4,2
+ 8000013c: 00400193 li gp,4
+ 80000140: 0bdf1863 bne t5,t4,800001f0 <fail>
+
+0000000080000144 <test_5>:
+ 80000144: fec00093 li ra,-20
+ 80000148: ffa00113 li sp,-6
+ 8000014c: 0220ef3b remw t5,ra,sp
+ 80000150: ffe00e93 li t4,-2
+ 80000154: 00500193 li gp,5
+ 80000158: 09df1c63 bne t5,t4,800001f0 <fail>
+
+000000008000015c <test_6>:
+ 8000015c: 800000b7 lui ra,0x80000
+ 80000160: 00100113 li sp,1
+ 80000164: 0220ef3b remw t5,ra,sp
+ 80000168: 00000e93 li t4,0
+ 8000016c: 00600193 li gp,6
+ 80000170: 09df1063 bne t5,t4,800001f0 <fail>
+
+0000000080000174 <test_7>:
+ 80000174: 800000b7 lui ra,0x80000
+ 80000178: fff00113 li sp,-1
+ 8000017c: 0220ef3b remw t5,ra,sp
+ 80000180: 00000e93 li t4,0
+ 80000184: 00700193 li gp,7
+ 80000188: 07df1463 bne t5,t4,800001f0 <fail>
+
+000000008000018c <test_8>:
+ 8000018c: 800000b7 lui ra,0x80000
+ 80000190: 00000113 li sp,0
+ 80000194: 0220ef3b remw t5,ra,sp
+ 80000198: 80000eb7 lui t4,0x80000
+ 8000019c: 00800193 li gp,8
+ 800001a0: 05df1863 bne t5,t4,800001f0 <fail>
+
+00000000800001a4 <test_9>:
+ 800001a4: 00100093 li ra,1
+ 800001a8: 00000113 li sp,0
+ 800001ac: 0220ef3b remw t5,ra,sp
+ 800001b0: 00100e93 li t4,1
+ 800001b4: 00900193 li gp,9
+ 800001b8: 03df1c63 bne t5,t4,800001f0 <fail>
+
+00000000800001bc <test_10>:
+ 800001bc: 00000093 li ra,0
+ 800001c0: 00000113 li sp,0
+ 800001c4: 0220ef3b remw t5,ra,sp
+ 800001c8: 00000e93 li t4,0
+ 800001cc: 00a00193 li gp,10
+ 800001d0: 03df1063 bne t5,t4,800001f0 <fail>
+
+00000000800001d4 <test_11>:
+ 800001d4: 89700093 li ra,-1897
+ 800001d8: 00000113 li sp,0
+ 800001dc: 0220ef3b remw t5,ra,sp
+ 800001e0: 89700e93 li t4,-1897
+ 800001e4: 00b00193 li gp,11
+ 800001e8: 01df1463 bne t5,t4,800001f0 <fail>
+ 800001ec: 00301c63 bne zero,gp,80000204 <pass>
+
+00000000800001f0 <fail>:
+ 800001f0: 0ff0000f fence
+ 800001f4: 00018063 beqz gp,800001f4 <fail+0x4>
+ 800001f8: 00119193 slli gp,gp,0x1
+ 800001fc: 0011e193 ori gp,gp,1
+ 80000200: 00000073 ecall
+
+0000000080000204 <pass>:
+ 80000204: 0ff0000f fence
+ 80000208: 00100193 li gp,1
+ 8000020c: 00000073 ecall
+ 80000210: c0001073 unimp
+ 80000214: 0000 unimp
+ 80000216: 0000 unimp
+ 80000218: 0000 unimp
+ 8000021a: 0000 unimp
+ 8000021c: 0000 unimp
+ 8000021e: 0000 unimp
+ 80000220: 0000 unimp
+ 80000222: 0000 unimp
+ 80000224: 0000 unimp
+ 80000226: 0000 unimp
+ 80000228: 0000 unimp
+ 8000022a: 0000 unimp
+ 8000022c: 0000 unimp
+ 8000022e: 0000 unimp
+ 80000230: 0000 unimp
+ 80000232: 0000 unimp
+ 80000234: 0000 unimp
+ 80000236: 0000 unimp
+ 80000238: 0000 unimp
+ 8000023a: 0000 unimp
+ 8000023c: 0000 unimp
+ 8000023e: 0000 unimp
+ 80000240: 0000 unimp
+ 80000242: 0000 unimp
diff --git a/test/riscv/tests/rv64um-p-remw.elf b/test/riscv/tests/rv64um-p-remw.elf
new file mode 100755
index 00000000..4ef57f28
--- /dev/null
+++ b/test/riscv/tests/rv64um-p-remw.elf
Binary files differ